| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -20,6 +20,7 @@ import com.iformall.service.pay.service.pay.PayAdapterService; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import com.iformall.service.pay.service.pay.entity.PayAdapterResult; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import com.iformall.service.pay.service.pay.entity.PayQueryAdapterResult; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import com.iformall.service.pay.service.share.PayShareAdapterService; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import com.iformall.utils.DateUtils; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import lombok.extern.slf4j.Slf4j; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import org.slf4j.Logger; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			import org.slf4j.LoggerFactory; | 
		
		
	
	
		
			
				| 
				
					
				
				
					
				
				
				 | 
			
			 | 
			@@ -153,6 +154,7 @@ public class ProductOrderServiceImpl implements ProductOrderService { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                productOrder.setPaymentTime(result.getPayTime()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                productOrder.setPayWay(result.getWay()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                productOrder.setOrderStatus(productOrderStatus); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                productOrder.setIsOrderStatus(EnumProductOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                productOrder.setUpdateDate(new Date()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			                int num = productOrderMapper.orderPayUpdStatus(productOrder); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
	
		
			
				| 
				
					
				
				
					
				
				
				 | 
			
			 | 
			@@ -234,4 +236,37 @@ public class ProductOrderServiceImpl implements ProductOrderService { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    @Override | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    public void handldTimeOut(Long id) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        ProductOrder productOrder = productOrderMapper.selectById(id); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if(productOrder == null){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            return; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if(!EnumProductOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode().equals(productOrder.getOrderStatus())){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            return; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        Date hourDateBefore = DateUtils.getHourDateBefore(1, new Date()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if(productOrder.getCreateDate().after(hourDateBefore)){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        PayAdapterService payAdapterService = payServiceFactory.getPayAdapterService(productOrder.getPayVendor()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        EnumProductOrderPayVendor payVendoEnum = EnumProductOrderPayVendor.getEnum(productOrder.getPayVendor()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        WxAppinfo appinfo = wxAppinfoService.getProjectCAppInfoFromRedis(productOrder.getProjectType(), payVendoEnum.getPlat()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(appinfo.getPayId()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        ResultData resultData = handleProductOrderByQuery(appinfo,payAccount,productOrder,payAdapterService); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if(ResultData.SUCCESS != resultData.code){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            return; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        if(!EnumProductOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode().equals(productOrder.getProfitSharing())){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            return; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        productOrder.setOrderStatus(EnumProductOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        productOrder.setIsOrderStatus(EnumProductOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        productOrder.setUpdateDate(new Date()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        int num = productOrderMapper.orderPayUpdStatus(productOrder); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} |