| 
					
				 | 
			
			
				@@ -45,6 +45,7 @@ import com.fs.company.service.ICompanyUserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.erp.domain.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.erp.dto.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.erp.service.IErpOrderService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.fs.express.FsStoreDeliversService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.huifuPay.domain.HuiFuRefundResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.huifuPay.dto.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.huifuPay.sdk.opps.core.request.V2TradePaymentScanpayRefundRequest; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -190,6 +191,13 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private FsStoreDeliversMapper fsStoreDeliversMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private IFsStoreOrderService orderService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private FsStoreDeliversService fsStoreDeliversService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 查询订单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -902,9 +910,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 微信消息通知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             TemplateBean templateBean = TemplateBean.builder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .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()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .templateType(TemplateListenEnum.TYPE_2.getValue()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .build(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -912,38 +920,34 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //订阅物流回调 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    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) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<FsMyStoreOrderListQueryVO> list=fsStoreOrderMapper.selectFsCompanyStoreOrderListVO(param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for(FsMyStoreOrderListQueryVO vo:list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//          List<FsStoreOrderItemVO> items=fsStoreOrderItemMapper.selectMyFsStoreOrderItemListByOrderId(vo.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//          vo.setItems(items); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(StringUtils.isNotEmpty(vo.getItemJson())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 JSONArray jsonArray=JSONUtil.parseArray(vo.getItemJson()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 List<FsStoreOrderItemVO> items=JSONUtil.toList(jsonArray, FsStoreOrderItemVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(items.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(CollectionUtils.isNotEmpty(items)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     vo.setItems(items); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2080,25 +2082,11 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     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 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2700,53 +2688,49 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //https://api.hospital.ifeiyu100.com/app/common/expressNotify 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String data= URLDecoder.decode(notifyDTO.getRequestData(), Charset.forName("UTF-8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //ExpressInfoDTO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        logger.info("快递根踪回调:"+data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger.info("快递跟踪回调: {}",data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         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()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |