From 11079cf5c81a047c3a343581a5cc6001fb4a2ec8 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期日, 28 九月 2025 14:09:59 +0800
Subject: [PATCH] Merge branch 'dev' into send_coupon

---
 framework/src/main/java/cn/lili/modules/member/entity/dto/ClerkAddDTO.java               |    2 
 framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDetailDTO.java |    2 +
 framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java    |   83 ++++++++++++++++++++++++++++-------------
 framework/src/main/java/cn/lili/modules/permission/entity/dto/AdminUserDTO.java          |    2 
 buyer-api/src/main/java/cn/lili/controller/lmk/SupplierController.java                   |    5 ++
 framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDTO.java       |    2 +
 framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java              |    3 +
 7 files changed, 70 insertions(+), 29 deletions(-)

diff --git a/buyer-api/src/main/java/cn/lili/controller/lmk/SupplierController.java b/buyer-api/src/main/java/cn/lili/controller/lmk/SupplierController.java
index 637d39a..67e65e1 100644
--- a/buyer-api/src/main/java/cn/lili/controller/lmk/SupplierController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/lmk/SupplierController.java
@@ -10,6 +10,7 @@
 import cn.lili.modules.member.entity.dos.Clerk;
 import cn.lili.modules.member.service.ClerkService;
 import cn.lili.modules.member.service.StoreLogisticsService;
+import cn.lili.modules.order.order.entity.dos.Order;
 import cn.lili.modules.order.order.entity.dto.PartDeliveryParamsDTO;
 import cn.lili.modules.order.order.entity.dto.SupplierOrderSearchParams;
 import cn.lili.modules.order.order.entity.vo.OrderDetailVO;
@@ -106,6 +107,10 @@
                 orderItem.setImage(cosUtil.getPreviewUrl(image));
             }
         });
+        Order order = orderDetailVO.getOrder();
+        if (StringUtils.isNotBlank(order.getConsigneeDetail())){
+            order.setConsigneeAddressPath(order.getConsigneeAddressPath() + "," + order.getConsigneeDetail());
+        }
         return ResultUtil.data(orderDetailVO);
     }
 
diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dto/ClerkAddDTO.java b/framework/src/main/java/cn/lili/modules/member/entity/dto/ClerkAddDTO.java
index 6b8207b..0961aa1 100644
--- a/framework/src/main/java/cn/lili/modules/member/entity/dto/ClerkAddDTO.java
+++ b/framework/src/main/java/cn/lili/modules/member/entity/dto/ClerkAddDTO.java
@@ -30,7 +30,7 @@
 
     @ApiModelProperty(value = "浼氬憳鐢ㄦ埛鍚�")
     @NotEmpty(message = "浼氬憳鐢ㄦ埛鍚嶄笉鑳戒负绌�")
-    @Length(max = 30, message = "浼氬憳鐢ㄦ埛鍚嶄笉鑳借秴杩�20涓瓧绗�")
+    @Length(max = 200, message = "浼氬憳鐢ㄦ埛鍚嶄笉鑳借秴杩�200涓瓧绗�")
     private String username;
 
     @ApiModelProperty(value = "浼氬憳瀵嗙爜")
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDTO.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDTO.java
index f41cdd1..68dc1b0 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDTO.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDTO.java
@@ -89,4 +89,6 @@
     private String storeName;
 
     private String nickName;
+
+    private String memberId;
 }
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDetailDTO.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDetailDTO.java
index cdb61a1..945501f 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDetailDTO.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDetailDTO.java
@@ -92,4 +92,6 @@
     private String storeName;
 
     private String nickName;
+
+    private String memberId;
 }
diff --git a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java
index 185947a..238bbc7 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java
@@ -63,7 +63,8 @@
             "o.logistics_time AS logistics_time," +
             "o.complete_time AS complete_time," +
             "o.store_name AS store_name, " +
-            "m.nick_name AS nickName" +
+            "m.nick_name AS nickName," +
+            "o.member_id AS memberId" +
             " FROM li_order o LEFT JOIN li_order_item oi ON oi.order_sn = o.sn " +
             "LEFT JOIN li_member m on m.id = o.member_id " +
             "${ew.customSqlSegment}")
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 46ab55d..c3003e8 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
@@ -1255,12 +1255,31 @@
         orderLogService.saveBatch(orderLogList);
         //鍒ゆ柇璁㈠崟璐х墿鏄惁鍏ㄩ儴鍙戣揣瀹屾瘯
         Boolean delivery = true;
