From 4ea5a3686e763f60585aedbe0609e021506dab4a Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 12 Mar 2025 17:42:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../material/device/domain/vo/DevInfoVo.java | 6 ++++ .../material/device/mapper/DevInfoMapper.java | 14 ++++++++ .../controller/LargeScreenController.java | 32 +++++++++++++++++++ .../mapper/material/device/DevInfoMapper.xml | 27 ++++++++++++++++ 4 files changed, 79 insertions(+) diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java index a09a2a1..824ed02 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java @@ -162,5 +162,11 @@ public class DevInfoVo extends DevInfo { @ApiModelProperty(value = "检修预报警天数") private String maintenanceAlarmDay; + @ApiModelProperty(value = "装备数") + private Integer deviceNum; + + @ApiModelProperty(value = "订单数") + private Integer orderNum; + } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java index 03a5ffe..715ccc6 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevInfoMapper.java @@ -228,5 +228,19 @@ public interface DevInfoMapper { * @return */ List getLeaseDevList(DevInfoVo devInfo); + + /** + * 查询装备对应所属公司 + * @return + */ + List getCompanyList(); + + + /** + * 查询装备对应所属公司 + * @return + */ + List getCompanyNum(); + } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/largeScreen/controller/LargeScreenController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/largeScreen/controller/LargeScreenController.java index 4df2701..96f8d38 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/largeScreen/controller/LargeScreenController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/largeScreen/controller/LargeScreenController.java @@ -1,8 +1,10 @@ package com.bonus.material.largeScreen.controller; +import cn.hutool.core.collection.CollectionUtil; import com.bonus.common.biz.utils.MathUtil; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.device.domain.DevInfo; +import com.bonus.material.device.domain.vo.DevInfoVo; import com.bonus.material.device.mapper.DevInfoMapper; import com.bonus.material.device.service.DevInfoService; import com.bonus.material.largeScreen.entity.OrderData; @@ -155,6 +157,36 @@ public class LargeScreenController { return AjaxResult.success(list); } + @ApiOperation("租赁装备数及订单数") + @GetMapping("/getCompanyNum") + public AjaxResult getCompanyNum() { + // 查询装备对应订单数 + List list = devInfoMapper.getCompanyNum(); + // 查询装备对应所属公司 + List companyList = devInfoMapper.getCompanyList(); + // 使用 Map 存储每个公司 ID 对应的订单总数 + Map orderNumMap = new HashMap<>(); + for (DevInfoVo devInfoVo : list) { + String companyId = devInfoVo.getCompanyId(); + // 如果 Map 中已经存在该公司 ID,则累加订单数;否则,将当前订单数作为初始值 + orderNumMap.put(companyId, orderNumMap.getOrDefault(companyId, 0) + devInfoVo.getOrderNum()); + } + if (CollectionUtil.isNotEmpty(companyList)) { + for (DevInfoVo infoVo : companyList) { + String companyId = infoVo.getCompanyId(); + // 从 Map 中获取该公司 ID 对应的订单总数 + Integer orderNum = orderNumMap.getOrDefault(companyId, 0); + infoVo.setOrderNum(orderNum); + } + // 根据 orderNum 降序排序,并取前 9 个元素 + companyList = companyList.stream() + .sorted((vo1, vo2) -> Integer.compare(vo2.getOrderNum(), vo1.getOrderNum())) + .limit(9) + .collect(Collectors.toList()); + } + return AjaxResult.success(companyList); + } + // @ApiOperation("订单数据") // @GetMapping("/orderData") // public AjaxResult getOrderData() { diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml index dffd5c4..70bda6f 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml @@ -1102,4 +1102,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY d.create_time DESC + + + +