From 008db77fd439915711b1916efd3c2789fcd96cd2 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期日, 27 四月 2025 16:57:03 +0800
Subject: [PATCH] 大屏接口

---
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/large/AnalysisOrderDataController.java |   62 ++++++++++++++++++++++++++++++
 1 files changed, 61 insertions(+), 1 deletions(-)

diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/large/AnalysisOrderDataController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/large/AnalysisOrderDataController.java
index d3d1d45..533fc99 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/large/AnalysisOrderDataController.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/large/AnalysisOrderDataController.java
@@ -9,12 +9,16 @@
 import cn.hutool.core.io.resource.ClassPathResource;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.admin.entity.MasterWorker;
 import com.ruoyi.admin.large.model.AnalysisOrderData;
 import com.ruoyi.admin.large.model.query.OrderDataQuery;
 import com.ruoyi.admin.large.service.AnalysisOrderDataService;
+import com.ruoyi.admin.service.MasterWorkerService;
 import com.ruoyi.admin.service.SysUserService;
 import com.ruoyi.admin.utils.ImportExcelUtil;
 import com.ruoyi.admin.utils.WebUtils;
+import com.ruoyi.admin.vo.SiteLargeeVO;
+import com.ruoyi.admin.vo.WorkersLargeeVO;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.security.service.TokenService;
@@ -36,6 +40,7 @@
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -53,16 +58,71 @@
     private final TokenService tokenService;
     private final SysUserService sysUserService;
     private final OrderClient orderClient;
+    private final MasterWorkerService masterWorkerService;
 
     @Autowired
-    public AnalysisOrderDataController(AnalysisOrderDataService analysisOrderDataService, TokenService tokenService, SysUserService sysUserService, OrderClient orderClient) {
+    public AnalysisOrderDataController(AnalysisOrderDataService analysisOrderDataService, TokenService tokenService, SysUserService sysUserService, OrderClient orderClient,MasterWorkerService masterWorkerService) {
         this.analysisOrderDataService = analysisOrderDataService;
         this.tokenService = tokenService;
         this.sysUserService = sysUserService;
         this.orderClient = orderClient;
+        this.masterWorkerService = masterWorkerService;
     }
 
     /**
+     * 大屏-站点分布
+     */
+    @ApiOperation( value = "大屏-站点分布")
+    @GetMapping(value = "/listSiteLarge")
+    public R<SiteLargeeVO> listSiteLarge() {
+        SiteLargeeVO siteLargeeVO = new SiteLargeeVO();
+        // 回收订单数量
+        Map<String, Integer> orderMap = new HashMap<>();
+        // 回收人员数量
+        Map<String, Integer> userMap = new HashMap<>();
+        // 根据city为键,值为对应city的订单数量
+        List<AnalysisOrderData> list1 = analysisOrderDataService.list();
+        for (AnalysisOrderData analysisOrderData : list1) {
+            if (orderMap.containsKey(analysisOrderData.getCity())) {
+                orderMap.put(analysisOrderData.getCity(), orderMap.get(analysisOrderData.getCity()) + 1);
+            } else {
+                orderMap.put(analysisOrderData.getCity(), 1);
+            }
+            if (userMap.containsKey(analysisOrderData.getCity())) {
+                userMap.put(analysisOrderData.getCity(), userMap.get(analysisOrderData.getCity()) + 1);
+            } else {
+                userMap.put(analysisOrderData.getCity(), 1);
+            }
+        }
+        siteLargeeVO.setOrderMap(orderMap);
+        siteLargeeVO.setUserMap(userMap);
+        return R.ok(siteLargeeVO);
+    }
+    /**
+     * 大屏-师傅定位分布
+     */
+    @ApiOperation( value = "大屏-师傅定位分布")
+    @GetMapping(value = "/listWorkersLarge")
+    public R<WorkersLargeeVO> listWorkersLarge() {
+        WorkersLargeeVO siteLargeeVO = new WorkersLargeeVO();
+        // 查询师傅经纬度
+        List<MasterWorker> list = masterWorkerService.lambdaQuery().isNotNull(MasterWorker::getWorkerLat).isNotNull(MasterWorker::getWorkerLon)
+                .list();
+        siteLargeeVO.setWorkers(list);
+        // 师傅数量
+        Map<String, Integer> userMap = new HashMap<>();
+        for (MasterWorker masterWorker : list) {
+            if (userMap.containsKey(masterWorker.getCity())) {
+                userMap.put(masterWorker.getCity(), userMap.get(masterWorker.getCity()) + 1);
+            } else {
+                userMap.put(masterWorker.getCity(), 1);
+            }
+        }
+//        siteLargeeVO.setSiteMap();
+        siteLargeeVO.setUserMap(userMap);
+        return R.ok(siteLargeeVO);
+    }
+    /**
      * 查询上门回收订单列表
      */
     @ApiOperation( value = "查询上门回收订单列表")

--
Gitblit v1.7.1