+        log.info("鎵撳嵃璁㈠崟璐х墿:{}",orderItemList);
+
+        //闇�瑕佸啀姝ゅ鍒ゆ柇璁㈠崟鏄惁鏈夌敵璇峰敭鍚庣姸鎬�
         for (OrderItem orderItem : orderItemList) {
-            if (orderItem.getDeliverNumber() < orderItem.getNum()) {
-                delivery = false;
-                break;
+            // 鍏堝垽鏂槸鍚︽槸鏈敵璇峰敭鍚庣殑璁㈠崟
+            if (OrderItemAfterSaleStatusEnum.NOT_APPLIED.name().equals(orderItem.getAfterSaleStatus())){
+                // 鍙戣揣鏁伴噺灏忎簬璁㈠崟鏁伴噺鍒欏叏鍙�
+                log.info("鎵撳嵃鍙戣揣鏁伴噺锛歿},璇ュ晢鍝佽鍗曟暟閲忚揣鐗╁搴旂殑:{}",orderItem.getDeliverNumber(),orderItem.getNum());
+                if (orderItem.getDeliverNumber() < orderItem.getNum()) {
+                    delivery = false;
+                    break;
+                }
+            }else{
+                //鍏ㄩ儴閫�鍥炴儏鍐�
+                if(Objects.equals(orderItem.getReturnGoodsNumber(), orderItem.getNum())){
+                    break;
+                }
+                //瀛樺湪鎯呭喌 閫�鍥炴暟閲忎笉鏄叏閮ㄩ��鍥炶�屾槸閮ㄥ垎閫�鍥�
+                if (orderItem.getReturnGoodsNumber() + orderItem.getDeliverNumber() < orderItem.getNum()) {
+                    delivery = false;
+                    break;
+                }
             }
         }
+        log.info("delivery鐘舵��:{}",delivery);
         //鏄惁鍏ㄩ儴鍙戣揣
         if (delivery) {
             return delivery(orderSn, invoiceNumber, logisticsId);
@@ -1517,6 +1536,7 @@
             for (Order unpaidOrder : unpaidOrders) {
                 this.systemCancel(unpaidOrder.getSn(), "鎷煎洟娲诲姩缁撴潫璁㈠崟鏈粯娆撅紝绯荤粺鑷姩鍙栨秷璁㈠崟", false);
             }
+
         }
         List<Order> paidOrders = listMap.get(PayStatusEnum.PAID.name());
         //濡傚緟鍙傚洟浜烘暟澶т簬0锛屽苟宸插紑鍚櫄鎷熸垚鍥�
@@ -1834,8 +1854,19 @@
             orderExportDetailDTO.setPaymentMethod(CharSequenceUtil.isNotBlank(orderExportDTO.getPaymentMethod()) ? PaymentMethodEnum.valueOf(orderExportDTO.getPaymentMethod()).paymentName() : "");
             orderExportDetailDTO.setClientType(ClientTypeEnum.valueOf(orderExportDTO.getClientType()).value());
             orderExportDetailDTO.setOrderType(orderExportDTO.getOrderType().equals(OrderTypeEnum.NORMAL.name()) ? "鏅�氳鍗�" : "铏氭嫙璁㈠崟");
-            orderExportDetailDTO.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.valueOf(orderExportDTO.getAfterSaleStatus()).description());
 
+            String afterSaleStatus = orderExportDTO.getAfterSaleStatus();
+            if (StringUtils.isNotBlank(afterSaleStatus)) {
+                try {
+                    orderExportDetailDTO.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.valueOf(afterSaleStatus).description());
+                } catch (IllegalArgumentException e) {
+                    // 澶勭悊鏋氫妇鍊间笉瀛樺湪鐨勬儏鍐�
+                    orderExportDetailDTO.setAfterSaleStatus("鏈煡鐘舵��");
+                }
+            } else {
+                // 璁剧疆榛樿鍊兼垨绌哄瓧绗︿覆
+                orderExportDetailDTO.setAfterSaleStatus("鏃犲敭鍚庣姸鎬�");
+            }
             //鏃堕棿
             orderExportDetailDTO.setCreateTime(DateUtil.formatDateTime(orderExportDTO.getCreateTime()));
             orderExportDetailDTO.setPaymentTime(DateUtil.formatDateTime(orderExportDTO.getPaymentTime()));
@@ -1850,7 +1881,7 @@
         // 鍒涘缓琛ㄥご
         Row header = sheet.createRow(0);
         String[] headers = {"涓昏鍗曠紪鍙�", "瀛愯鍗曠紪鍙�", "閫夎喘鍟嗗搧", "鍟嗗搧鏁伴噺", "鍟嗗搧ID", "鍟嗗搧鍗曚环", "璁㈠崟搴斾粯閲戦",
-                "杩愯垂", "浼樻儬鎬婚噾棰�", "骞冲彴浼樻儬", "鍟嗗浼樻儬", "鍟嗗鏀逛环", "鏀粯鏂瑰紡","涔板鍚嶇О", "鏀朵欢浜�", "鏀朵欢浜烘墜鏈哄彿",
+                "杩愯垂", "浼樻儬鎬婚噾棰�", "骞冲彴浼樻儬", "鍟嗗浼樻儬", "鍟嗗鏀逛环", "鏀粯鏂瑰紡","浼氬憳ID","涔板鍚嶇О", "鏀朵欢浜�", "鏀朵欢浜烘墜鏈哄彿",
                 "鐪�", "甯�", "鍖�", "琛楅亾", "璇︾粏鍦板潃", "涔板鐣欒█", "璁㈠崟鎻愪氦鏃堕棿", "鏀粯瀹屾垚鏃堕棿", "鏉ユ簮",
                 "璁㈠崟鐘舵��", "璁㈠崟绫诲瀷", "鍞悗鐘舵��", "鍙栨秷鍘熷洜", "鍙戣揣鏃堕棿", "瀹屾垚鏃堕棿", "搴楅摵"};
 
