From 0c9521d93a745de0ec71d83c094a6047c0222398 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期三, 29 十月 2025 15:01:51 +0800
Subject: [PATCH] 调整

---
 framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java |   98 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 96 insertions(+), 2 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
index b6378e5..38fc343 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
@@ -35,6 +35,7 @@
 import cn.lili.modules.lmk.mapper.LmkOrderSelectMapper;
 import cn.lili.modules.lmk.service.CouponVirtualService;
 import cn.lili.modules.member.entity.dto.MemberAddressDTO;
+import cn.lili.modules.member.entity.dto.UpdateTracesDTO;
 import cn.lili.modules.member.mapper.MemberMapper;
 import cn.lili.modules.order.cart.entity.dto.TradeDTO;
 import cn.lili.modules.order.cart.entity.enums.DeliveryMethodEnum;
@@ -350,6 +351,23 @@
         return page;
     }
     @Override
+    public IPage<OrderSimpleVO> queryShareMineOrder(OrderSearchParams orderSearchParams,Boolean needHide) {
+        QueryWrapper queryWrapper = orderSearchParams.queryWrapper();
+        queryWrapper.groupBy("o.id");
+        queryWrapper.orderByDesc("o.id");
+        IPage<OrderSimpleVO> page =  this.baseMapper.queryByShareParams(PageUtil.initPage(orderSearchParams), queryWrapper);
+        if (needHide){
+            if (!adminUserService.havePermissionRole(AdminRoleEnum.ORDER_INFO_PERMISSION)){
+                for (OrderSimpleVO vo : page.getRecords()){
+                    vo.setConsigneeName(CommonUtil.maskName(vo.getConsigneeName()));
+                    vo.setConsigneeMobile(CommonUtil.maskMobile(vo.getConsigneeMobile()));
+                }
+            }
+        }
+
+        return page;
+    }
+    @Override
     public IPage<OrderSimpleXcxVO> queryByXcxParams(OrderSearchXcxParams orderSearchParams) {
         QueryWrapper queryWrapper = orderSearchParams.queryWrapper();
         queryWrapper.groupBy("o.id");
@@ -490,6 +508,35 @@
     @Override
     public void queryExportOrder(HttpServletResponse response, OrderSearchParams orderSearchParams) {
         List<OrderExportDTO> orderExportDTOS = this.baseMapper.queryExportOrder(orderSearchParams.queryWrapper());
+
+        if (!adminUserService.havePermissionRole(AdminRoleEnum.ORDER_INFO_PERMISSION)){
+            for (OrderExportDTO vo : orderExportDTOS){
+                vo.setConsigneeName(CommonUtil.maskName(vo.getConsigneeName()));
+                vo.setConsigneeMobile(CommonUtil.maskMobile(vo.getConsigneeMobile()));
+            }
+        }
+        XSSFWorkbook workbook = initOrderExportData(orderExportDTOS);
+        try {
+            // 璁剧疆鍝嶅簲澶�
+            String fileName = URLEncoder.encode("璁㈠崟鍒楄〃", "UTF-8");
+            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+            response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");
+
+            ServletOutputStream out = response.getOutputStream();
+            workbook.write(out);
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                workbook.close();
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+    @Override
+    public void queryShareExportOrder(HttpServletResponse response, OrderSearchParams orderSearchParams) {
+        List<OrderExportDTO> orderExportDTOS = this.baseMapper.queryShareExportOrder(orderSearchParams.queryWrapper());
 
         if (!adminUserService.havePermissionRole(AdminRoleEnum.ORDER_INFO_PERMISSION)){
             for (OrderExportDTO vo : orderExportDTOS){
@@ -813,6 +860,26 @@
     }
 
     @Override
+    public void updateTraces(UpdateTracesDTO updateTracesDTO) {
+        LambdaQueryWrapper<OrderPackage> eq = Wrappers.<OrderPackage>lambdaQuery()
+                .eq(OrderPackage::getOrderSn, updateTracesDTO.getOrderSn())
+                .eq(OrderPackage::getPackageNo, updateTracesDTO.getPackageNo());
+        OrderPackage one = orderPackageService.getOne(eq);
+        if (one == null) {
+            throw new ServiceException("褰撳墠鍖呰9涓嶅瓨鍦�");
+        }
+
+        String logisticsId = updateTracesDTO.getLogisticsId();
+        if (StringUtils.isNotBlank(logisticsId)) {
+            Logistics logic = logisticsService.getById(logisticsId);
+            one.setLogisticsNo(updateTracesDTO.getLogisticsNo());
+            one.setLogisticsCode(logic.getCode());
+            one.setLogisticsName(logic.getName());
+            orderPackageService.updateById(one);
+        }
+    }
+
+    @Override
     public Traces getMapTraces(String orderSn) {
         //鑾峰彇璁㈠崟淇℃伅
         Order order = this.getBySn(orderSn);
@@ -1108,7 +1175,31 @@
         checkBatchDeliver(orderBatchDeliverDTOList);
         //璁㈠崟鎵归噺鍙戣揣
         for (OrderBatchDeliverDTO orderBatchDeliverDTO : orderBatchDeliverDTOList) {
-            this.delivery(orderBatchDeliverDTO.getOrderSn(), orderBatchDeliverDTO.getLogisticsNo(), orderBatchDeliverDTO.getLogisticsId());
+            String logisticsNo = orderBatchDeliverDTO.getLogisticsNo();
+            String[] split = logisticsNo.split(",");
+            //濡傛灉鐗╂祦鍗曞彿鍖呭惈澶氫釜锛屽垯杩涜鎷嗗崟
+            if (split.length > 1) {
+                for (int i = 0; i < split.length; i++) {
+                    PartDeliveryParamsDTO partDeliveryParamsDTO = new PartDeliveryParamsDTO();
+                    partDeliveryParamsDTO.setOrderSn(orderBatchDeliverDTO.getOrderSn());
+                    partDeliveryParamsDTO.setLogisticsNo(split[i]);
+                    partDeliveryParamsDTO.setLogisticsId(orderBatchDeliverDTO.getLogisticsId());
+                    ArrayList<PartDeliveryDTO> partDeliveryDTOList = new ArrayList<>();
+                    partDeliveryParamsDTO.setPartDeliveryDTOList(partDeliveryDTOList);
+                    if (i == split.length - 1){
+                        List<OrderItem> orderItemList = orderItemService.getByOrderSn(orderBatchDeliverDTO.getOrderSn());
+                        for (OrderItem orderItem : orderItemList) {
+                            if (RefundStatusEnum.NO_REFUND.name().equals(orderItem.getIsRefund())) {
+                                PartDeliveryDTO partDeliveryDTO = new PartDeliveryDTO();
+                                partDeliveryDTO.setDeliveryNum(orderItem.getNum());
+                                partDeliveryDTO.setOrderItemId(orderItem.getId());
+                                partDeliveryDTOList.add(partDeliveryDTO);
+                            }
+                        }
+                    }
+                    this.partDelivery(partDeliveryParamsDTO);
+                }
+            }
         }
     }
 
@@ -1754,7 +1845,10 @@
             // 鎻愬彇鍟嗗搧鍚嶏紙娉ㄦ剰锛氶敭鏄痳esultMap涓畾涔夌殑property鍊�"goodsName"锛�
             if (Objects.nonNull(map.get("goodsName"))) {
                 String goodsName = map.get("goodsName").toString();
-                goodsData.add(goodsName);
+                String buyerCount = map.get("buyerCount").toString();
+                String repurchaseBuyerCount = map.get("repurchaseBuyerCount").toString();
+                String format = String.format("%s:璐拱浜烘暟 %s 澶嶈喘浜烘暟%s", goodsName, buyerCount, repurchaseBuyerCount);
+                goodsData.add(format);
             }
 
             // 鎻愬彇澶嶈喘鐜囷紙澶嶈喘鐜囬�氬父鏄暟瀛楃被鍨嬶紝杩欓噷鐢˙igDecimal鎺ユ敹锛�

--
Gitblit v1.8.0