skyline 2 лет назад
Родитель
Сommit
83da9be801

+ 5 - 0
entity/src/main/java/com/kym/entity/admin/RechargeRights.java

@@ -49,6 +49,11 @@ public class RechargeRights extends BaseEntity {
      */
      */
     private LocalDateTime endTime;
     private LocalDateTime endTime;
 
 
+    /**
+     * 有效期(天)
+     */
+    private Integer validity;
+
     /**
     /**
      * 充值最小金额
      * 充值最小金额
      */
      */

+ 2 - 1
mapper/src/main/resources/mappers/admin/RechargeRightsMapper.xml

@@ -9,6 +9,7 @@
         <result column="rights_desc" property="rightsDesc" />
         <result column="rights_desc" property="rightsDesc" />
         <result column="start_time" property="startTime" />
         <result column="start_time" property="startTime" />
         <result column="end_time" property="endTime" />
         <result column="end_time" property="endTime" />
+        <result column="validity" property="validity" />
         <result column="amount_min" property="amountMin" />
         <result column="amount_min" property="amountMin" />
         <result column="amount_max" property="amountMax" />
         <result column="amount_max" property="amountMax" />
         <result column="discount" property="discount" />
         <result column="discount" property="discount" />
@@ -20,7 +21,7 @@
 
 
     <!-- 通用查询结果列 -->
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
     <sql id="Base_Column_List">
-        activity_id, name, rights_desc, start_time, end_time, amount_min, amount_max, discount, allow_stacke, limit, status, remark
+        id,activity_id, name, rights_desc, start_time, end_time,validity, amount_min, amount_max, discount, allow_stacke, limit, status, remark,create_time,update_time
     </sql>
     </sql>
 
 
 </mapper>
 </mapper>

+ 8 - 2
service/src/main/java/com/kym/service/admin/impl/ActivityServiceImpl.java

@@ -24,6 +24,8 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.util.HashMap;
 import java.util.HashMap;
 
 
 import static com.kym.entity.admin.Activity.APPLY_STATION_部分站点;
 import static com.kym.entity.admin.Activity.APPLY_STATION_部分站点;
@@ -54,6 +56,9 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
         this.stationService = stationService;
         this.stationService = stationService;
     }
     }
 
 
+    public static void main(String[] args) {
+    }
+
     /**
     /**
      * 新增活动
      * 新增活动
      *
      *
@@ -169,9 +174,10 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
                         .one();
                         .one();
                 var userRechargeRights = new UserRechargeRights().setUserId(this.useId).setRightsBalance(rechargeAmount);
                 var userRechargeRights = new UserRechargeRights().setUserId(this.useId).setRightsBalance(rechargeAmount);
                 BeanUtils.copyProperties(rechargeRights, userRechargeRights, "id");
                 BeanUtils.copyProperties(rechargeRights, userRechargeRights, "id");
-                userRechargeRightsService.save(userRechargeRights);
+                // 计算有效期
+                var endTime = LocalDateTime.now().with(LocalTime.MAX).plusDays(rechargeRights.getValidity() - 1);
+                userRechargeRightsService.save(userRechargeRights.setStartTime(LocalDateTime.now()).setEndTime(endTime));
             }
             }
         }
         }
     }
     }
-
 }
 }

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

@@ -335,10 +335,11 @@ public class WxPayServiceImpl implements WxPayService {
                     var account = accountService.getAccountByUserId(walletDetail.getUserId());
                     var account = accountService.getAccountByUserId(walletDetail.getUserId());
                     var res = enPlusService.updateBalanceByQueryEquipChargeStatus(chargingOrder.getStartChargeSeq(), account.getBalance() - 50);
                     var res = enPlusService.updateBalanceByQueryEquipChargeStatus(chargingOrder.getStartChargeSeq(), account.getBalance() - 50);
                     LOGGER.info("用户:{}充电过程中充值,已更新en+充电金额,en+返回数据:{}", account.getUserId(), res);
                     LOGGER.info("用户:{}充电过程中充值,已更新en+充电金额,en+返回数据:{}", account.getUserId(), res);
+
+                    // 异步处理充值服务费打折权益活动相关逻辑
+                    activityService.handleRechargeActivity(chargingOrder.getUserId(), transaction.getAmount().getTotal());
                 }
                 }
 
 
-                // 异步处理充值服务费打折权益活动相关逻辑
-                activityService.handleRechargeActivity(chargingOrder.getUserId(), transaction.getAmount().getTotal());
 
 
                 return ResponseEntity.status(HttpStatus.OK).build();
                 return ResponseEntity.status(HttpStatus.OK).build();