From ecca9ab70a9a87bcb60977c92fbf81053b8fc1bb Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 04 九月 2024 09:17:55 +0800
Subject: [PATCH] 新增优化

---
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/HomePageController.java |   91 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 79 insertions(+), 12 deletions(-)

diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/HomePageController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/HomePageController.java
index 1b8392e..b4d9189 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/HomePageController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/HomePageController.java
@@ -1,14 +1,18 @@
 package com.ruoyi.admin.controller;
 
-import com.ruoyi.admin.request.OrderCountRequest;
 import com.ruoyi.admin.request.UserDataCountRequest;
 import com.ruoyi.admin.service.MasterWorkerService;
-import com.ruoyi.admin.service.OrderService;
 import com.ruoyi.admin.service.UserService;
 import com.ruoyi.admin.vo.MasterWorkerRankVO;
-import com.ruoyi.admin.vo.OrderResultVO;
+import com.ruoyi.admin.vo.UserDataCountVO;
 import com.ruoyi.admin.vo.UserTrendsVO;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.order.api.entity.OrderCountRequest;
+import com.ruoyi.order.api.entity.OrderResultVO;
+import com.ruoyi.order.api.feignClient.OrderClient;
+import com.ruoyi.system.api.model.LoginUser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -34,28 +38,63 @@
     @Resource
     private UserService userService;
     @Resource
-    private OrderService orderService;
+    private OrderClient orderClient;
+    @Resource
+    private TokenService tokenService;
 
     /**
      * 用户数据统计
      *
      * @param userDataCountRequest 请求参数
      */
+    @RequiresPermissions("homepage")
     @ApiOperation(value = "后台-用户数据统计", tags = {"后台-首页"})
     @PostMapping(value = "/userDataCount")
-    public R<Object> userDataCount(@RequestBody UserDataCountRequest userDataCountRequest) {
+    public R<UserDataCountVO> userDataCount(@RequestBody UserDataCountRequest userDataCountRequest) {
+            LoginUser loginUser = tokenService.getLoginUser();
+        if (null == loginUser) {
+            return R.loginExpire("登录失效!");
+        }
+        if (loginUser.getIsFranchisee()||!userDataCountRequest.getCityList().isEmpty()) {
+            if (null == userDataCountRequest.getCityList() || userDataCountRequest.getCityList().isEmpty()) {
+                userDataCountRequest.setCityList(loginUser.getCityList());
+            }
+//            else {
+////                userDataCountRequest.getCityList().addAll(loginUser.getCityList());
+//            }
+            R<List<Integer>> listR = orderClient.queryIdsBycode(userDataCountRequest.getCityList());
+
+            return R.ok(userService.userDataCount1(userDataCountRequest, listR.getData()));
+
+        }
         return R.ok(userService.userDataCount(userDataCountRequest));
     }
 
     /**
      * 用户增量
      *
-     * @param cityIds 城市id
+     * @param cityList 城市列表
      */
+    @RequiresPermissions("homepage")
     @ApiOperation(value = "后台-用户增量", tags = {"后台-首页"})
     @PostMapping(value = "/userTrends")
-    public R<List<UserTrendsVO>> userTrends(@RequestBody List<String> cityIds) {
-        return R.ok(userService.userTrends(cityIds));
+    public R<List<UserTrendsVO>> userTrends(@RequestBody List<String> cityList) {
+        LoginUser loginUser = tokenService.getLoginUser();
+        if (null == loginUser) {
+            return R.loginExpire("登录失效!");
+        }
+        if (loginUser.getIsFranchisee()||!cityList.isEmpty()) {
+            if (null == cityList || cityList.isEmpty()) {
+                cityList = loginUser.getCityList();
+            }
+//            else {
+////                cityList.addAll(loginUser.getCityList());
+//            }
+            R<List<Integer>> listR = orderClient.queryIdsBycode(cityList);
+
+            return R.ok(userService.userTrends1(cityList,listR.getData()));
+        }
+        return R.ok(userService.userTrends(cityList));
     }
 
     /**
@@ -63,21 +102,49 @@
      *
      * @param orderCount 查询所需参数
      */
+    @RequiresPermissions("homepage")
     @ApiOperation(value = "后台-回收订单统计", tags = {"后台-首页"})
     @PostMapping(value = "/orderCountHome")
     public R<OrderResultVO> orderCountHome(@RequestBody OrderCountRequest orderCount) {
-        return R.ok(orderService.orderCountHome(orderCount));
+        LoginUser loginUser = tokenService.getLoginUser();
+        if (null == loginUser) {
+            return R.loginExpire("登录失效!");
+        }
+        if (loginUser.getIsFranchisee()) {
+            if (null == orderCount.getCityList() || orderCount.getCityList().isEmpty()) {
+                orderCount.setCityList(loginUser.getCityList());
+            } else {
+//                orderCount.getCityList().addAll(loginUser.getCityList());
+            }
+        }
+        return orderClient.orderCountHome(orderCount);
     }
 
     /**
      * 师傅接单排行
      *
-     * @param cityIds 城市id集合
+     * @param cityList 城市集合
      */
+    @RequiresPermissions("homepage")
     @ApiOperation(value = "后台-师傅接单排行", tags = {"后台-首页"})
     @PostMapping(value = "/workerRanking")
-    public R<List<MasterWorkerRankVO>> workerRanking(@RequestBody List<String> cityIds) {
-        return R.ok(masterWorkerService.workerRanking(cityIds));
+    public R<List<MasterWorkerRankVO>> workerRanking(@RequestBody List<String> cityList) {
+        LoginUser loginUser = tokenService.getLoginUser();
+        if (null == loginUser) {
+            return R.loginExpire("登录失效!");
+        }
+        if (loginUser.getIsFranchisee()) {
+            if (null == cityList || cityList.isEmpty()) {
+                cityList = loginUser.getCityList();
+            } else {
+//                cityList.addAll(loginUser.getCityList());
+            }
+        }
+        List<MasterWorkerRankVO> masterWorkerRankVOS = masterWorkerService.workerRanking(cityList);
+        if (masterWorkerRankVOS.size()>10){
+            return R.ok(masterWorkerRankVOS.subList(0,10));
+        }
+        return R.ok(masterWorkerService.workerRanking(cityList));
     }
 
 }

--
Gitblit v1.7.1