Bläddra i källkod

fix bug 用户多个相同权益冲突

skyline 2 år sedan
förälder
incheckning
5c939b9213

+ 5 - 0
entity/src/main/java/com/kym/entity/miniapp/OrderRechargeRights.java

@@ -33,6 +33,11 @@ public class OrderRechargeRights extends BaseEntity {
      */
     private Long activityId;
 
+    /**
+     * 用户充值权益id
+     */
+    private Long userRightsId;
+
     /**
      * 用户id
      */

+ 1 - 0
service/src/main/java/com/kym/service/enplus/impl/EnNotifyServiceImpl.java

@@ -315,6 +315,7 @@ public class EnNotifyServiceImpl implements EnNotifyService {
 
                 // 用户充值权益
                 var userRechargeRights = userRechargeRightsService.lambdaQuery()
+                        .eq(UserRechargeRights::getId, orderRechargeRights.getId())
                         .eq(UserRechargeRights::getUserId, chargeOrder.getUserId())
                         .eq(UserRechargeRights::getRightsId, orderRechargeRights.getRightsId())
                         .one();

+ 6 - 1
service/src/main/java/com/kym/service/miniapp/impl/ChargeServiceImpl.java

@@ -223,7 +223,12 @@ public class ChargeServiceImpl implements ChargeService {
             if (!CommUtil.isEmptyOrNull(userRechargeRightsId)) {
                 var userRechargeRights = userRechargeRightsService.lambdaQuery().eq(UserRechargeRights::getUserId, userId).eq(UserRechargeRights::getId, userRechargeRightsId).one();
                 if (userRechargeRights != null) {
-                    var orderRechargeRights = new OrderRechargeRights().setUserId(userId).setStartChargeSeq(startChargeSeq).setActivityId(userRechargeRights.getActivityId()).setRightsId(userRechargeRights.getRightsId()).setDiscount(userRechargeRights.getDiscount());
+                    var orderRechargeRights = new OrderRechargeRights()
+                            .setUserId(userId).setStartChargeSeq(startChargeSeq)
+                            .setActivityId(userRechargeRights.getActivityId())
+                            .setRightsId(userRechargeRights.getRightsId())
+                            .setUserRightsId(userRechargeRights.getId())
+                            .setDiscount(userRechargeRights.getDiscount());
                     orderRechargeRightsService.save(orderRechargeRights);
                 }
             }

+ 1 - 1
service/src/main/java/com/kym/service/wechat/impl/WxPayServiceImpl.java

@@ -528,7 +528,7 @@ public class WxPayServiceImpl implements WxPayService {
         refundLog.setCurrency(refund.getAmount().getCurrency());
         refundLog.setAdminUserId(StpUtil.getLoginIdAsLong());
         refundLog.setAdminUsername(StpUtil.getSession().getString("username"));
-        refundLog.setStatus(RefundLog.STATUS_退款已申请);
+        refundLog.setStatus(RefundLog.STATUS_退款处理中);
         refundLogService.updateById(refundLog);
 
     }