24282 před 1 rokem
rodič
revize
971d1e706b

+ 17 - 13
sd-wln/src/main/java/com/sd/wln/service/impl/WlnOrderServiceImpl.java

@@ -24,7 +24,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
-import java.util.function.Function;
 import java.util.stream.Collectors;
 
 @Slf4j
@@ -56,18 +55,19 @@ public class WlnOrderServiceImpl implements WlnOrderService {
             log.error("订单同步失败");
             return false;
         }
-        Map<String, Department> departmentMap = getDepartmentMap();
 
         List<OrderInfo> saveOrderListInfo = new ArrayList<>();
         List<OrderSku> saveOrderSkuList = new ArrayList<>();
-
         List<OrderInfo> updateOrderListInfo = new ArrayList<>();
 
-        List<OrderInfo> orderInfoList = orderService.list(q ->
-                q.between(OrderInfo::getWlnApproveTime, DateUtil.offsetDay(endDate, -3), endDate));
-        Map<String, OrderInfo> orderMap = orderInfoList.stream().collect(Collectors.toMap(OrderInfo::getWlnUid, Function.identity()));
+        Map<String, Department> departmentMap = getDepartmentMap();
+
+        Map<String, OrderInfo> orderMap = orderService.mapKEntity(OrderInfo::getWlnUid,
+                q -> q.between(OrderInfo::getWlnApproveTime, DateUtil.offsetDay(endDate, -3), endDate));
 
         for (JSONObject wlnOrder : wlnOrderList) {
+
+            // 如果订单存在,修改订单状态
             String uid = wlnOrder.getString("uid");
             OrderInfo orderInfo = orderMap.get(uid);
             if (orderInfo != null) {
@@ -86,10 +86,10 @@ public class WlnOrderServiceImpl implements WlnOrderService {
                 Map<String, SkuSpec> skuSpecMap = new HashMap<>();
 
                 List<String> skuCodeList = wlnOrderSkuList.stream().map(item -> item.getString("sys_spec_uid"))
-                        .filter(Objects::isNull).distinct().collect(Collectors.toList());
+                        .filter(ObjectUtil::isNotNull).distinct().collect(Collectors.toList());
 
                 if (skuCodeList.size() > 0) {
-                    skuSpecMap = skuSpecService.mapKEntity(SkuSpec::getCode, q -> q.in(SkuSpec::getWlnUid, skuCodeList));
+                    skuSpecMap = skuSpecService.mapKEntity(SkuSpec::getWlnUid, q -> q.in(SkuSpec::getWlnUid, skuCodeList));
                 }
 
                 for (JSONObject wlnOrderSku : wlnOrderSkuList) {
@@ -97,15 +97,19 @@ public class WlnOrderServiceImpl implements WlnOrderService {
                     OrderSku orderSku = createOrderSku(wlnOrderSku, orderInfo, skuSpec);
                     saveOrderSkuList.add(orderSku);
                 }
-
             }
-
             saveOrderListInfo.add(orderInfo);
         }
 
-        orderService.saveBatch(saveOrderListInfo);
-        orderService.updateBatchById(updateOrderListInfo);
-        orderSkuService.saveBatch(saveOrderSkuList);
+        if (saveOrderListInfo.size() > 0) {
+            orderService.saveBatch(saveOrderListInfo);
+        }
+        if (updateOrderListInfo.size() > 0) {
+            orderService.updateBatchById(updateOrderListInfo);
+        }
+        if (saveOrderSkuList.size() > 0) {
+            orderSkuService.saveBatch(saveOrderSkuList);
+        }
         return true;
     }