jinshihui 15 godzin temu
rodzic
commit
39021ada2e

+ 2 - 1
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/ProductOrderInfoServiceImpl.java

@@ -29,6 +29,7 @@ import com.ylx.massage.mapper.ProductOrderItemMapper;
 import com.ylx.massage.mapper.ProductSkuMapper;
 import com.ylx.massage.service.*;
 import com.ylx.massage.utils.OrderNumberGenerator;
+import com.ylx.point.enums.TaskNameEnum;
 import com.ylx.point.service.IPointAccountService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -297,7 +298,7 @@ public class ProductOrderInfoServiceImpl extends ServiceImpl<ProductOrderInfoMap
             }
         }else{
             //积分支付
-            pointAccountService.deductPoints(orderInfo.getOpenId(), orderInfo.getPointsUsed(), orderInfo.getOrderNo(), "积分商品下单");
+            pointAccountService.deductPoints(orderInfo.getOpenId(), orderInfo.getPointsUsed(), orderInfo.getOrderNo(), TaskNameEnum.GOODS_CONSUME.getInfo());
             return R.ok();
         }
     }

+ 8 - 3
nightFragrance-massage/src/main/java/com/ylx/point/enums/ActivityNameEnum.java → nightFragrance-massage/src/main/java/com/ylx/point/enums/TaskNameEnum.java

@@ -1,9 +1,11 @@
 package com.ylx.point.enums;
-
 import lombok.Getter;
 
+/**
+ * 任务名称枚举
+ */
 @Getter
