Pārlūkot izejas kodu

运单列表新增贸易订单筛选

chenxiaofei 1 mēnesi atpakaļ
vecāks
revīzija
30f384dfec

+ 3 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/WaybillOrderReq.java

@@ -39,6 +39,9 @@ public class WaybillOrderReq extends PageReq implements Serializable {
      */
     @Schema(description = "运单号")
     private String waybillNo;
+
+    @Schema(description = "贸易订单号")
+    private String tradeOrderNo;
     /**
      * 商品名称
      */

+ 5 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/repository/KwtLogisticsOrderRepository.java

@@ -158,4 +158,9 @@ public class KwtLogisticsOrderRepository extends ServiceImpl<KwtLogisticsOrderMa
     }
 
 
+    public List<KwtLogisticsOrder> queryTradeOrderNo(String tradeOrderNo) {
+        return list(Wrappers.<KwtLogisticsOrder>lambdaQuery()
+                .eq(KwtLogisticsOrder::getDelFlag,0)
+                .like(KwtLogisticsOrder::getTOrderNo, tradeOrderNo));
+    }
 }

+ 24 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java

@@ -3627,7 +3627,18 @@ public class KwtWaybillOrderV1Service {
                 return Collections.emptySet();
             }
         }
-
+        // 如果指定了贸易订单号,根据贸易订单号查询
+        if (StringUtils.isNotBlank(req.getTradeOrderNo())) {
+            Set<Long> orderIdsByTradeOrderNo = getLogOrderIdsByTradeOrderNo(req.getTradeOrderNo());
+            log.debug("根据贸易订单号查询到ID数量: {}", orderIdsByTradeOrderNo.size());
+            if (CollectionUtils.isNotEmpty(orderIdsByTradeOrderNo)) {
+                intersectLogOrderIds(logOrderIds, orderIdsByTradeOrderNo);
+                log.debug("贸易订单号查询后,当前物流订单ID数量: {}", logOrderIds.size());
+            } else {
+                log.debug("根据贸易订单号未查询到数据,返回空集合");
+                return Collections.emptySet();
+            }
+        }
         // 如果指定了结算方式,根据结算方式查询
         if (StringUtils.isNotBlank(req.getBillingMethod())) {
             Set<Long> orderIdsByBilling = getLogOrderIdsByBillingMethod(req.getBillingMethod());
@@ -3897,7 +3908,19 @@ public class KwtWaybillOrderV1Service {
         orderIds.add(logisticsOrder.getId());
         return orderIds;
     }
+    /**
+     * 根据贸易订单号获取物流订单ID集合
+     */
+    private Set<Long> getLogOrderIdsByTradeOrderNo(String tradeOrderNo) {
+        List<KwtLogisticsOrder> logisticsOrders = logisticsOrderRepository.queryTradeOrderNo(tradeOrderNo);
+        if (CollectionUtils.isEmpty(logisticsOrders)) {
+            return Collections.emptySet();
+        }
 
+        return logisticsOrders.stream()
+                .map(KwtLogisticsOrder::getId)
+                .collect(Collectors.toSet());
+    }
     /**
      * 根据结算方式获取物流订单ID集合
      */