‘linchangsheng’ hai 1 mes
pai
achega
d41873c2ec

+ 10 - 5
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseExcelLogic.java

@@ -1454,17 +1454,22 @@ public class OrderBaseExcelLogic {
             pgOrderBase.setIsThreeOrder(true);
         }
 
+        List<PgOrderBase> orderIds = pgOrderBaseService.lambdaQuery()
+                .in(PgOrderBase::getId, syncOrderDto.getPgOrderBases().stream().map(PgOrderBase::getId).collect(Collectors.toList()))
+                .select(PgOrderBase::getId).list();
+        List<String> orderIdList = orderIds.stream().map(PgOrderBase::getId).collect(Collectors.toList());
+        orderIdList.add("1");
 
         log.info("同步日志单数"+syncOrderDto.getPgOrderBases().size());
         log.info("同步日志数"+syncOrderDto.getPgOrderOperatorLogs().size());
 
-        pgOrderBaseService.saveOrUpdateBatch(syncOrderDto.getPgOrderBases());
+        pgOrderBaseService.saveBatch(syncOrderDto.getPgOrderBases().stream().filter(item -> orderIdList.contains(item.getId())).collect(Collectors.toList()));
 
-        pgOrderProductDetailService.saveOrUpdateBatch(syncOrderDto.getPgOrderProductDetails());
+        pgOrderProductDetailService.saveBatch(syncOrderDto.getPgOrderProductDetails().stream().filter(item -> orderIdList.contains(item.getOrderBaseId())).collect(Collectors.toList()));
 
-        pgOrderWorkerService.saveOrUpdateBatch(syncOrderDto.getOrderWorkers());
+        pgOrderWorkerService.saveBatch(syncOrderDto.getOrderWorkers().stream().filter(item -> orderIdList.contains(item.getOrderBaseId())).collect(Collectors.toList()));
 
-        pgOrderProductService.saveOrUpdateBatch(syncOrderDto.getOrderProducts());
+        pgOrderProductService.saveBatch(syncOrderDto.getOrderProducts().stream().filter(item -> orderIdList.contains(item.getOrderBaseId())).collect(Collectors.toList()));
 
 
         if (!CollectionUtils.isEmpty(syncOrderDto.getPgOrderOperatorLogs())) {
@@ -1472,7 +1477,7 @@ public class OrderBaseExcelLogic {
                 pgOrderOperatorLog.setIsThreeOrder(true);
             }
 
-            pgOrderOperatorLogService.saveOrUpdateBatch(syncOrderDto.getPgOrderOperatorLogs());
+            pgOrderOperatorLogService.saveBatch(syncOrderDto.getPgOrderOperatorLogs().stream().filter(item -> orderIdList.contains(item.getOrderBaseId())).collect(Collectors.toList()));
         }
 
     }