|  | @@ -327,7 +327,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
 | 
	
		
			
				|  |  |                  UmsMember member = memberService.getById(cancelOrder.getMemberId());
 | 
	
		
			
				|  |  |                  memberService.updateIntegration(cancelOrder.getMemberId(), member.getIntegration() + cancelOrder.getUseIntegration());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            UserOrderPayment orderPayment = userOrderPaymentService.getByTranNo(cancelOrder.getOrderSn());
 | 
	
		
			
				|  |  | +            UserOrderPayment orderPayment = userOrderPaymentService.getByOrderNo(cancelOrder.getOrderSn());
 | 
	
		
			
				|  |  |              if (null != orderPayment) {
 | 
	
		
			
				|  |  |                  // 发起关单
 | 
	
		
			
				|  |  |                  OrderCloseReq orderCloseReq = new OrderCloseReq();
 | 
	
	
		
			
				|  | @@ -481,14 +481,19 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          UserOrderPayment userOrderPayment = userOrderPaymentService
 | 
	
		
			
				|  |  |                  .getByOrderNo(detail.getOrderSn(), payReq.getPayChannel(), PayStatusEnum.pending);
 | 
	
		
			
				|  |  | -        payReq.orderStatus(detail.getStatus());
 | 
	
		
			
				|  |  | -        payReq.setOrderNo(detail.getOrderSn());
 | 
	
		
			
				|  |  | +        if (userOrderPayment == null) {
 | 
	
		
			
				|  |  | +            payReq.setOrderStatus(OrderStatusEnum.WAIT_PAY);
 | 
	
		
			
				|  |  | +            // 支付订单号
 | 
	
		
			
				|  |  | +            payReq.setOrderNo(generateOrderSn(detail));
 | 
	
		
			
				|  |  | +        }else {
 | 
	
		
			
				|  |  | +            payReq.setOrderStatus(OrderStatusEnum.PAYING);
 | 
	
		
			
				|  |  | +            // 支付订单号
 | 
	
		
			
				|  |  | +            payReq.setOrderNo(userOrderPayment.getAdapayNo());
 | 
	
		
			
				|  |  | +            payReq.setPayInfo(userOrderPayment.getPayInfo());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          payReq.setOrderPrice(detail.getPayAmount());
 | 
	
		
			
				|  |  |          payReq.setGoodTitle("");
 | 
	
		
			
				|  |  |          payReq.setGoodDesc("");
 | 
	
		
			
				|  |  | -        if (userOrderPayment != null) {
 | 
	
		
			
				|  |  | -            payReq.setPayInfo(userOrderPayment.getPayInfo());
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  |          // 支付中的返回拉起信息
 | 
	
		
			
				|  |  |          orderPayRes = adapayPaymentService.orderPay(payReq);
 | 
	
		
			
				|  |  |          if (!orderPayRes.isStatus()) {
 | 
	
	
		
			
				|  | @@ -500,9 +505,8 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
 | 
	
		
			
				|  |  |              cancelOrder(detail.getId(),"订单金额和实际支付金额不符");
 | 
	
		
			
				|  |  |              throw new BizException("订单金额和实际支付金额不符");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        // 订单状态和付款状态都是付款中,直接返回付款拉起信息
 | 
	
		
			
				|  |  | -        if (OrderStatusEnum.PAYING.getCode().equals(payReq.getOrderStatus().getCode())
 | 
	
		
			
				|  |  | -                && PayStatusEnum.pending.getCode().equals(orderPayRes.getPayStatus().getCode())) {
 | 
	
		
			
				|  |  | +        // 同一个通道的支付请求,直接返回拉起支付信息
 | 
	
		
			
				|  |  | +        if (userOrderPayment != null) {
 | 
	
		
			
				|  |  |              return orderPayRes;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -513,10 +517,9 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
 | 
	
		
			
				|  |  |              omsOrder.setStatus(0);
 | 
	
		
			
				|  |  |              orderMapper.updateByPrimaryKeySelective(omsOrder);
 | 
	
		
			
				|  |  |              // 保存订单支付表
 | 
	
		
			
				|  |  | -            if (userOrderPayment == null) {
 | 
	
		
			
				|  |  | -                userOrderPayment = new UserOrderPayment();
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            userOrderPayment.setOrderNo(orderPayRes.getOrderNo());
 | 
	
		
			
				|  |  | +            userOrderPayment = new UserOrderPayment();
 | 
	
		
			
				|  |  | +            userOrderPayment.setOrderNo(detail.getOrderSn());
 | 
	
		
			
				|  |  | +            userOrderPayment.setAdapayNo(orderPayRes.getOrderNo());
 | 
	
		
			
				|  |  |              userOrderPayment.setPayChannel(orderPayRes.getPayChannel());
 | 
	
		
			
				|  |  |              userOrderPayment.setTransNo(orderPayRes.getTransNo());
 | 
	
		
			
				|  |  |              userOrderPayment.setPayAmt(new BigDecimal(orderPayRes.getPay_amt()));
 |