| 
														
															@@ -45,6 +45,7 @@ import com.fs.company.service.ICompanyUserService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.erp.domain.*; 
														 | 
														
														 | 
														
															 import com.fs.erp.domain.*; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.erp.dto.*; 
														 | 
														
														 | 
														
															 import com.fs.erp.dto.*; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.erp.service.IErpOrderService; 
														 | 
														
														 | 
														
															 import com.fs.erp.service.IErpOrderService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.fs.express.FsStoreDeliversService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.huifuPay.domain.HuiFuRefundResult; 
														 | 
														
														 | 
														
															 import com.fs.huifuPay.domain.HuiFuRefundResult; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.huifuPay.dto.*; 
														 | 
														
														 | 
														
															 import com.fs.huifuPay.dto.*; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.huifuPay.sdk.opps.core.request.V2TradePaymentScanpayRefundRequest; 
														 | 
														
														 | 
														
															 import com.fs.huifuPay.sdk.opps.core.request.V2TradePaymentScanpayRefundRequest; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -190,6 +191,13 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Autowired 
														 | 
														
														 | 
														
															     @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private FsStoreDeliversMapper fsStoreDeliversMapper; 
														 | 
														
														 | 
														
															     private FsStoreDeliversMapper fsStoreDeliversMapper; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private IFsStoreOrderService orderService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private FsStoreDeliversService fsStoreDeliversService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /** 
														 | 
														
														 | 
														
															     /** 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      * 查询订单 
														 | 
														
														 | 
														
															      * 查询订单 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      * 
														 | 
														
														 | 
														
															      * 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -902,9 +910,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 微信消息通知 
														 | 
														
														 | 
														
															             // 微信消息通知 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             TemplateBean templateBean = TemplateBean.builder() 
														 | 
														
														 | 
														
															             TemplateBean templateBean = TemplateBean.builder() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     .orderId(order.getId().toString()) 
														 | 
														
														 | 
														
															                     .orderId(order.getId().toString()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    .orderCode(order.getOrderCode().toString()) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    .deliveryId(order.getDeliveryId()) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    .deliveryName(order.getDeliveryName()) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .orderCode(order.getOrderCode()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .deliveryId(deliveryId) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .deliveryName(express.getName()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     .userId(order.getUserId()) 
														 | 
														
														 | 
														
															                     .userId(order.getUserId()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     .templateType(TemplateListenEnum.TYPE_2.getValue()) 
														 | 
														
														 | 
														
															                     .templateType(TemplateListenEnum.TYPE_2.getValue()) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     .build(); 
														 | 
														
														 | 
														
															                     .build(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -912,38 +920,34 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             //订阅物流回调 
														 | 
														
														 | 
														
															             //订阅物流回调 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             String lastFourNumber = ""; 
														 | 
														
														 | 
														
															             String lastFourNumber = ""; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue())) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                lastFourNumber = order.getUserPhone(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if (lastFourNumber.length() == 11) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (StringUtils.equals(express.getCode(),ShipperCodeEnum.SF.getValue())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                lastFourNumber = PhoneUtils.getLastFourNum(order.getUserPhone()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            expressService.subscribeEspress(order.getOrderCode(),order.getDeliverySn(),order.getDeliveryId(),lastFourNumber); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            expressService.subscribeEspress(order.getOrderCode(),express.getCode(),deliveryId,lastFourNumber); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public void updateDeliveryOrder(Long id,String deliveryId,String deliverCode,String deliverName) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        FsStoreOrder order= fsStoreOrderMapper.selectFsStoreOrderById(id); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if(order!=null){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            FsExpress express=expressService.selectFsExpressByOmsCode(deliverCode); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if(express!=null){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            order.setDeliveryName(deliverName); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            order.setDeliverySn(express.getCode()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            order.setDeliveryId(deliveryId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            order.setDeliverySendTime(new Date()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            fsStoreOrderMapper.updateFsStoreOrder(order); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            orderStatusService.create(order.getId(), OrderLogEnum.DELIVERY_GOODS.getValue(), 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    OrderLogEnum.DELIVERY_GOODS.getDesc()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            //订阅物流回调 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            String lastFourNumber = ""; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if (express.getCode().equals(ShipperCodeEnum.SF.getValue())) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                lastFourNumber = order.getUserPhone(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if (lastFourNumber.length() == 11) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public void updateDeliveryOrder(Long id, String deliveryId, String deliverCode, String deliverName) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        FsStoreOrder order = fsStoreOrderMapper.selectFsStoreOrderById(id); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (order != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            FsExpress express = expressService.selectFsExpressByOmsCode(deliverCode); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (express != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                order.setDeliveryName(deliverName); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                order.setDeliverySn(express.getCode()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                order.setDeliveryId(deliveryId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                order.setDeliverySendTime(new Date()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                fsStoreOrderMapper.updateFsStoreOrder(order); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                orderStatusService.create(order.getId(), OrderLogEnum.DELIVERY_GOODS.getValue(), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        OrderLogEnum.DELIVERY_GOODS.getDesc()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                //订阅物流回调 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                String lastFourNumber = ""; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (express.getCode().equals(ShipperCodeEnum.SF.getValue())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if (StringUtils.equals(express.getCode(), ShipperCodeEnum.SF.getValue())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        lastFourNumber = PhoneUtils.getLastFourNum(order.getUserPhone()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            expressService.subscribeEspress(order.getOrderCode(),express.getCode(),deliveryId,lastFourNumber); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                expressService.subscribeEspress(order.getOrderCode(), express.getCode(), deliveryId, lastFourNumber); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1078,12 +1082,10 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public List<FsMyStoreOrderListQueryVO> selectFsCompanyStoreOrderListVO(FsMyStoreOrderQueryParam param) { 
														 | 
														
														 | 
														
															     public List<FsMyStoreOrderListQueryVO> selectFsCompanyStoreOrderListVO(FsMyStoreOrderQueryParam param) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<FsMyStoreOrderListQueryVO> list=fsStoreOrderMapper.selectFsCompanyStoreOrderListVO(param); 
														 | 
														
														 | 
														
															         List<FsMyStoreOrderListQueryVO> list=fsStoreOrderMapper.selectFsCompanyStoreOrderListVO(param); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         for(FsMyStoreOrderListQueryVO vo:list){ 
														 | 
														
														 | 
														
															         for(FsMyStoreOrderListQueryVO vo:list){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-//          List<FsStoreOrderItemVO> items=fsStoreOrderItemMapper.selectMyFsStoreOrderItemListByOrderId(vo.getId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-//          vo.setItems(items); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if(StringUtils.isNotEmpty(vo.getItemJson())){ 
														 | 
														
														 | 
														
															             if(StringUtils.isNotEmpty(vo.getItemJson())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 JSONArray jsonArray=JSONUtil.parseArray(vo.getItemJson()); 
														 | 
														
														 | 
														
															                 JSONArray jsonArray=JSONUtil.parseArray(vo.getItemJson()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 List<FsStoreOrderItemVO> items=JSONUtil.toList(jsonArray, FsStoreOrderItemVO.class); 
														 | 
														
														 | 
														
															                 List<FsStoreOrderItemVO> items=JSONUtil.toList(jsonArray, FsStoreOrderItemVO.class); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if(items.size()>0){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if(CollectionUtils.isNotEmpty(items)){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     vo.setItems(items); 
														 | 
														
														 | 
														
															                     vo.setItems(items); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2080,25 +2082,11 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Transactional 
														 | 
														
														 | 
														
															     @Transactional 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public R syncExpress(FsStoreOrderExpressEditParam param) { 
														 | 
														
														 | 
														
															     public R syncExpress(FsStoreOrderExpressEditParam param) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        FsStoreOrder order = fsStoreOrderMapper.selectFsStoreOrderById(param.getOrderId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        String lastFourNumber = ""; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue())) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            lastFourNumber = order.getUserPhone(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if (lastFourNumber.length() == 11) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        ExpressInfoDTO dto=expressService.getExpressInfo(order.getOrderCode(),order.getDeliverySn(),order.getDeliveryId(),lastFourNumber); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        FsStoreOrder map=new FsStoreOrder(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        map.setDeliveryStatus(Integer.parseInt(dto.getState())); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        map.setId(order.getId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        map.setDeliveryType(dto.getStateEx()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        fsStoreOrderMapper.updateFsStoreOrder(map); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        //如果是正常签收,更新订单状态 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if(dto.getState().equals("3")&&(dto.getStateEx().equals("301")||dto.getStateEx().equals("302")||dto.getStateEx().equals("304")||dto.getStateEx().equals("311"))){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            finishOrder(order.getId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        return null; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        fsStoreDeliversService.syncDeliverInfo(param.getOrderId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        fsStoreDeliversService.finishOrder(param.getOrderId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return R.ok(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2700,53 +2688,49 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         //https://api.hospital.ifeiyu100.com/app/common/expressNotify 
														 | 
														
														 | 
														
															         //https://api.hospital.ifeiyu100.com/app/common/expressNotify 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         String data= URLDecoder.decode(notifyDTO.getRequestData(), Charset.forName("UTF-8")); 
														 | 
														
														 | 
														
															         String data= URLDecoder.decode(notifyDTO.getRequestData(), Charset.forName("UTF-8")); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         //ExpressInfoDTO 
														 | 
														
														 | 
														
															         //ExpressInfoDTO 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        logger.info("快递根踪回调:"+data); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        logger.info("快递跟踪回调: {}",data); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         ExpressDataDTO expressDataDTO=JSONUtil.toBean(data,ExpressDataDTO.class); 
														 | 
														
														 | 
														
															         ExpressDataDTO expressDataDTO=JSONUtil.toBean(data,ExpressDataDTO.class); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if(expressDataDTO!=null&&expressDataDTO.getData()!=null){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            for(ExpressInfoDTO dto:expressDataDTO.getData()){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                List<FsStoreOrder> orders=this.selectFsStoreOrderListByDeliveryId(dto.getLogisticCode()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if(orders!=null){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    for(FsStoreOrder order:orders){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        logger.info("订单信息:"+JSONUtil.toJsonStr(order)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        logger.info("运单号:"+dto.getLogisticCode()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        if(order!=null && (order.getDeliveryStatus()==null||order.getDeliveryStatus()!=3)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            if (dto.getState()!=null&&dto.getStateEx()!=null) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                FsStoreOrder map = new FsStoreOrder(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                map.setDeliveryStatus(Integer.parseInt(dto.getState())); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                map.setId(order.getId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                map.setDeliveryType(dto.getStateEx()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                this.updateFsStoreOrder(map); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                //如果是正常签收,更新订单状态 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                if (dto.getState().equals("3") && (dto.getStateEx().equals("301") || dto.getStateEx().equals("302") || dto.getStateEx().equals("304") || dto.getStateEx().equals("311"))) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                    this.finishOrder(order.getId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            if (!dto.isSuccess()){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                logger.info("物流状态异常:{}",dto); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            //如果无轨迹重新订阅 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            if ((!dto.isSuccess()&&dto.getReason().equals("三天无轨迹"))||(!dto.isSuccess()&&dto.getReason().equals("七天内无轨迹变化"))){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                //订阅物流回调 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                String lastFourNumber = ""; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue())) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                    lastFourNumber = order.getUserPhone(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                    if (lastFourNumber.length() == 11) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                        lastFourNumber = StrUtil.sub(lastFourNumber, lastFourNumber.length(), -4); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                    } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                logger.info("物流重新订阅:{}",order.getDeliveryId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                expressService.subscribeEspress(order.getOrderCode(),order.getDeliverySn(),order.getDeliveryId(),lastFourNumber); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if(ObjectUtil.isNotNull(expressDataDTO)){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            List<ExpressInfoDTO> expressInfoDTOList = expressDataDTO.getData(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            List<FsStoreDelivers> delivers = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            for (ExpressInfoDTO express : expressInfoDTOList) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                FsStoreDelivers deliver = fsStoreDeliversService 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        .findByOrderCodeAndDeliverId(express.getOrderCode(), express.getLogisticCode()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if(ObjectUtil.isNotNull(express) && express.isSuccess()){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if(ObjectUtil.isNotNull(deliver)){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        deliver.setStatus(Integer.valueOf(express.getState())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        deliver.setStateEx(Integer.valueOf(express.getStateEx())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        delivers.add(deliver); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     } 
														 | 
														
														 | 
														
															                     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                //如果无轨迹重新订阅 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if ((!express.isSuccess()&&express.getReason().equals("三天无轨迹"))||(!express.isSuccess()&&express.getReason().equals("七天内无轨迹变化"))){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    FsStoreOrder fsStoreOrder = orderService.selectFsStoreOrderByOrderCode(express.getOrderCode()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    String lastFourNumber = ""; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if(StringUtils.equals(deliver.getDeliverSn(), ShipperCodeEnum.SF.getValue())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        lastFourNumber = PhoneUtils.getLastFourNum(fsStoreOrder.getUserPhone()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    logger.info("物流重新订阅:{}",fsStoreOrder.getDeliveryId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if(ObjectUtil.isNotNull(deliver)){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        expressService.subscribeEspress(fsStoreOrder.getOrderCode(),deliver.getDeliverSn(),deliver.getDeliverId(),lastFourNumber); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            return ExpressResultDTO.success(sysConfig.getKdnId().trim()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            // 更新物流状态 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            fsStoreDeliversMapper.updateBatch(delivers); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            List<Long> collect = delivers.stream().map(FsStoreDelivers::getOrderId) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .filter(ObjectUtil::isNotNull) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    .collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            for (Long orderId : collect) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                fsStoreDeliversService.finishOrder(orderId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        return ExpressResultDTO.error(sysConfig.getKdnId().trim(),"物流详情数据为null"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return ExpressResultDTO.success(sysConfig.getKdnId().trim()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 |