jinshihui 14 jam lalu
induk
melakukan
e4e12918de

+ 7 - 7
nightFragrance-massage/src/main/java/com/ylx/point/domain/PointUserLog.java

@@ -53,15 +53,15 @@ public class PointUserLog extends BaseEntity {
     private String taskName;
 
     /**
-     * 1-普通活动 2-签到活动
+     * 1-普通任务 2-签到任务
      */
-    @Excel(name = "1-普通活动 2-签到活动")
+    @Excel(name = "1-普通任务 2-签到任务")
     private Integer taskType;
 
     /**
-     * 变动值 (+获得, -消费, -过期)
+     * 积分变动值
      */
-    @Excel(name = "变动值 (+获得, -消费, -过期)")
+    @Excel(name = "积分变动值")
     private Integer points;
 
     /**
@@ -90,13 +90,13 @@ public class PointUserLog extends BaseEntity {
     private Date expireTime;
 
     /**
-     * 该笔获得记录是否已完全核销/过期
+     * 该笔获得的积分记录是否已过期  0-未过期 1-已过期
      */
-    @Excel(name = "该笔获得记录是否已完全核销/过期")
+    @Excel(name = "该笔获得的积分记录是否已过期  0-未过期 1-已过期")
     private Integer isExpired;
 
     /**
-     * 1-收入 2-支出 3-过期
+     * 操作类型 1-收入 2-支出 3-过期
      */
     @Excel(name = "1-收入 2-支出 3-过期")
     private Integer opType;

+ 2 - 2
nightFragrance-massage/src/main/java/com/ylx/point/mapper/PointUserLogMapper.java

@@ -37,9 +37,9 @@ public interface PointUserLogMapper extends BaseMapper<PointUserLog> {
 
     /**
      * 获取用户可用积分余额
-     * 计算公式:未过期收入总和 - 支出总和(支出为负数,直接相加即可)
+     * 计算公式:未过期收入总和 - 支出总和
      */
-    @Select("SELECT COALESCE(SUM(CASE WHEN op_type = 1 AND is_expired != 1 THEN points ELSE 0 END) + " +
+    @Select("SELECT COALESCE(SUM(CASE WHEN op_type = 1 AND is_expired != 1 THEN points ELSE 0 END) - " +
             "SUM(CASE WHEN op_type IN (2, 3) THEN points ELSE 0 END), 0) AS points " +
             "FROM point_user_log WHERE open_id = #{openId}")
     Integer selectAvailableBalance(@Param("openId") String openId);

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

@@ -136,11 +136,15 @@ public class PointAccountServiceImpl implements IPointAccountService {
             // 4. 创建扣减记录
             PointUserLog deductLog = new PointUserLog();
             deductLog.setOpenId(openId);
-            deductLog.setPoints(-deductFromThisRecord);  // 负数表示扣减
+            // 扣减积分
+            deductLog.setPoints(deductFromThisRecord);
             deductLog.setOpType(2);  // 2-支出
             deductLog.setBizOrderId(bizOrderNo);
             deductLog.setSourceLogId(sourceLog.getId());  // 关联到收入记录
-            deductLog.setActivityName(taskName);
+            // 任务类型: 1-普通任务
+            deductLog.setTaskType(1);
+            // 任务名称
+            deductLog.setTaskName(taskName);
             deductLog.setMonth(DateUtil.format(new Date(), "yyyyMM"));
 
             // 计算扣减后的余额