liujc 1 年之前
父节点
当前提交
3e4e57b4c7

+ 14 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -413,7 +413,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         for (UserOrderVo record : records) {
             if (record.getPaymentVersion().equals(EPaymentVersion.V2)) {
                 // 查询用户下单配置
-                String ret = redisCacheService.getUserOrderConfig(record.getUserId().toString(), record.getOrderType().name());
+                String ret = redisCacheService.getUserOrderConfig(record.getUserId().toString(), record.getOrderNo());
                 if (!StringUtils.isEmpty(ret) ) {
                     UserPaymentOrderWrapper.PaymentOrderReqConfig config = UserPaymentOrderWrapper.PaymentOrderReqConfig
                             .from(ret);
@@ -688,19 +688,20 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         UserOrderVo userOrderVo = baseMapper.getPendingOrder(query);
         if (null != userOrderVo) {
             userOrderVo.setOrderDetailList(orderDetailService.getOrderDetilListByOrderNo(userOrderVo.getOrderNo()));
-        }
 
-        // 查询用户下单配置
-        String ret = redisCacheService.getUserOrderConfig(query.getUserId().toString(), query.getGoodType());
-        if (!StringUtils.isEmpty(ret) && userOrderVo != null) {
-            UserPaymentOrderWrapper.PaymentOrderReqConfig config = UserPaymentOrderWrapper.PaymentOrderReqConfig
-                    .from(ret);
-            UserPaymentOrderWrapper.PaymentConfig build = UserPaymentOrderWrapper.PaymentConfig.builder()
-                    .orderNo(userOrderVo.getOrderNo())
-                    .paymentConfig(config)
-                    .paymentType(userOrderVo.getPaymentVendor())
-                    .build();
-            userOrderVo.setPaymentConfig(build);
+
+            // 查询用户下单配置
+            String ret = redisCacheService.getUserOrderConfig(query.getUserId().toString(), userOrderVo.getOrderNo());
+            if (!StringUtils.isEmpty(ret)) {
+                UserPaymentOrderWrapper.PaymentOrderReqConfig config = UserPaymentOrderWrapper.PaymentOrderReqConfig
+                        .from(ret);
+                UserPaymentOrderWrapper.PaymentConfig build = UserPaymentOrderWrapper.PaymentConfig.builder()
+                        .orderNo(userOrderVo.getOrderNo())
+                        .paymentConfig(config)
+                        .paymentType(userOrderVo.getPaymentVendor())
+                        .build();
+                userOrderVo.setPaymentConfig(build);
+            }
         }
         return HttpResponseResult.succeed(userOrderVo);
     }

+ 13 - 8
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserPaymentCoreServiceImpl.java

@@ -640,18 +640,21 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
             .build();
 
         // 缓存用户下单配置
-        redisCacheService.saveUserOrderConfig(String.valueOf(orderReq.getUserId()), orderReq.getOrderType().getCode(), reqConfig.jsonString());
+        redisCacheService.saveUserOrderConfig(String.valueOf(orderReq.getUserId()), reqConfig.getMerOrderNo(), reqConfig.jsonString());
+
+        UserPaymentOrderWrapper.PaymentConfig build = UserPaymentOrderWrapper.PaymentConfig.builder()
+                .orderNo(orderReq.getOrderNo())
+                .paymentConfig(reqConfig)
+                .status(EPaymentStatus.WAIT_PAY.getCode())
+                .paymentType(paymentServiceContext.getPaymentService(orderReq.getPaymentVendor()).venderName())
+                .build();
 
         // 若订单无需支付,直接完成订单,VIP购买
         if (BigDecimal.ZERO.compareTo(orderReq.getPaymentCashAmount()) == 0) {
             executePaymentSuccess(orderReq, null);
+            build.setStatus(PAID.getCode());
         }
-
-        return UserPaymentOrderWrapper.PaymentConfig.builder()
-            .orderNo(orderReq.getOrderNo())
-            .paymentConfig(reqConfig)
-            .paymentType(paymentServiceContext.getPaymentService(orderReq.getPaymentVendor()).venderName())
-            .build();
+        return build;
     }
 
     /**
@@ -772,7 +775,7 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
             if (StringUtils.isNotBlank(userPaymentOrder.getTransNo())) {
 
                 // 获取缓存配置信息
-                String paymentConfig = redisCacheService.getUserPaymentConfig(reqConfig.getUserId(), userPaymentOrder.getOrderType().getCode());
+                String paymentConfig = redisCacheService.getUserPaymentConfig(reqConfig.getUserId(), userPaymentOrder.getOrderNo());
                 if (StringUtils.isBlank(paymentConfig)) {
 
                     // 支付配置已失效,待支付订单状态调整为已关闭,提醒用户重新购买
@@ -830,6 +833,8 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
                 .build();
             userPaymentOrderService.updateById(update);
 
+            // 缓存用户下单配置
+            redisCacheService.saveUserOrderConfig(String.valueOf(reqConfig.getUserId()), reqConfig.getMerOrderNo(), config.jsonString());
             // 缓存用户支付配置信息
             redisCacheService.saveUserPaymentConfig(reqConfig.getUserId(), userPaymentOrder.getOrderType().getCode(),
                 JSON.toJSONString(paymentReq));

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/UserPaymentOrderWrapper.java

@@ -528,6 +528,9 @@ public class UserPaymentOrderWrapper {
         @ApiModelProperty("支付类型: adapay, wxpay")
         private String paymentType;
 
+        @ApiModelProperty("支付状态")
+        private String status;
+
         @ApiModelProperty("支付配置参数: 透传")
         private PaymentOrderReqConfig paymentConfig;
     }