|
@@ -93,6 +93,7 @@ import com.fs.wx.service.ShippingService;
|
|
|
import lombok.Synchronized;
|
|
|
import me.chanjar.weixin.common.error.WxErrorException;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
+import org.apache.commons.lang.ObjectUtils;
|
|
|
import org.apache.http.util.Asserts;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
@@ -1215,6 +1216,41 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
|
|
|
+ public void syncDeliveryOrder(FsStoreOrder order) {
|
|
|
+ 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());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void updateDeliveryOrder(Long id, String deliveryId, String deliverCode, String deliverName) {
|
|
|
FsStoreOrder order = fsStoreOrderMapper.selectFsStoreOrderById(id);
|