|
@@ -5,8 +5,6 @@ import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
-import com.fjhx.tenant.entity.dict.po.DictCommonData;
|
|
|
-import com.fjhx.tenant.service.dict.DictCommonDataService;
|
|
|
import com.ruoyi.common.constant.StatusConstant;
|
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
|
import com.ruoyi.framework.mybatis.holder.LogicHolder;
|
|
@@ -56,9 +54,6 @@ import java.util.stream.Collectors;
|
|
|
public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
|
|
|
@Autowired
|
|
|
- private DictCommonDataService dictCommonDataService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
private OrderInfoService orderInfoService;
|
|
|
|
|
|
@Autowired
|
|
@@ -79,77 +74,67 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
@Autowired
|
|
|
private InventoryFinishedService inventoryFinishedService;
|
|
|
|
|
|
+ /**
|
|
|
+ * 只抓指定仓库编码订单数据
|
|
|
+ */
|
|
|
+ private static final String WAREHOUSE_CODE = "T008";
|
|
|
+
|
|
|
@Override
|
|
|
public void syncOrder() {
|
|
|
|
|
|
- List<DictCommonData> warehouseCodeList = dictCommonDataService.list(q -> q.eq(DictCommonData::getDictCode, "warehouse_code"));
|
|
|
-
|
|
|
- for (DictCommonData dictCommonData : warehouseCodeList) {
|
|
|
+ // 查询事业部万里牛订单
|
|
|
+ List<JSONObject> wlnOrderList = getWlnOrderList(WAREHOUSE_CODE);
|
|
|
|
|
|
- // 获取事业部编号
|
|
|
- String warehouseCode = dictCommonData.getDictValue();
|
|
|
-
|
|
|
- // 查询事业部万里牛订单
|
|
|
- List<JSONObject> wlnOrderList = getWlnOrderList(warehouseCode);
|
|
|
-
|
|
|
- // 万里牛订单数量若为0,结束同步任务
|
|
|
- if (wlnOrderList.isEmpty()) {
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- // 初始化订单上下文
|
|
|
- OrderContext context = new OrderContext(warehouseCode, wlnOrderList);
|
|
|
-
|
|
|
- // 获取已存在订单
|
|
|
- Map<String, OrderInfo> existOrderMap = context.getExistOrderMap();
|
|
|
+ // 万里牛订单数量若为0,结束同步任务
|
|
|
+ if (wlnOrderList.isEmpty()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
- // 循环万里牛订单
|
|
|
- for (JSONObject wlnOrder : wlnOrderList) {
|
|
|
+ // 初始化订单上下文
|
|
|
+ OrderContext context = new OrderContext(WAREHOUSE_CODE, wlnOrderList);
|
|
|
|
|
|
- // 数据库中是否存在订单
|
|
|
- OrderInfo orderInfo = existOrderMap.get(wlnOrder.getString("uid"));
|
|
|
+ // 获取已存在订单
|
|
|
+ Map<String, OrderInfo> existOrderMap = context.getExistOrderMap();
|
|
|
|
|
|
- // 不存在新增
|
|
|
- if (orderInfo == null) {
|
|
|
+ // 循环万里牛订单
|
|
|
+ for (JSONObject wlnOrder : wlnOrderList) {
|
|
|
|
|
|
- // 9月1号之前的订单不同步
|
|
|
- Date printTime = wlnOrder.getDate("print_time");
|
|
|
- if (printTime != null && printTime.before(DateUtil.parse("2023-12-10 00:00:00"))) {
|
|
|
- continue;
|
|
|
- }
|
|
|
+ // 数据库中是否存在订单
|
|
|
+ OrderInfo orderInfo = existOrderMap.get(wlnOrder.getString("uid"));
|
|
|
|
|
|
- // 审核通过之前或预售状态的订单不同步
|
|
|
- Integer processStatus = wlnOrder.getInteger("process_status");
|
|
|
- if (processStatus < 1 || processStatus == 14) {
|
|
|
- continue;
|
|
|
- }
|
|
|
+ // 不存在新增
|
|
|
+ if (orderInfo == null) {
|
|
|
|
|
|
- // 创建订单
|
|
|
- orderInfo = createOrder(context, wlnOrder);
|
|
|
+ // 审核通过之前或预售状态的订单不同步
|
|
|
+ Integer processStatus = wlnOrder.getInteger("process_status");
|
|
|
+ if (processStatus < 1 || processStatus == 14) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
- // 添加订单到上下文
|
|
|
- addOrder(context, wlnOrder, orderInfo);
|
|
|
+ // 创建订单
|
|
|
+ orderInfo = createOrder(context, wlnOrder);
|
|
|
|
|
|
- }
|
|
|
- // 存在修改
|
|
|
- else {
|
|
|
- updateOrder(context, wlnOrder, orderInfo);
|
|
|
- }
|
|
|
+ // 添加订单到上下文
|
|
|
+ addOrder(context, wlnOrder, orderInfo);
|
|
|
|
|
|
}
|
|
|
-
|
|
|
- // 保存新增、修改的订单
|
|
|
- try {
|
|
|
- TransactionUtil.execute(() -> {
|
|
|
- // 保存或更新数据
|
|
|
- saveOrUpdateOrder(context);
|
|
|
- });
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("同步订单失败");
|
|
|
+ // 存在修改
|
|
|
+ else {
|
|
|
+ updateOrder(context, wlnOrder, orderInfo);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
+ // 保存新增、修改的订单
|
|
|
+ try {
|
|
|
+ TransactionUtil.execute(() -> {
|
|
|
+ // 保存或更新数据
|
|
|
+ saveOrUpdateOrder(context);
|
|
|
+ });
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("同步订单失败");
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|