Kaynağa Gözat

取消积分过期,积分计算代码修改

wanxl 1 yıl önce
ebeveyn
işleme
3563f102b0

+ 4 - 4
db/tcwn20241118.sql

@@ -4,13 +4,13 @@ VALUES(436, now(), NULL, '完成订单获取积分开关(0:关 1:开)', 43
 INSERT INTO `tcwm2.5`.common_info
 (id, create_at, max, min, `type`, value, condition_from)
 VALUES(437, now(), NULL, '积分获取规则', 437, '10,1,30,8,1', 'integral');
-INSERT INTO `tcwm2.5`.common_info
-(id, create_at, max, min, `type`, value, condition_from)
-VALUES(438, now(), NULL, '积分过期规则', 438, 10, 'integral');
+-- INSERT INTO `tcwm2.5`.common_info
+-- (id, create_at, max, min, `type`, value, condition_from)
+-- VALUES(438, now(), NULL, '积分过期规则', 438, 10, 'integral');
 INSERT INTO `tcwm2.5`.common_info
 (id, create_at, max, min, `type`, value, condition_from)
 VALUES(439, now(), NULL, '每笔订单积分上限', 439, 10, 'integral');
 
 ALTER TABLE `tcwm2.5`.user_integral_details ADD order_number varchar(100) NULL COMMENT '关联订单号';
 ALTER TABLE `tcwm2.5`.user_integral_details ADD exp_time varchar(64) NULL COMMENT '过期时间';
-ALTER TABLE `tcwm2.5`.user_integral_details MODIFY COLUMN classify int(11) NULL COMMENT '获取类型 1签到 2积分兑换优惠券 3系统赠送积分 4 完成订单获取积分 5 积分过期';
+ALTER TABLE `tcwm2.5`.user_integral_details MODIFY COLUMN classify int(11) NULL COMMENT '获取类型 1签到 2积分兑换优惠券 3系统赠送积分 4 完成订单获取积分';

+ 7 - 7
src/main/java/com/sqx/modules/integral/controller/AdminUserIntegralController.java

@@ -43,7 +43,7 @@ public class AdminUserIntegralController {
         String rules=commonInfoService.findOne(437).getValue();
         String[] split = rules.split(",",5);
         //积分过期规则 -1永不过期
-        String overdue= commonInfoService.findOne(438).getValue();
+//        String overdue= commonInfoService.findOne(438).getValue();
         //每笔订单积分上限
         String maxIntegral= commonInfoService.findOne(439).getValue();
         result.put("flag",flag);
@@ -52,8 +52,8 @@ public class AdminUserIntegralController {
         result.put("ruleMaxAmount",split[2]);
         result.put("ruleAmount2",split[3]);
         result.put("ruleValue2",split[4]);
-        result.put("overdue",overdue);
-        result.put("overdueFlag","-1".equals(overdue)?"0":"1");
+//        result.put("overdue",overdue);
+//        result.put("overdueFlag","-1".equals(overdue)?"0":"1");
         result.put("maxIntegral",maxIntegral);
         return Result.success().put("data", result);
     }
@@ -61,7 +61,7 @@ public class AdminUserIntegralController {
     @ApiOperation("管理端更新积分规则")
     @PostMapping(value = "updateIntegralRules")
     public Result updateIntegralRules(IntegralRulesDto irDto){
-        if(irDto.getRuleAmount1().compareTo(irDto.getRuleMaxAmount())>=0){
+        if(Integer.parseInt(irDto.getRuleAmount1())>Integer.parseInt((irDto.getRuleMaxAmount()))){
             return Result.error("门限金额不能小于规则一金额");
         }
         String rules=irDto.getRuleAmount1()+","+irDto.getRuleValue1()+","+irDto.getRuleMaxAmount()+","+irDto.getRuleAmount2()+
@@ -75,9 +75,9 @@ public class AdminUserIntegralController {
         commonInfo2.setValue(rules);
         commonInfoService.updateBody(commonInfo2);
         //过期规则
-        CommonInfo commonInfo3=commonInfoService.findOne(438);
-        commonInfo3.setValue(irDto.getOverdue());
-        commonInfoService.updateBody(commonInfo3);
+//        CommonInfo commonInfo3=commonInfoService.findOne(438);
+//        commonInfo3.setValue(irDto.getOverdue());
+//        commonInfoService.updateBody(commonInfo3);
         //积分上限
         CommonInfo commonInfo4=commonInfoService.findOne(439);
         commonInfo4.setValue(irDto.getMaxIntegral());

+ 1 - 1
src/main/java/com/sqx/modules/integral/controller/app/UserIntegralController.java

@@ -92,7 +92,7 @@ public class UserIntegralController {
         if (amount>a){
             if(amount<c){
                 intergral=intergral+(int)(amount/a)*b;
-            } else if (amount>c+d){
+            } else if (amount>=c+d){
                 int count= (int) ((amount-c)/d);
                 intergral=intergral+(c/a)*b+count*e;
             }else{

+ 6 - 6
src/main/java/com/sqx/modules/order/service/impl/AppAppOrderServiceImpl.java

@@ -2048,7 +2048,7 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
                 UserIntegralDetails userIntegralDetails = new UserIntegralDetails();
                 String rules=commonInfoService.findOne(437).getValue();
                 //积分过期规则 -1永不过期
-                String overdue= commonInfoService.findOne(438).getValue();
+//                String overdue= commonInfoService.findOne(438).getValue();
                 String maxIntegral= commonInfoService.findOne(439).getValue();
                 String[] split = rules.split(",",5);
                 int am1= Integer.parseInt(split[0]);
@@ -2061,7 +2061,7 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
                 if (amount>am1){
                     if(amount<mx){
                         intergral=intergral+(int)(amount/am1)*av1;
-                    } else if (amount>mx+am2){
+                    } else if (amount>=mx+am2){
                         int count= (int) ((amount-mx)/am2);
                         intergral=intergral+(mx/am1)*av1+count*av2;
                     }else{
@@ -2074,10 +2074,10 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
                 userIntegralDetails.setType(1);
                 userIntegralDetails.setNum(max);
                 userIntegralDetails.setOrderNumber(tbOrder.getOrderNumber());
-                if(!"-1".equals(overdue)){
-                     Date expdata=DateUtils.addDateDays(new Date(), Integer.parseInt(overdue));
-                    userIntegralDetails.setExpTime(new SimpleDateFormat("yyyy-MM-dd").format(expdata));
-                }
+//                if(!"-1".equals(overdue)){
+//                     Date expdata=DateUtils.addDateDays(new Date(), Integer.parseInt(overdue));
+//                    userIntegralDetails.setExpTime(new SimpleDateFormat("yyyy-MM-dd").format(expdata));
+//                }
 
                 userIntegralDetails.setCreateTime(format);
                 userIntegralDetails.setUserId(tbOrder.getUserId());

+ 2 - 1
src/main/java/com/sqx/scheduler/integral/IntegralScheduler.java

@@ -28,9 +28,10 @@ public class IntegralScheduler {
     /**
      * 将所有超过失效时间的积分改为失效状态
      * 每分钟运行一次
+     * 暂不设置过期
      */
     @Async
-    @Scheduled(cron = "0 0 2 * * ?", zone = "Asia/Shanghai")
+//    @Scheduled(cron = "0 0 2 * * ?", zone = "Asia/Shanghai")
     public void couponEnd(){
         RLock lock = redissonClient.getLock(SchedulerLock.INTEGRAL_OF_USER_EXPIRATION_LOCK);
         lock.lock();