|
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
import com.fjhx.tenant.entity.dict.po.DictCommonData;
|
|
import com.fjhx.tenant.entity.dict.po.DictCommonData;
|
|
import com.fjhx.tenant.service.dict.DictCommonDataService;
|
|
import com.fjhx.tenant.service.dict.DictCommonDataService;
|
|
import com.ruoyi.common.constant.StatusConstant;
|
|
import com.ruoyi.common.constant.StatusConstant;
|
|
|
|
+import com.ruoyi.common.exception.ServiceException;
|
|
import com.sd.business.entity.bom.bo.BomSpecBo;
|
|
import com.sd.business.entity.bom.bo.BomSpecBo;
|
|
import com.sd.business.entity.department.po.Department;
|
|
import com.sd.business.entity.department.po.Department;
|
|
import com.sd.business.entity.order.enums.OrderExceptionTypeEnum;
|
|
import com.sd.business.entity.order.enums.OrderExceptionTypeEnum;
|
|
@@ -24,6 +25,7 @@ import com.sd.business.service.order.OrderSkuBomService;
|
|
import com.sd.business.service.order.OrderSkuService;
|
|
import com.sd.business.service.order.OrderSkuService;
|
|
import com.sd.wln.context.OrderContext;
|
|
import com.sd.wln.context.OrderContext;
|
|
import com.sd.wln.service.WlnOrderService;
|
|
import com.sd.wln.service.WlnOrderService;
|
|
|
|
+import com.sd.wln.util.WlnUtil;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -71,6 +73,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
|
|
|
for (DictCommonData dictCommonData : warehouseCodeList) {
|
|
for (DictCommonData dictCommonData : warehouseCodeList) {
|
|
OrderContext context = new OrderContext(dictCommonData.getDictValue());
|
|
OrderContext context = new OrderContext(dictCommonData.getDictValue());
|
|
|
|
+ setWlnOrderList(context);
|
|
|
|
|
|
// 万里牛订单若为0,结束同步任务
|
|
// 万里牛订单若为0,结束同步任务
|
|
List<JSONObject> wlnOrderList = context.getWlnOrderList();
|
|
List<JSONObject> wlnOrderList = context.getWlnOrderList();
|
|
@@ -532,4 +535,45 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 查询万里牛订单列表
|
|
|
|
+ */
|
|
|
|
+ private void setWlnOrderList(OrderContext context) {
|
|
|
|
+ String warehouseCode = context.getWarehouseCode();
|
|
|
|
+ long endTime = context.getEndDate().getTime();
|
|
|
|
+ long startTime;
|
|
|
|
+
|
|
|
|
+ OrderInfo orderInfo = orderService.getOne(q -> q
|
|
|
|
+ .eq(OrderInfo::getWlnStorageCode, warehouseCode)
|
|
|
|
+ .orderByDesc(OrderInfo::getWlnModifyTimestamp));
|
|
|
|
+
|
|
|
|
+ if (orderInfo == null) {
|
|
|
|
+ startTime = endTime - 1000 * 60 * 60 * 24;
|
|
|
|
+ } else {
|
|
|
|
+ startTime = orderInfo.getWlnModifyTimestamp();
|
|
|
|
+ if (endTime - startTime > 1000 * 60 * 60 * 24 * 7) {
|
|
|
|
+ startTime = endTime - 1000 * 60 * 60 * 24 * 7;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<JSONObject> list = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ int page = 1;
|
|
|
|
+ int size;
|
|
|
|
+ do {
|
|
|
|
+ try {
|
|
|
|
+ List<JSONObject> itemList = WlnUtil.getOrderList(page, 200, startTime, endTime, warehouseCode);
|
|
|
|
+ page++;
|
|
|
|
+ size = itemList.size();
|
|
|
|
+ list.addAll(itemList);
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.error("订单同步失败", e);
|
|
|
|
+ context.setWlnOrderList(Collections.emptyList());
|
|
|
|
+ throw new ServiceException("订单同步失败");
|
|
|
|
+ }
|
|
|
|
+ } while (size >= 200);
|
|
|
|
+
|
|
|
|
+ context.setWlnOrderList(list);
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|