|
@@ -148,7 +148,6 @@ public class StoreTask {
|
|
|
* 发货任务
|
|
|
*/
|
|
|
@QuartzRunnable(name = "发货任务")
|
|
|
- @Transactional
|
|
|
public void deliveryOp() {
|
|
|
List<FsStoreOrder> list = orderService.selectDeliverPenddingData();
|
|
|
|
|
@@ -156,40 +155,46 @@ public class StoreTask {
|
|
|
String orderCode = order.getOrderCode();
|
|
|
ErpOrderQueryRequert request = new ErpOrderQueryRequert();
|
|
|
request.setCode(order.getExtendOrderId());
|
|
|
- // 根据仓库code找erp
|
|
|
- if(com.fs.common.utils.StringUtils.isNotBlank(order.getStoreHouseCode())){
|
|
|
- String erp = fsWarehousesMapper.selectErpByCode(order.getStoreHouseCode());
|
|
|
- ErpContextHolder.setErpType(erp);
|
|
|
- }
|
|
|
- ErpOrderQueryResponse response = erpOrderService.getOrder(request);
|
|
|
- if (CollectionUtils.isNotEmpty(response.getOrders())) {
|
|
|
- for (ErpOrderQuery orderQuery : response.getOrders()) {
|
|
|
- if (CollectionUtils.isNotEmpty(orderQuery.getDeliverys())) {
|
|
|
- // 部分发货或者全部发货
|
|
|
- if (ObjectUtils.equals(orderQuery.getDelivery_state(), 1) || ObjectUtils.equals(orderQuery.getDelivery_state(), 2)) {
|
|
|
|
|
|
- orderStatusService.create(order.getId(), OrderLogEnum.DELIVERY_GOODS.getValue(),
|
|
|
- OrderLogEnum.DELIVERY_GOODS.getDesc());
|
|
|
-
|
|
|
- for (ErpDeliverys delivery : orderQuery.getDeliverys()) {
|
|
|
+ try{
|
|
|
+ // 根据仓库code找erp
|
|
|
+ if(com.fs.common.utils.StringUtils.isNotBlank(order.getStoreHouseCode())){
|
|
|
+ String erp = fsWarehousesMapper.selectErpByCode(order.getStoreHouseCode());
|
|
|
+ ErpContextHolder.setErpType(erp);
|
|
|
+ }
|
|
|
+ ErpOrderQueryResponse response = erpOrderService.getOrder(request);
|
|
|
+ if (CollectionUtils.isNotEmpty(response.getOrders())) {
|
|
|
+ for (ErpOrderQuery orderQuery : response.getOrders()) {
|
|
|
+ if (CollectionUtils.isNotEmpty(orderQuery.getDeliverys())) {
|
|
|
+ // 部分发货或者全部发货
|
|
|
+ if (ObjectUtils.equals(orderQuery.getDelivery_state(), 1) || ObjectUtils.equals(orderQuery.getDelivery_state(), 2)) {
|
|
|
+
|
|
|
+ orderStatusService.create(order.getId(), OrderLogEnum.DELIVERY_GOODS.getValue(),
|
|
|
+ OrderLogEnum.DELIVERY_GOODS.getDesc());
|
|
|
+
|
|
|
+ for (ErpDeliverys delivery : orderQuery.getDeliverys()) {
|
|
|
+
|
|
|
+ FsExpress express=expressService.selectFsExpressByOmsCode(delivery.getExpress_code());
|
|
|
+ if(express == null){
|
|
|
+ logger.warn("当前express_code: {} 不存在!",delivery.getExpress_code());
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
- FsExpress express=expressService.selectFsExpressByOmsCode(delivery.getExpress_code());
|
|
|
- if(express == null){
|
|
|
- logger.warn("当前express_code: {} 不存在!",delivery.getExpress_code());
|
|
|
- continue;
|
|
|
+ if (delivery.getDelivery()) {
|
|
|
+ orderService.deliveryOrder(orderCode, delivery.getMail_no(),
|
|
|
+ delivery.getExpress_code(), delivery.getExpress_name());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- if (delivery.getDelivery()) {
|
|
|
- orderService.deliveryOrder(orderCode, delivery.getMail_no(),
|
|
|
- delivery.getExpress_code(), delivery.getExpress_name());
|
|
|
- }
|
|
|
+ logger.info("订单 {} 发货信息同步成功",order.getOrderCode());
|
|
|
}
|
|
|
-
|
|
|
- logger.info("订单 {} 发货信息同步成功",order.getOrderCode());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ }catch (Exception e){
|
|
|
+ logger.error(String.format("[发货任务]调用erp查询接口失败!原因: %s",e));
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -503,34 +508,40 @@ public class StoreTask {
|
|
|
List<FsStoreOrder> list = fsStoreOrderMapper.selectUpdateExpress();
|
|
|
|
|
|
for (FsStoreOrder order : list) {
|
|
|
- ErpOrderQueryRequert request = new ErpOrderQueryRequert();
|
|
|
- request.setCode(order.getExtendOrderId());
|
|
|
- // 根据仓库code找erp
|
|
|
- if(com.fs.common.utils.StringUtils.isNotBlank(order.getStoreHouseCode())){
|
|
|
- String erp = fsWarehousesMapper.selectErpByCode(order.getStoreHouseCode());
|
|
|
- ErpContextHolder.setErpType(erp);
|
|
|
- }
|
|
|
|
|
|
- ErpOrderQueryResponse response = erpOrderService.getOrder(request);
|
|
|
- if (CollectionUtils.isNotEmpty(response.getOrders())) {
|
|
|
- for (ErpOrderQuery orderQuery : response.getOrders()) {
|
|
|
- // 部分发货或者全部发货
|
|
|
- if (ObjectUtils.equals(orderQuery.getDelivery_state(), 1) || ObjectUtils.equals(orderQuery.getDelivery_state(), 2)) {
|
|
|
- // 订单状态变更
|
|
|
- orderStatusService.create(order.getId(), OrderLogEnum.DELIVERY_GOODS.getValue(),
|
|
|
- OrderLogEnum.DELIVERY_GOODS.getDesc());
|
|
|
-
|
|
|
- redisCache.deleteObject(DELIVERY + ":" + order.getExtendOrderId());
|
|
|
-
|
|
|
- for (ErpDeliverys delivery : orderQuery.getDeliverys()) {
|
|
|
- if (delivery.getDelivery()) {
|
|
|
- orderService.deliveryOrder(order.getOrderCode(), delivery.getMail_no(),
|
|
|
- delivery.getExpress_code(), delivery.getExpress_name());
|
|
|
+ try{
|
|
|
+ logger.info("[发货任务] 当前单号: {}",order.getOrderCode());
|
|
|
+ ErpOrderQueryRequert request = new ErpOrderQueryRequert();
|
|
|
+ request.setCode(order.getExtendOrderId());
|
|
|
+ // 根据仓库code找erp
|
|
|
+ if(com.fs.common.utils.StringUtils.isNotBlank(order.getStoreHouseCode())){
|
|
|
+ String erp = fsWarehousesMapper.selectErpByCode(order.getStoreHouseCode());
|
|
|
+ ErpContextHolder.setErpType(erp);
|
|
|
+ }
|
|
|
+
|
|
|
+ ErpOrderQueryResponse response = erpOrderService.getOrder(request);
|
|
|
+ if (CollectionUtils.isNotEmpty(response.getOrders())) {
|
|
|
+ for (ErpOrderQuery orderQuery : response.getOrders()) {
|
|
|
+ // 部分发货或者全部发货
|
|
|
+ if (ObjectUtils.equals(orderQuery.getDelivery_state(), 1) || ObjectUtils.equals(orderQuery.getDelivery_state(), 2)) {
|
|
|
+ // 订单状态变更
|
|
|
+ orderStatusService.create(order.getId(), OrderLogEnum.DELIVERY_GOODS.getValue(),
|
|
|
+ OrderLogEnum.DELIVERY_GOODS.getDesc());
|
|
|
+
|
|
|
+ redisCache.deleteObject(DELIVERY + ":" + order.getExtendOrderId());
|
|
|
+
|
|
|
+ for (ErpDeliverys delivery : orderQuery.getDeliverys()) {
|
|
|
+ if (delivery.getDelivery()) {
|
|
|
+ orderService.deliveryOrder(order.getOrderCode(), delivery.getMail_no(),
|
|
|
+ delivery.getExpress_code(), delivery.getExpress_name());
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ }catch (Exception e) {
|
|
|
+ logger.error("获取订单是否发货失败!原因: ",e);
|
|
|
}
|
|
|
}
|
|
|
|