| 
					
				 | 
			
			
				@@ -293,6 +293,14 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 支付成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (PaymentStatus.SUCCESSED == paymentResp.getPaymentStatus()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 三方支付费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 更新交易时间和服务费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    paymentOrder.payTime(Optional.ofNullable(paymentResp.getTriggerTime()).orElse(paymentOrder.getPayTime())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .paymentChannelFee(paymentResp.getServiceCharge()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            .setTransNo(paymentResp.getTransNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    userPaymentOrderService.updateById(paymentOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     // 根据支付回调消息,更新订单状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     refundOnly("订单已超时,金额原路退回", paymentOrder.getOrderNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -442,7 +450,7 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 UserPaymentOrderWrapper.UserPaymentOrder order = UserPaymentOrderWrapper.UserPaymentOrder 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .builder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .id(paymentOrder.getId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .status(EPaymentStatus.CLOSED) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                    .status(EPaymentStatus.CLOSED) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //                    .errorMsg(errorMessage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .updateTime(DateTime.now().toDate()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .build(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1123,7 +1131,7 @@ DISCOUNT("畅学卡") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 已产生三方交易流水号,先判断三方订单支付状态若在支付中,则重复返回相同支付配置参数;避免用户重复支付 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (StringUtils.isNotBlank(userPaymentOrder.getTransNo())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (StringUtils.isNotBlank(userPaymentOrder.getTransNo()) || EPaymentStatus.PAYING == userPaymentOrder.getStatus()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 获取缓存配置信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 String paymentConfig = redisCacheService.getUserPaymentConfig(reqConfig.getUserId(), userPaymentOrder.getOrderNo()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1162,6 +1170,7 @@ DISCOUNT("畅学卡") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .merOrderNo(reqConfig.getMerOrderNo()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .code(reqConfig.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            config.setPaymentVendor(userPaymentOrder.getPaymentVendor()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             config.setIp(reqConfig.getIp()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 重新格式化设置价格 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             config.setPrice(config.getPrice().setScale(2, RoundingMode.HALF_UP)); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1239,7 +1248,7 @@ DISCOUNT("畅学卡") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 下单未拉起三方支付,直接关闭 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (StringUtils.isEmpty(paymentOrder.getTransNo()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    && (EPaymentStatus.WAIT_PAY == paymentOrder.getStatus()||EPaymentStatus.PAYING == paymentOrder.getStatus())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    && (EPaymentStatus.WAIT_PAY == paymentOrder.getStatus())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 closeWaitOrder(paymentOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1659,8 +1668,11 @@ DISCOUNT("畅学卡") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (Objects.isNull(detail)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new BizException("订单信息不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<UserOrderDetailVo> collect = detail.getOrderDetailList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (orderDetailIds != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            collect = detail.getOrderDetailList().stream().filter(o -> orderDetailIds.contains(o.getId())).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<UserOrderDetailVo> collect = detail.getOrderDetailList().stream().filter(o -> orderDetailIds.contains(o.getId())).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BigDecimal reduce = collect.stream().map(o -> o.getActualPrice()).reduce(BigDecimal.ZERO, BigDecimal::add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 提交退款申请记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         UserOrderRefund userRefundOrder = new UserOrderRefund(); 
			 |