From 3f62a93a0b0d64984cf070d0ca307a55faf95085 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 29 四月 2025 16:06:32 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/large/AnalysisOrderDataController.java | 70 ++++++++++++++++++++++++++++++++++- 1 files changed, 68 insertions(+), 2 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..7a72e3f 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 @@ -7,15 +7,21 @@ import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import cn.hutool.core.io.resource.ClassPathResource; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.DateUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.api.entity.Order; @@ -36,6 +42,7 @@ import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; /** * <p> @@ -53,15 +60,70 @@ 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); + } /** * 查询上门回收订单列表 */ @@ -186,7 +248,7 @@ orders.forEach(order -> { AnalysisOrderData analysisOrderData = new AnalysisOrderData(); analysisOrderData.setOrderNum(order.getOrderNumber()); - analysisOrderData.setOrderDate(analysisOrderData.getOrderDate()); + analysisOrderData.setOrderDate(order.getCreateTime()); // analysisOrderData.setOrderChannel(order.getOrderChannel()); analysisOrderData.setCity(order.getCity()); analysisOrderData.setOrderCategory(order.getServeName()); @@ -196,6 +258,10 @@ analysisOrderData.setState(order.getState()); analysisOrderDataList.add(analysisOrderData); }); + // 删除今日订单 + analysisOrderDataService.remove(new QueryWrapper<AnalysisOrderData>().lambda() + .like(AnalysisOrderData::getOrderDate, new SimpleDateFormat("yyyy-MM-dd").format(new Date())) + ); analysisOrderDataService.saveBatch(analysisOrderDataList); } return R.ok(); -- Gitblit v1.7.1