浏览代码

同步接口优化

24282 1 年之前
父节点
当前提交
c83dd4a1cf

+ 1 - 1
sd-business/src/main/java/com/sd/business/entity/production/vo/PackageBomVo.java

@@ -24,7 +24,7 @@ public class PackageBomVo {
     /**
      * sku品号
      */
-    private String skuSpecCode;
+    private String bomSpecCode;
 
     /**
      * 数量

+ 2 - 3
sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryServiceImpl.java

@@ -161,9 +161,8 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
                     if (bomSpec == null) {
                         throw new ServiceException("未知bom规格id:" + bomSpecId);
                     }
-                    throw new ServiceException("出库失败,品名为:" + bomSpec.getName() + "的bom库存不足,库存为:" +
-                            (inventory == null ? BigDecimal.ZERO : inventory.getQuantity()) +
-                            ",需要出库:" + quantity);
+                    throw new ServiceException("出库失败,品名为:" + bomSpec.getName() + " 的bom库存不足,库存为:" +
+                            (inventory == null ? BigDecimal.ZERO : inventory.getQuantity()) + ",需要出库:" + quantity);
                 }
 
                 // 计算出库结存单价

+ 1 - 1
sd-business/src/main/java/com/sd/business/service/production/impl/StockPreparationServiceImpl.java

@@ -171,7 +171,7 @@ public class StockPreparationServiceImpl implements StockPreparationService {
                 )).values());
 
         bomSpecService.attributeAssign(result, PackageBomVo::getBomSpecId, (item, bomSpec) -> {
-            item.setSkuSpecCode(bomSpec.getCode());
+            item.setBomSpecCode(bomSpec.getCode());
             item.setBomSpecName(bomSpec.getName());
         });
 

+ 7 - 19
sd-wln/src/main/java/com/sd/wln/context/OrderContext.java

@@ -21,10 +21,12 @@ import com.sd.business.service.price.PriceBillingStandardDetailService;
 import com.sd.business.service.sku.SkuSpecLinkService;
 import com.sd.business.service.sku.SkuSpecService;
 import lombok.Getter;
-import lombok.Setter;
 import lombok.extern.slf4j.Slf4j;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
@@ -69,23 +71,10 @@ public class OrderContext {
     private final List<OrderPackageBom> orderPackageBomList = new ArrayList<>();
 
     /**
-     * 当前时间
-     */
-    @Getter
-    public final Date endDate;
-
-    /**
-     * 仓库编码
-     */
-    @Getter
-    public final String warehouseCode;
-
-    /**
      * 万里牛订单列表
      */
     @Getter
-    @Setter
-    private List<JSONObject> wlnOrderList;
+    private final List<JSONObject> wlnOrderList;
 
     /**
      * 事业部
@@ -136,9 +125,8 @@ public class OrderContext {
     /**
      * 实例化
      */
-    public OrderContext(String warehouseCode) {
-        this.endDate = new Date();
-        this.warehouseCode = warehouseCode;
+    public OrderContext(String warehouseCode, List<JSONObject> wlnOrderList) {
+        this.wlnOrderList = wlnOrderList;
         this.department = departmentService.getDepartmentByWarehouseCode(warehouseCode);
     }
 

+ 2 - 3
sd-wln/src/main/java/com/sd/wln/service/impl/OrderHandleServiceImpl.java

@@ -32,7 +32,7 @@ public class OrderHandleServiceImpl implements OrderHandleService {
     @Transactional(rollbackFor = Exception.class)
     @LogicIgnore
     @Override
-    public void resynchronization(ResynchronizationDto dto) {
+    public synchronized void resynchronization(ResynchronizationDto dto) {
         JSONObject wlnOrder;
         try {
             wlnOrder = WlnUtil.getOrderByWlnCode(dto.getWlnCode());
@@ -53,8 +53,7 @@ public class OrderHandleServiceImpl implements OrderHandleService {
         }
 
         String storageCode = wlnOrder.getString("storage_code");
-        OrderContext context = new OrderContext(storageCode);
-        context.setWlnOrderList(Collections.singletonList(wlnOrder));
+        OrderContext context = new OrderContext(storageCode, Collections.singletonList(wlnOrder));
         OrderInfo order = wlnOrderService.createOrder(context, wlnOrder);
         wlnOrderService.addOrder(context, wlnOrder, order);
         wlnOrderService.saveOrUpdateOrder(context);

+ 7 - 8
sd-wln/src/main/java/com/sd/wln/service/impl/WlnOrderServiceImpl.java

@@ -72,15 +72,16 @@ public class WlnOrderServiceImpl implements WlnOrderService {
         }
 
         for (DictCommonData dictCommonData : warehouseCodeList) {
-            OrderContext context = new OrderContext(dictCommonData.getDictValue());
-            setWlnOrderList(context);
+            String warehouseCode = dictCommonData.getDictValue();
+            List<JSONObject> wlnOrderList = getWlnOrderList(warehouseCode);
 
             // 万里牛订单若为0,结束同步任务
-            List<JSONObject> wlnOrderList = context.getWlnOrderList();
             if (ObjectUtil.isEmpty(wlnOrderList)) {
                 continue;
             }
 
+            OrderContext context = new OrderContext(warehouseCode, wlnOrderList);
+
             Map<String, OrderInfo> existOrderMap = context.getExistOrderMap();
 
             // 循环万里牛订单
@@ -538,9 +539,8 @@ public class WlnOrderServiceImpl implements WlnOrderService {
     /**
      * 查询万里牛订单列表
      */
-    private void setWlnOrderList(OrderContext context) {
-        String warehouseCode = context.getWarehouseCode();
-        long endTime = context.getEndDate().getTime();
+    private List<JSONObject> getWlnOrderList(String warehouseCode) {
+        Long endTime = new Date().getTime();
         long startTime;
 
         OrderInfo orderInfo = orderService.getOne(q -> q
@@ -568,12 +568,11 @@ public class WlnOrderServiceImpl implements WlnOrderService {
                 list.addAll(itemList);
             } catch (Exception e) {
                 log.error("订单同步失败", e);
-                context.setWlnOrderList(Collections.emptyList());
                 throw new ServiceException("订单同步失败");
             }
         } while (size >= 200);
 
-        context.setWlnOrderList(list);
+        return list;
     }
 
 }