@@ -1865,7 +1896,7 @@
             row.createCell(0).setCellValue(dto.getOrderSn());
             row.createCell(1).setCellValue(dto.getOrderItemSn());
             row.createCell(2).setCellValue(dto.getGoodsName());
-            row.createCell(3).setCellValue(dto.getNum());
+            row.createCell(3).setCellValue(dto.getNum()!=null?dto.getNum():0);
             row.createCell(4).setCellValue(dto.getGoodsId());
             row.createCell(5).setCellValue(dto.getUnitPrice()!=null?dto.getUnitPrice():0);
             row.createCell(6).setCellValue(dto.getFlowPrice()!=null?dto.getFlowPrice():0);
@@ -1875,27 +1906,27 @@
             row.createCell(10).setCellValue(dto.getStoreMarketingCost()!=null?dto.getStoreMarketingCost():0);
             row.createCell(11).setCellValue(dto.getUpdatePrice()!=null?dto.getUpdatePrice():0);
             row.createCell(12).setCellValue(dto.getPaymentMethod());
+            row.createCell(13).setCellValue(dto.getMemberId());
+            row.createCell(14).setCellValue(dto.getNickName());
 
-            row.createCell(13).setCellValue(dto.getNickName());
-
-            row.createCell(14).setCellValue(dto.getConsigneeName());
-            row.createCell(15).setCellValue(dto.getConsigneeMobile());
-            row.createCell(16).setCellValue(dto.getProvince());
-            row.createCell(17).setCellValue(dto.getCity());
-            row.createCell(18).setCellValue(dto.getDistrict());
-            row.createCell(19).setCellValue(dto.getStreet());
-            row.createCell(20).setCellValue(dto.getConsigneeDetail());
-            row.createCell(21).setCellValue(dto.getRemark());
-            row.createCell(22).setCellValue(dto.getCreateTime());
-            row.createCell(23).setCellValue(dto.getPaymentTime());
-            row.createCell(24).setCellValue(dto.getClientType());
-            row.createCell(25).setCellValue(dto.getOrderStatus());
-            row.createCell(26).setCellValue(dto.getOrderType());
-            row.createCell(27).setCellValue(dto.getAfterSaleStatus());
-            row.createCell(28).setCellValue(dto.getCancelReason());
-            row.createCell(29).setCellValue(dto.getLogisticsTime());
-            row.createCell(30).setCellValue(dto.getCompleteTime());
-            row.createCell(31).setCellValue(dto.getStoreName());
+            row.createCell(15).setCellValue(dto.getConsigneeName());
+            row.createCell(16).setCellValue(dto.getConsigneeMobile());
+            row.createCell(17).setCellValue(dto.getProvince());
+            row.createCell(18).setCellValue(dto.getCity());
+            row.createCell(19).setCellValue(dto.getDistrict());
+            row.createCell(20).setCellValue(dto.getStreet());
+            row.createCell(21).setCellValue(dto.getConsigneeDetail());
+            row.createCell(22).setCellValue(dto.getRemark());
+            row.createCell(23).setCellValue(dto.getCreateTime());
+            row.createCell(24).setCellValue(dto.getPaymentTime());
+            row.createCell(25).setCellValue(dto.getClientType());
+            row.createCell(26).setCellValue(dto.getOrderStatus());
+            row.createCell(27).setCellValue(dto.getOrderType());
+            row.createCell(28).setCellValue(dto.getAfterSaleStatus());
+            row.createCell(29).setCellValue(dto.getCancelReason());
+            row.createCell(30).setCellValue(dto.getLogisticsTime());
+            row.createCell(31).setCellValue(dto.getCompleteTime());
+            row.createCell(32).setCellValue(dto.getStoreName());
         }
 
         //淇敼鍒楀
diff --git a/framework/src/main/java/cn/lili/modules/permission/entity/dto/AdminUserDTO.java b/framework/src/main/java/cn/lili/modules/permission/entity/dto/AdminUserDTO.java
index bc1f681..53d7725 100644
--- a/framework/src/main/java/cn/lili/modules/permission/entity/dto/AdminUserDTO.java
+++ b/framework/src/main/java/cn/lili/modules/permission/entity/dto/AdminUserDTO.java
@@ -22,7 +22,7 @@
 
 
     @ApiModelProperty(value = "鐢ㄦ埛鍚�")
-    @Length(max = 20,message = "鐢ㄦ埛鍚嶉暱搴︿笉鑳借秴杩�20涓瓧绗�")
+    @Length(max = 200,message = "鐢ㄦ埛鍚嶉暱搴︿笉鑳借秴杩�200涓瓧绗�")
     private String username;
 
     @ApiModelProperty(value = "瀵嗙爜")

--
Gitblit v1.8.0