From 69938dc39faf7810daf2db9e6f054b210659dc5d Mon Sep 17 00:00:00 2001 From: mashuai Date: Mon, 17 Mar 2025 13:06:03 +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 | 2 + .../material/device/mapper/DevInfoMapper.java | 10 +-- .../controller/LargeScreenController.java | 82 +++++++------------ .../service/impl/NoticeServiceImpl.java | 17 ++-- .../mapper/material/device/DevInfoMapper.xml | 38 ++++----- 5 files changed, 62 insertions(+), 87 deletions(-) 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 824ed02..8de6014 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 @@ -168,5 +168,7 @@ public class DevInfoVo extends DevInfo { @ApiModelProperty(value = "订单数") private Integer orderNum; + private Long orderId; + } 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 9faba65..363c907 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 @@ -229,12 +229,6 @@ public interface DevInfoMapper { */ List getLeaseDevList(DevInfoVo devInfo); - /** - * 查询装备对应所属公司 - * @return - */ - List getCompanyList(); - /** * 查询装备对应所属公司 @@ -244,6 +238,8 @@ public interface DevInfoMapper { List selectDevInfoHotListRatio(DevInfoVo devInfoVo); - List getOrderByCompanyId(int companyId); + List getOrderByCompanyId(String companyId); + + DevInfoVo getBuyCompanyList(DevInfoVo infoVo); } 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 c830f35..ccafc09 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 @@ -8,7 +8,6 @@ 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; -import com.bonus.material.largeScreen.entity.OrderDto; import com.bonus.material.largeScreen.service.LargeScreenService; import com.bonus.material.lease.domain.MaLeaseInfo; import com.bonus.material.lease.mapper.MaLeaseInfoMapper; @@ -167,64 +166,43 @@ public class LargeScreenController { @ApiOperation("租赁装备数及订单数") @GetMapping("/getCompanyNum") - public AjaxResult getCompanyNum() { - // 查询装备对应订单数 - List list = devInfoMapper.getCompanyNum(); - // 查询装备对应所属公司 - List companyList = devInfoMapper.getCompanyList(); - // 使用 Map 存储每个公司 ID 对应的订单总数 + public AjaxResult getCompanyNum(DevInfoVo dto) { + List infoVos = new ArrayList<>(); + // 查询公司对应订单数 + List list = devInfoMapper.getOrderByCompanyId(dto.getCompanyId()); 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); + if (CollectionUtil.isNotEmpty(list)) { + for (DevInfoVo infoVo : list) { + // 根据订单id查询所买公司id和名称 + DevInfoVo infoVo1 = devInfoMapper.getBuyCompanyList(infoVo); + // 如果 Map 中已经存在该公司 ID,则数量增加1 + orderNumMap.compute(infoVo1.getCompanyId(), (key, value) -> value == null ? 1 : value + 1); } - // 根据 orderNum 降序排序,并取前 9 个元素 - companyList = companyList.stream() + } + // 根据orderNumMap去遍历查询公司名称 + if (CollectionUtil.isNotEmpty(orderNumMap)) { + for (Map.Entry entry : orderNumMap.entrySet()) { + DevInfoVo vo = new DevInfoVo(); + DevInfoVo devInfoVo = devInfoMapper.selectCompanyById(entry.getKey()); + vo.setCompanyId(devInfoVo.getCompanyId()); + vo.setCompanyName(devInfoVo.getCompanyName()); + vo.setOrderNum(entry.getValue()); + infoVos.add(vo); + } + if (CollectionUtil.isNotEmpty(list)) { + DevInfoVo infoVo = list.get(0); + infoVo.setOrderNum(list.size()); + infoVos.add(0, infoVo); + } + // 根据 orderNum 降序排序,并取前 10 个元素 + infoVos = infoVos.stream() .sorted((vo1, vo2) -> Integer.compare(vo2.getOrderNum(), vo1.getOrderNum())) - .limit(9) + .limit(10) .collect(Collectors.toList()); } - return AjaxResult.success(companyList); + return AjaxResult.success(infoVos); } -/* @ApiOperation("租赁装备数及订单数") - @GetMapping("/getCompanyNum") - public AjaxResult getCompanyNum(int companyId) { - // 查询装备对应订单数 - List list = devInfoMapper.getOrderByCompanyId(companyId); - // 查询装备对应所属公司 - 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/java/com/bonus/material/notice/service/impl/NoticeServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/notice/service/impl/NoticeServiceImpl.java index 8524f79..2b21eea 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/notice/service/impl/NoticeServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/notice/service/impl/NoticeServiceImpl.java @@ -1,5 +1,9 @@ package com.bonus.material.notice.service.impl; +import cn.hutool.json.JSONObject; +import com.ah.sbd.SmsTool; +import com.ah.sbd.utils.param.SmsParam; +import com.bonus.common.biz.constant.BmConfigItems; import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.biz.enums.NoticeSmsEnum; import com.bonus.common.core.utils.DateUtils; @@ -130,9 +134,10 @@ public class NoticeServiceImpl implements NoticeService { phoneNumber = Sm4Utils.decrypt(info.getPhoneNumber()); } // 根据电话号码数量发送短信 - //JSONObject sendResult = SmsTool.sendSms(new SmsParam(phoneNumber, notice.getNoticeContent()), BmConfigItems.ANHUI_COMPANY_SMS_KEY); - String sendResult = SmsUtils.smsToken(phoneNumber, notice.getNoticeContent(), ""); - if (StringUtils.isBlank(sendResult)) { + JSONObject sendResult = SmsTool.sendSms(new SmsParam(phoneNumber, notice.getNoticeContent()), BmConfigItems.ANHUI_COMPANY_SMS_KEY); + // 公司内部短信发送 + //String sendResult = SmsUtils.smsToken(phoneNumber, notice.getNoticeContent(), ""); + if (StringUtils.isBlank(sendResult.toString())) { return AjaxResult.error("短信发送失败"); } else { System.out.println("短信发送成功:" + sendResult); @@ -195,9 +200,9 @@ public class NoticeServiceImpl implements NoticeService { phoneNumber = Sm4Utils.decrypt(notice1.getPhoneNumber()); } // 根据电话号码数量发送短信 - //JSONObject sendResult = SmsTool.sendSms(new SmsParam(phoneNumber, notice.getNoticeContent()), BmConfigItems.ANHUI_COMPANY_SMS_KEY); - String sendResult = SmsUtils.smsToken(phoneNumber, notice.getNoticeContent(), ""); - if (StringUtils.isBlank(sendResult)) { + JSONObject sendResult = SmsTool.sendSms(new SmsParam(phoneNumber, notice.getNoticeContent()), BmConfigItems.ANHUI_COMPANY_SMS_KEY); + //String sendResult = SmsUtils.smsToken(phoneNumber, notice.getNoticeContent(), ""); + if (StringUtils.isBlank(sendResult.toString())) { return AjaxResult.error("短信发送失败"); } else { System.out.println("短信发送成功:" + sendResult); 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 8cf770b..7661f89 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 @@ -1105,31 +1105,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" d.create_time DESC - - +