|
@@ -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()));
|