|
@@ -579,7 +579,7 @@ public class FsExternalOrderServiceImpl implements IFsExternalOrderService {
|
|
|
try {
|
|
try {
|
|
|
String kdnAddress = fsUserAddressService.getKdnAddress(order.getUserAddress());
|
|
String kdnAddress = fsUserAddressService.getKdnAddress(order.getUserAddress());
|
|
|
Map<String, Object> result = JSON.parseObject(kdnAddress);
|
|
Map<String, Object> result = JSON.parseObject(kdnAddress);
|
|
|
- Map<String, String> addData = (Map<String, String>) ((Map) result.get("Data")).get("result");
|
|
|
|
|
|
|
+ Map<String, String> addData = (Map<String, String>) ((Map) result.get("Data"));
|
|
|
if (addData != null) {
|
|
if (addData != null) {
|
|
|
shopOrderDTO.setReceiverState((String) addData.get("ProvinceName"));
|
|
shopOrderDTO.setReceiverState((String) addData.get("ProvinceName"));
|
|
|
shopOrderDTO.setReceiverCity((String) addData.get("CityName"));
|
|
shopOrderDTO.setReceiverCity((String) addData.get("CityName"));
|
|
@@ -721,14 +721,27 @@ public class FsExternalOrderServiceImpl implements IFsExternalOrderService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void updateOrderDelivery(FsExternalOrder localOrder, ErpDeliverys delivery) {
|
|
private void updateOrderDelivery(FsExternalOrder localOrder, ErpDeliverys delivery) {
|
|
|
- if (localOrder.getStatus() != 2) {
|
|
|
|
|
|
|
+ if (delivery == null || StringUtils.isBlank(delivery.getMail_no())) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ FsExternalOrder currentOrder = fsExternalOrderMapper.selectFsExternalOrderByOrderId(localOrder.getOrderId());
|
|
|
|
|
+ if (currentOrder == null) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ String mailNo = delivery.getMail_no();
|
|
|
|
|
+ boolean hasSubscribed = currentOrder.getStatus() != null
|
|
|
|
|
+ && currentOrder.getStatus() != 2
|
|
|
|
|
+ && StringUtils.equals(currentOrder.getDeliverySn(), mailNo);
|
|
|
|
|
+ if (hasSubscribed) {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
FsExternalOrder updateOrder = new FsExternalOrder();
|
|
FsExternalOrder updateOrder = new FsExternalOrder();
|
|
|
updateOrder.setOrderId(localOrder.getOrderId());
|
|
updateOrder.setOrderId(localOrder.getOrderId());
|
|
|
updateOrder.setStatus(3);
|
|
updateOrder.setStatus(3);
|
|
|
- updateOrder.setDeliverySn(delivery.getMail_no());
|
|
|
|
|
|
|
+ updateOrder.setDeliverySn(mailNo);
|
|
|
|
|
|
|
|
String deliveryCode = delivery.getExpress_code();
|
|
String deliveryCode = delivery.getExpress_code();
|
|
|
String deliveryName = delivery.getExpress_name();
|
|
String deliveryName = delivery.getExpress_name();
|
|
@@ -755,9 +768,8 @@ public class FsExternalOrderServiceImpl implements IFsExternalOrderService {
|
|
|
|
|
|
|
|
updateOrder.setDeliveryTime(new Date());
|
|
updateOrder.setDeliveryTime(new Date());
|
|
|
fsExternalOrderMapper.updateFsExternalOrder(updateOrder);
|
|
fsExternalOrderMapper.updateFsExternalOrder(updateOrder);
|
|
|
- //订阅快递鸟
|
|
|
|
|
- subscribeExternalOrderExpress(localOrder, deliveryCode, delivery.getMail_no());
|
|
|
|
|
- log.info("外部订单已发货: {}, 快递: {}, 单号: {}", localOrder.getOrderCode(), deliveryCode, delivery.getMail_no());
|
|
|
|
|
|
|
+ subscribeExternalOrderExpress(currentOrder, deliveryCode, mailNo);
|
|
|
|
|
+ log.info("外部订单已发货: {}, 快递: {}, 单号: {}", localOrder.getOrderCode(), deliveryCode, mailNo);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void subscribeExternalOrderExpress(FsExternalOrder order, String deliveryCode, String deliverySn) {
|
|
private void subscribeExternalOrderExpress(FsExternalOrder order, String deliveryCode, String deliverySn) {
|