-public enum ActivityNameEnum {
+public enum TaskNameEnum {
 
     COMPLETE_ORDER(1, "完成订单"),
 
@@ -19,6 +21,9 @@ public enum ActivityNameEnum {
 
     GOODS_REFUND(7, "商品退款"),
 
+    /**
+     * 商城消费(用于积分下单)
+     */
     GOODS_CONSUME(8, "商城消费"),
 
     POINT_EXPIRE(9, "积分到期");
@@ -26,7 +31,7 @@ public enum ActivityNameEnum {
     private final Integer code;
     private final String info;
 
-    ActivityNameEnum(Integer code, String info) {
+    TaskNameEnum(Integer code, String info) {
         this.code = code;
         this.info = info;
     }

+ 2 - 2
nightFragrance-massage/src/main/java/com/ylx/point/service/IPointAccountService.java

@@ -24,10 +24,10 @@ public interface IPointAccountService {
      * @param openId         用户openId
      * @param pointsToDeduct 需要扣减的积分数量(正数)
      * @param bizOrderNo     业务订单号
-     * @param activityName   活动名称(如:积分商品兑换)
+     * @param taskName   任务名称(如:积分商品兑换)
      * @return Integer 变动后的余额
      */
-    Integer deductPoints(String openId, int pointsToDeduct, String bizOrderNo, String activityName);
+    Integer deductPoints(String openId, int pointsToDeduct, String bizOrderNo, String taskName);
 
     /**
      * 退款积分(用于积分商品退款)

+ 4 - 4
nightFragrance-massage/src/main/java/com/ylx/point/service/impl/PointAccountServiceImpl.java

@@ -6,7 +6,7 @@ import com.ylx.common.exception.ServiceException;
 import com.ylx.point.domain.PointActivity;
 import com.ylx.point.domain.PointActivityExpirePolicy;
 import com.ylx.point.domain.PointUserLog;
-import com.ylx.point.enums.ActivityNameEnum;
+import com.ylx.point.enums.TaskNameEnum;
 import com.ylx.point.enums.PointActivityExpirePolicyEnum;
 import com.ylx.point.mapper.PointUserLogMapper;
 import com.ylx.point.service.IPointAccountService;
@@ -84,7 +84,7 @@ public class PointAccountServiceImpl implements IPointAccountService {
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Integer deductPoints(String openId, int pointsToDeduct, String bizOrderNo, String activityName) {
+    public Integer deductPoints(String openId, int pointsToDeduct, String bizOrderNo, String taskName) {
 
         // 1. 获取当前积分余额
         Integer currentBalance = getBalance(openId);
@@ -140,7 +140,7 @@ public class PointAccountServiceImpl implements IPointAccountService {
             deductLog.setOpType(2);  // 2-支出
             deductLog.setBizOrderId(bizOrderNo);
             deductLog.setSourceLogId(sourceLog.getId());  // 关联到收入记录
-            deductLog.setActivityName(activityName);
+            deductLog.setActivityName(taskName);
             deductLog.setMonth(DateUtil.format(new Date(), "yyyyMM"));
 
             // 计算扣减后的余额
@@ -187,7 +187,7 @@ public class PointAccountServiceImpl implements IPointAccountService {
         log.setBizOrderId(bizOrderNo);
         log.setSourceLogId(null);
         log.setIsExpired(0);  // 0-未过期
-        log.setActivityName(ActivityNameEnum.GOODS_REFUND.getInfo());
+        log.setActivityName(TaskNameEnum.GOODS_REFUND.getInfo());
         log.setExpireTime(null);  // 退款积分没有过期时间
         log.setMonth(DateUtil.format(new Date(), "yyyyMM"));
 

+ 2 - 3
nightFragrance-massage/src/main/java/com/ylx/point/service/impl/PointActivityServiceImpl.java

@@ -18,7 +18,7 @@ import com.ylx.point.domain.*;
 import com.ylx.point.domain.dto.*;
 import com.ylx.point.domain.vo.*;
 import com.ylx.point.enums.ActivityCompletionTaskTypeEnum;
-import com.ylx.point.enums.ActivityNameEnum;
+import com.ylx.point.enums.TaskNameEnum;
 import com.ylx.point.enums.PointActivityStatusEnum;
 import com.ylx.point.enums.PointActivityTypeEnum;
 import com.ylx.point.mapper.PointActivityMapper;
@@ -29,7 +29,6 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.time.*;
-import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -586,7 +585,7 @@ public class PointActivityServiceImpl extends ServiceImpl<PointActivityMapper, P
 
         // 6. 发放积分
         try {
-            pointAccountService.addPoints(openId, rewardPoints, activityName, null, activityId, taskId, taskType, ActivityNameEnum.USER_SIGN_IN.name());
+            pointAccountService.addPoints(openId, rewardPoints, activityName, null, activityId, taskId, taskType, TaskNameEnum.USER_SIGN_IN.name());
         } catch (Exception e) {
             log.error("签到发放积分异常 openid:{}", openId, e);
             throw new ServiceException("签到成功,但积分发放失败,请联系客服");

+ 21 - 21
nightFragrance-massage/src/main/java/com/ylx/point/service/impl/PointUserActivityTaskCompletionServiceImpl.java

@@ -17,7 +17,7 @@ import com.ylx.point.domain.PointActivity;
 import com.ylx.point.domain.PointActivityTask;
 import com.ylx.point.domain.PointUserActivityTaskCompletion;
 import com.ylx.point.domain.vo.PointActivityOverviewVO;
-import com.ylx.point.enums.ActivityNameEnum;
+import com.ylx.point.enums.TaskNameEnum;
 import com.ylx.point.enums.PointActivityStatusEnum;
 import com.ylx.point.enums.PointActivityTaskTypeEnum;
 import com.ylx.point.enums.PointActivityTypeEnum;
@@ -174,7 +174,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
 
         // 场景 A: 每日任务/签到 -> 只需要检查今天是否做过
         if (pointActivityType == PointActivityTypeEnum.SIGN_TASK) {
-            taskName = ActivityNameEnum.USER_SIGN_IN.getInfo();
+            taskName = TaskNameEnum.USER_SIGN_IN.getInfo();
             boolean completed = this.isTodayCompleted(openId, activityId, taskId, taskType.getCode());
             if (completed) {
                 throw new ServiceException("今日任务已完成,请勿重复领取");
@@ -191,19 +191,19 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
             // 2. 仅根据任务类型获取名称 (移除所有业务计数逻辑)
             switch (taskType) {
                 case COMPLETE_ORDER:
-                    taskName = ActivityNameEnum.COMPLETE_ORDER.getInfo();
+                    taskName = TaskNameEnum.COMPLETE_ORDER.getInfo();
                     break;
                 case RECHARGE_TASK:
-                    taskName = ActivityNameEnum.RECHARGE_TASK.getInfo();
+                    taskName = TaskNameEnum.RECHARGE_TASK.getInfo();
                     break;
                 case SHARE_SERVICE:
-                    taskName = ActivityNameEnum.SHARE_ACCOUNT.getInfo();
+                    taskName = TaskNameEnum.SHARE_ACCOUNT.getInfo();
                     break;
                 case BROWLE_NEWS:
-                    taskName = ActivityNameEnum.BROWSE_DYNAMIC.getInfo();
+                    taskName = TaskNameEnum.BROWSE_DYNAMIC.getInfo();
                     break;
                 case BROWLE_MERCHANT:
-                    taskName = ActivityNameEnum.BROWSE_MERCHANT.getInfo();
+                    taskName = TaskNameEnum.BROWSE_MERCHANT.getInfo();
                     break;
                 default:
                     throw new ServiceException("不支持的任务类型: " + taskType);
@@ -222,23 +222,23 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
                 case COMPLETE_ORDER: // 完成订单
                     int orderCount = orderService.countCompletedOrders(openId, queryTime);
                     isVerified = orderCount >= targetCount;
-                    taskName = ActivityNameEnum.COMPLETE_ORDER.getInfo();
+                    taskName = TaskNameEnum.COMPLETE_ORDER.getInfo();
                     break;
                 case RECHARGE_TASK: // 充值任务
                     int rechargeCount = rechargeService.countSuccessRecharges(openId, queryTime);
                     isVerified = rechargeCount >= targetCount;
-                    taskName = ActivityNameEnum.RECHARGE_TASK.getInfo();
+                    taskName = TaskNameEnum.RECHARGE_TASK.getInfo();
                     break;
                 case SHARE_SERVICE: // 分享服务号
-                    taskName = ActivityNameEnum.SHARE_ACCOUNT.getInfo();
+                    taskName = TaskNameEnum.SHARE_ACCOUNT.getInfo();
                     isVerified = true;
                     break;
                 case BROWLE_NEWS:    // 浏览动态
-                    taskName = ActivityNameEnum.BROWSE_DYNAMIC.getInfo();
+                    taskName = TaskNameEnum.BROWSE_DYNAMIC.getInfo();
                     isVerified = true;
                     break;
                 case BROWLE_MERCHANT:// 浏览商户
-                    taskName = ActivityNameEnum.BROWSE_MERCHANT.getInfo();
+                    taskName = TaskNameEnum.BROWSE_MERCHANT.getInfo();
                     isVerified = true;
                     break;
                 default:
@@ -312,12 +312,12 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
      *
      * @param openId           用户openId
      * @param taskTypeEnum     任务类型枚举
-     * @param activityNameEnum 活动名称枚举
+     * @param taskNameEnum 活动名称枚举
      * @param countSupplier    查询已完成次数的函数
      */
     private void completeTaskByPriorityInternal(String openId,
                                                 PointActivityTaskTypeEnum taskTypeEnum,
-                                                ActivityNameEnum activityNameEnum,
+                                                TaskNameEnum taskNameEnum,
                                                 java.util.function.Function<Date, Integer> countSupplier) {
         // 活动类型优先级:新手活动、每日活动、每月活动
         List<Integer> priorityTypes = Arrays.asList(
@@ -332,7 +332,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
                 // 查询该活动类型下所有进行中的任务
                 List<PointActivityTask> taskList = pointActivityTaskService.list(
                         Wrappers.lambdaQuery(PointActivityTask.class)
-                                .eq(PointActivityTask::getTaskName, activityNameEnum.getInfo())
+                                .eq(PointActivityTask::getTaskName, taskNameEnum.getInfo())
                                 .eq(PointActivityTask::getStatus, 0)
                                 .eq(PointActivityTask::getIsDeleted, 0)
                 );
@@ -398,7 +398,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
                                     activity.getId(),
                                     task.getId(),
                                     taskTypeEnum.getCode(),
-                                    activityNameEnum.getInfo()
+                                    taskNameEnum.getInfo()
                             );
 
                             // 成功完成一个任务后,跳出循环(只完成优先级最高的一个任务)
@@ -414,7 +414,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
                     }
                 }
             } catch (Exception e) {
-                log.error("完成{}任务失败 - 活动类型:{}, 错误信息:{}", activityNameEnum.getInfo(), activityType, e.getMessage(), e);
+                log.error("完成{}任务失败 - 活动类型:{}, 错误信息:{}", taskNameEnum.getInfo(), activityType, e.getMessage(), e);
                 // 继续尝试下一个优先级的活动类型
             }
         }
@@ -436,7 +436,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
                 // 查询该活动类型下所有进行中的"完成订单"任务
                 List<PointActivityTask> taskList = pointActivityTaskService.list(
                         Wrappers.lambdaQuery(PointActivityTask.class)
-                                .eq(PointActivityTask::getTaskName, ActivityNameEnum.COMPLETE_ORDER.getInfo())
+                                .eq(PointActivityTask::getTaskName, TaskNameEnum.COMPLETE_ORDER.getInfo())
                                 .eq(PointActivityTask::getStatus, 0)
                                 .eq(PointActivityTask::getIsDeleted, 0)
                 );
@@ -502,7 +502,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
                                     activity.getId(),
                                     task.getId(),
                                     PointActivityTaskTypeEnum.COMPLETE_ORDER.getCode(),
-                                    ActivityNameEnum.COMPLETE_ORDER.getInfo()
+                                    TaskNameEnum.COMPLETE_ORDER.getInfo()
                             );
 
                             // 成功完成一个任务后,跳出循环(只完成优先级最高的一个任务)
@@ -540,7 +540,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
                 // 查询该活动类型下所有进行中的"充值任务"
                 List<PointActivityTask> taskList = pointActivityTaskService.list(
                         Wrappers.lambdaQuery(PointActivityTask.class)
-                                .eq(PointActivityTask::getTaskName, ActivityNameEnum.RECHARGE_TASK.getInfo())
+                                .eq(PointActivityTask::getTaskName, TaskNameEnum.RECHARGE_TASK.getInfo())
                                 .eq(PointActivityTask::getStatus, 0)
                                 .eq(PointActivityTask::getIsDeleted, 0)
                 );
@@ -606,7 +606,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
                                     activity.getId(),
                                     task.getId(),
                                     PointActivityTaskTypeEnum.RECHARGE_TASK.getCode(),
-                                    ActivityNameEnum.RECHARGE_TASK.getInfo()
+                                    TaskNameEnum.RECHARGE_TASK.getInfo()
                             );
 
                             // 成功完成一个任务后,跳出循环(只完成优先级最高的一个任务)