|
@@ -252,16 +252,20 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
&& ObjectUtil.notEqual(orderInfo.getClassify(), OrderClassifyEnum.NO_REASON_ORDER.getKey())) {
|
|
|
List<OrderInfo> updateOrderList = context.getUpdateOrderList();
|
|
|
List<OrderInfo> saveStatementOrderList = context.getSaveStatementOrderList();
|
|
|
- orderInfo.setWlnStatus(wlnOrder.getInteger("process_status"));
|
|
|
- orderInfo.setWlnModifyTime(wlnOrder.getDate("modify_time"));
|
|
|
- orderInfo.setWlnModifyTimestamp(wlnOrder.getLong("modify_time"));
|
|
|
- orderInfo.setStatus(OrderStatusEnum.COMPLETION_PRODUCTION.getKey());
|
|
|
- orderInfo.setClassify(OrderClassifyEnum.NO_REASON_ORDER.getKey());
|
|
|
- orderInfo.setShippingTime(new Date());
|
|
|
+ OrderInfo updateOrderInfo = new OrderInfo();
|
|
|
+ updateOrderInfo.setId(orderInfo.getId());
|
|
|
+ updateOrderInfo.setExceptionType(orderInfo.getExceptionType());
|
|
|
+ updateOrderInfo.setStockType(orderInfo.getStockType());
|
|
|
+ updateOrderInfo.setWlnStatus(wlnOrder.getInteger("process_status"));
|
|
|
+ updateOrderInfo.setWlnModifyTime(wlnOrder.getDate("modify_time"));
|
|
|
+ updateOrderInfo.setWlnModifyTimestamp(wlnOrder.getLong("modify_time"));
|
|
|
+ updateOrderInfo.setStatus(OrderStatusEnum.COMPLETION_PRODUCTION.getKey());
|
|
|
+ updateOrderInfo.setClassify(OrderClassifyEnum.NO_REASON_ORDER.getKey());
|
|
|
+ updateOrderInfo.setShippingTime(new Date());
|
|
|
|
|
|
// 保存对账单列表
|
|
|
saveStatementOrderList.add(orderInfo);
|
|
|
- updateOrderList.add(orderInfo);
|
|
|
+ updateOrderList.add(updateOrderInfo);
|
|
|
}
|
|
|
|
|
|
return;
|
|
@@ -278,50 +282,54 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
Department department = context.getDepartment();
|
|
|
Map<Long, List<OrderSku>> existOrderSkuMap = context.getExistOrderSkuMap();
|
|
|
List<OrderInfo> updateOrderList = context.getUpdateOrderList();
|
|
|
-
|
|
|
- orderInfo.setWlnStorageCode(wlnOrder.getString("storage_code"));
|
|
|
- orderInfo.setWlnUid(wlnOrder.getString("uid"));
|
|
|
- orderInfo.setCode(wlnOrder.getString("tp_tid"));
|
|
|
- orderInfo.setWlnCode(wlnOrder.getString("trade_no"));
|
|
|
- orderInfo.setWlnStatus(wlnOrder.getInteger("process_status"));
|
|
|
- orderInfo.setWlnCreateTime(wlnOrder.getDate("create_time"));
|
|
|
- orderInfo.setWlnModifyTime(wlnOrder.getDate("modify_time"));
|
|
|
- orderInfo.setWlnModifyTimestamp(wlnOrder.getLong("modify_time"));
|
|
|
- orderInfo.setWlnApproveTime(wlnOrder.getDate("approve_time"));
|
|
|
- orderInfo.setWlnPrintTime(wlnOrder.getDate("print_time"));
|
|
|
- orderInfo.setSourcePlatform(wlnOrder.getString("source_platform"));
|
|
|
- orderInfo.setShopName(wlnOrder.getString("shop_name"));
|
|
|
- orderInfo.setProvince(wlnOrder.getString("province"));
|
|
|
- orderInfo.setCity(wlnOrder.getString("city"));
|
|
|
- orderInfo.setCounty(wlnOrder.getString("district"));
|
|
|
- orderInfo.setDetailedAddress(wlnOrder.getString("address"));
|
|
|
- orderInfo.setPostcode(wlnOrder.getString("zip"));
|
|
|
- orderInfo.setDeliveryTime(DateUtil.offsetDay(orderInfo.getWlnCreateTime(), 1));
|
|
|
- orderInfo.setRemark(wlnOrder.getString("remark"));
|
|
|
+ OrderInfo updateOrderInfo = new OrderInfo();
|
|
|
+ updateOrderInfo.setId(orderInfo.getId());
|
|
|
+ updateOrderInfo.setExceptionType(orderInfo.getExceptionType());
|
|
|
+ updateOrderInfo.setStockType(orderInfo.getStockType());
|
|
|
+
|
|
|
+ updateOrderInfo.setWlnStorageCode(wlnOrder.getString("storage_code"));
|
|
|
+ updateOrderInfo.setWlnUid(wlnOrder.getString("uid"));
|
|
|
+ updateOrderInfo.setCode(wlnOrder.getString("tp_tid"));
|
|
|
+ updateOrderInfo.setWlnCode(wlnOrder.getString("trade_no"));
|
|
|
+ updateOrderInfo.setWlnStatus(wlnOrder.getInteger("process_status"));
|
|
|
+ updateOrderInfo.setWlnCreateTime(wlnOrder.getDate("create_time"));
|
|
|
+ updateOrderInfo.setWlnModifyTime(wlnOrder.getDate("modify_time"));
|
|
|
+ updateOrderInfo.setWlnModifyTimestamp(wlnOrder.getLong("modify_time"));
|
|
|
+ updateOrderInfo.setWlnApproveTime(wlnOrder.getDate("approve_time"));
|
|
|
+ updateOrderInfo.setWlnPrintTime(wlnOrder.getDate("print_time"));
|
|
|
+ updateOrderInfo.setSourcePlatform(wlnOrder.getString("source_platform"));
|
|
|
+ updateOrderInfo.setShopName(wlnOrder.getString("shop_name"));
|
|
|
+ updateOrderInfo.setProvince(wlnOrder.getString("province"));
|
|
|
+ updateOrderInfo.setCity(wlnOrder.getString("city"));
|
|
|
+ updateOrderInfo.setCounty(wlnOrder.getString("district"));
|
|
|
+ updateOrderInfo.setDetailedAddress(wlnOrder.getString("address"));
|
|
|
+ updateOrderInfo.setPostcode(wlnOrder.getString("zip"));
|
|
|
+ updateOrderInfo.setDeliveryTime(DateUtil.offsetDay(orderInfo.getWlnCreateTime(), 1));
|
|
|
+ updateOrderInfo.setRemark(wlnOrder.getString("remark"));
|
|
|
|
|
|
// 赋值订单异常类型
|
|
|
- if (orderInfo.getWlnStatus() == 10) {
|
|
|
- addExceptionType(orderInfo, OrderExceptionTypeEnum.ORDER_CLOSURE);
|
|
|
+ if (updateOrderInfo.getWlnStatus() == 10) {
|
|
|
+ addExceptionType(updateOrderInfo, OrderExceptionTypeEnum.ORDER_CLOSURE);
|
|
|
}
|
|
|
- if (orderInfo.getWlnStatus() == 11) {
|
|
|
- addExceptionType(orderInfo, OrderExceptionTypeEnum.ORDER_ABORT);
|
|
|
+ if (updateOrderInfo.getWlnStatus() == 11) {
|
|
|
+ addExceptionType(updateOrderInfo, OrderExceptionTypeEnum.ORDER_ABORT);
|
|
|
}
|
|
|
- if (orderInfo.getWlnStatus() == 12) {
|
|
|
- addExceptionType(orderInfo, OrderExceptionTypeEnum.ORDER_EXCEPTION_HANDLING);
|
|
|
+ if (updateOrderInfo.getWlnStatus() == 12) {
|
|
|
+ addExceptionType(updateOrderInfo, OrderExceptionTypeEnum.ORDER_EXCEPTION_HANDLING);
|
|
|
}
|
|
|
|
|
|
// 事业部
|
|
|
if (department == null) {
|
|
|
- addExceptionType(orderInfo, OrderExceptionTypeEnum.UNKNOWN_WAREHOUSE);
|
|
|
+ addExceptionType(updateOrderInfo, OrderExceptionTypeEnum.UNKNOWN_WAREHOUSE);
|
|
|
} else {
|
|
|
- orderInfo.setDepartmentId(department.getId());
|
|
|
+ updateOrderInfo.setDepartmentId(department.getId());
|
|
|
}
|
|
|
|
|
|
- List<OrderSku> orderSkuList = new ArrayList<>(existOrderSkuMap.getOrDefault(orderInfo.getId(), Collections.emptyList()));
|
|
|
+ List<OrderSku> orderSkuList = new ArrayList<>(existOrderSkuMap.getOrDefault(updateOrderInfo.getId(), Collections.emptyList()));
|
|
|
List<JSONObject> wlnOrderSkuList = wlnOrder.getJSONArray("orders").toJavaList(JSONObject.class);
|
|
|
|
|
|
if (orderSkuList.size() != wlnOrderSkuList.size()) {
|
|
|
- addExceptionType(orderInfo, OrderExceptionTypeEnum.SKU_UPDATE);
|
|
|
+ addExceptionType(updateOrderInfo, OrderExceptionTypeEnum.SKU_UPDATE);
|
|
|
} else {
|
|
|
for (JSONObject wlnOrderSku : wlnOrderSkuList) {
|
|
|
for (OrderSku orderSku : orderSkuList) {
|
|
@@ -336,19 +344,25 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
}
|
|
|
|
|
|
if (!orderSkuList.isEmpty()) {
|
|
|
- addExceptionType(orderInfo, OrderExceptionTypeEnum.SKU_UPDATE);
|
|
|
+ addExceptionType(updateOrderInfo, OrderExceptionTypeEnum.SKU_UPDATE);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 万里牛订单状态不为1时,订单状态修改为备料中
|
|
|
+ // 当前万里牛订单状态不为1时,订单状态修改为备料中
|
|
|
if (department != null
|
|
|
&& Objects.equals(department.getOrderMode(), "2")
|
|
|
- && orderInfo.getWlnStatus() != 1
|
|
|
+ && updateOrderInfo.getWlnStatus() != 1
|
|
|
&& Objects.equals(orderInfo.getStatus(), OrderStatusEnum.UNDER_REVIEW.getKey())) {
|
|
|
- orderInfo.setStatus(OrderStatusEnum.STOCK_PREPARATION.getKey());
|
|
|
+ updateOrderInfo.setStatus(OrderStatusEnum.STOCK_PREPARATION.getKey());
|
|
|
+ updateOrderInfo.setLockStorage(StatusConstant.NO);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 异常订单保存锁定库存状态
|
|
|
+ if (!Objects.equals(orderInfo.getExceptionType(), OrderExceptionTypeEnum.NORMAL.getKey().toString())) {
|
|
|
+ updateOrderInfo.setLockStorage(orderInfo.getLockStorage());
|
|
|
}
|
|
|
|
|
|
- updateOrderList.add(orderInfo);
|
|
|
+ updateOrderList.add(updateOrderInfo);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -854,7 +868,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
List<OrderInfo> updateOrderList = context.getUpdateOrderList();
|
|
|
Map<Long, List<OrderSku>> existOrderSkuMap = context.getExistOrderSkuMap();
|
|
|
|
|
|
- Map<Long, OrderInfo> orderMap = Stream.concat(saveOrderList.stream(), updateOrderList.stream()).collect(Collectors.toMap(BaseIdPo::getId, Function.identity()));
|
|
|
+ Map<Long, OrderInfo> orderMap = Stream.concat(saveOrderList.stream(), updateOrderList.stream()).collect(Collectors.toMap(BaseIdPo::getId, Function.identity(), (v1, v2) -> v2));
|
|
|
|
|
|
Map<Long, List<OrderSku>> orderSkuMap = Stream.concat(
|
|
|
saveOrderSkuList.stream(),
|
|
@@ -907,7 +921,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
|
|
|
for (OrderInfo orderInfo : updateOrderList) {
|
|
|
if (ObjectUtil.equal(orderInfo.getExceptionType(), OrderExceptionTypeEnum.NORMAL.getKey().toString())
|
|
|
- || ObjectUtil.equal(orderInfo.getLockStorage(), StatusConstant.NO)) {
|
|
|
+ || !ObjectUtil.equal(orderInfo.getLockStorage(), StatusConstant.YES)) {
|
|
|
continue;
|
|
|
}
|
|
|
|