liujunchi 3 år sedan
förälder
incheckning
65eb415341

+ 0 - 11
cooleshow-mall/mall-pay/src/main/java/com/yonge/cooleshow/sdk/req/OrderPayReq.java

@@ -35,8 +35,6 @@ public class OrderPayReq {
     private Long userId;
     @ApiModelProperty(value = "用户端公网ip ")
     private String ipAddress;
-    @ApiModelProperty(value = "订单状态",hidden = true)
-    private OrderStatusEnum orderStatus;
 
     @ApiModelProperty(value = "订单金额",hidden = true)
     private BigDecimal orderPrice;
@@ -66,15 +64,6 @@ public class OrderPayReq {
         this.reason = reason;
     }
 
-
-    public OrderStatusEnum getOrderStatus() {
-        return orderStatus;
-    }
-
-    public void setOrderStatus(OrderStatusEnum orderStatus) {
-        this.orderStatus = orderStatus;
-    }
-
     public BigDecimal getOrderPrice() {
         return orderPrice;
     }

+ 7 - 3
cooleshow-mall/mall-pay/src/main/java/com/yonge/cooleshow/service/PaymentService.java

@@ -23,10 +23,14 @@ public interface PaymentService {
      */
     OrderPayRes orderPay(OrderPayReq payReq);
 
-    OrderPayRes orderPayWaitPay(OrderPayReq payReq);
 
-
-    OrderPayRes orderPayPaying(OrderPayReq payReq);
+    /**
+     * 拉起原有支付信息,继续支付
+     *
+     * @param payReq
+     * @return
+     */
+    OrderPayRes orderContinue(OrderPayReq payReq);
 
     /**
      * 退款

+ 4 - 23
cooleshow-mall/mall-pay/src/main/java/com/yonge/cooleshow/service/impl/AdapayPaymentServiceImpl.java

@@ -39,21 +39,6 @@ public class AdapayPaymentServiceImpl implements PaymentService {
 
     @Override
     public OrderPayRes orderPay(OrderPayReq payReq) {
-        if (OrderStatusEnum.WAIT_PAY.equals(payReq.getOrderStatus())) {
-            //处于待支付状态,需要调用汇付发起付款请求接口
-            return orderPayWaitPay(payReq);
-        } else if (OrderStatusEnum.PAYING.equals(payReq.getOrderStatus())) {
-            //处于付款中状态,需要拉起付款接口返回信息,并且去到汇付
-            return orderPayPaying(payReq);
-        }
-        OrderPayRes orderPayRes = new OrderPayRes();
-        orderPayRes.setStatus(false);
-        orderPayRes.setMessage("订单状态异常");
-        return orderPayRes;
-    }
-
-    @Override
-    public OrderPayRes orderPayWaitPay(OrderPayReq payReq) {
         PaymentReq paymentReq = new PaymentReq();
         paymentReq.setOrder_no(payReq.getOrderNo());
         paymentReq.setPay_channel(payReq.getPayChannel().getCode());
@@ -103,15 +88,11 @@ public class AdapayPaymentServiceImpl implements PaymentService {
     }
 
     @Override
-    public OrderPayRes orderPayPaying(OrderPayReq payReq) {
+    public OrderPayRes orderContinue(OrderPayReq payReq) {
         OrderPayRes orderPayRes = new OrderPayRes();
-        if (OrderStatusEnum.PAYING.getCode().equals(payReq.getOrderStatus().getCode())) {
-            orderPayRes.setPay_info(payReq.getPayInfo());
-            orderPayRes.setPay_amt(payReq.getOrderPrice().toString());
-        } else {
-            orderPayRes.setStatus(false);
-            orderPayRes.setMessage("订单不处于支付状态中");
-        }
+        orderPayRes.setPay_info(payReq.getPayInfo());
+        orderPayRes.setPayChannel(payReq.getPayChannel().getCode());
+        orderPayRes.setPay_amt(payReq.getOrderPrice().setScale(2, RoundingMode.HALF_UP).toString());
         return orderPayRes;
     }
 

+ 5 - 11
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsPortalOrderServiceImpl.java

@@ -479,19 +479,18 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             orderPayRes.setMessage("订单已付款或已关闭");
             return orderPayRes;
         }
+        payReq.setOrderPrice(detail.getPayAmount());
         UserOrderPayment userOrderPayment = userOrderPaymentService
                 .getByOrderNo(detail.getOrderSn(), payReq.getPayChannel(), PayStatusEnum.pending);
-        if (userOrderPayment == null) {
-            payReq.setOrderStatus(OrderStatusEnum.WAIT_PAY);
+
+        if (userOrderPayment != null) {
             // 支付订单号
             payReq.setOrderNo(generateOrderSn(detail));
         }else {
-            payReq.setOrderStatus(OrderStatusEnum.PAYING);
-            // 支付订单号
-            payReq.setOrderNo(userOrderPayment.getAdapayNo());
+            // 拉起原有的支付
             payReq.setPayInfo(userOrderPayment.getPayInfo());
+            return adapayPaymentService.orderContinue(payReq);
         }
-        payReq.setOrderPrice(detail.getPayAmount());
         payReq.setGoodTitle("");
         payReq.setGoodDesc("");
         // 支付中的返回拉起信息
@@ -505,11 +504,6 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             cancelOrder(detail.getId(),"订单金额和实际支付金额不符");
             throw new BizException("订单金额和实际支付金额不符");
         }
-        // 同一个通道的支付请求,直接返回拉起支付信息
-        if (userOrderPayment != null) {
-            return orderPayRes;
-        }
-
 
         OmsOrder omsOrder = new OmsOrder();
         omsOrder.setId(detail.getId());