فهرست منبع

fix(credit): 修复用户积分计算和记录逻辑

- 在AiUserViolationJob中添加了积分扣除逻辑的代码注释
- 修复了LifeUserCreditScoreInfoServiceImpl中的积分计算错误
- 添加了SecondUserCreditRecord中的当前积分记录字段
- 修正了积分更新时的计算逻辑确保数据一致性
fcw 3 ماه پیش
والد
کامیت
9ed7117a83

+ 23 - 0
alien-job/src/main/java/shop/alien/job/second/AiUserViolationJob.java

@@ -1,6 +1,7 @@
 package shop.alien.job.second;
 
 import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.xxl.job.core.handler.annotation.XxlJob;
 import lombok.RequiredArgsConstructor;
@@ -18,10 +19,14 @@ import org.springframework.util.StringUtils;
 import org.springframework.web.client.RestTemplate;
 import shop.alien.entity.result.R;
 import shop.alien.entity.second.SecondGoods;
+import shop.alien.entity.second.SecondUserCredit;
+import shop.alien.entity.second.SecondUserCreditRecord;
 import shop.alien.entity.store.*;
 import shop.alien.mapper.LifeNoticeMapper;
 import shop.alien.mapper.LifeUserMapper;
 import shop.alien.mapper.LifeUserViolationMapper;
+import shop.alien.mapper.second.SecondUserCreditMapper;
+import shop.alien.mapper.second.SecondUserCreditRecordMapper;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -38,6 +43,8 @@ public class AiUserViolationJob {
     private final LifeUserMapper lifeUserMapper;
 
     private final LifeNoticeMapper lifeNoticeMapper;
+    private final SecondUserCreditMapper secondUserCreditMapper;
+    private final SecondUserCreditRecordMapper secondUserCreditRecordMapper;
 
     @Value("${third-party-user-name.base-url}")
     private String userName;
@@ -161,6 +168,22 @@ public class AiUserViolationJob {
                     lifeMessage.setReceiverId("user_" + lifeUser.getUserPhone());
                     String text = "您的举报用户结果为" + (aiTask.getProcessingStatus().equals("1") ? "违规" : "未违规");
 
+//                    if ("1".equals(aiTask.getProcessingStatus())) {
+//                        SecondUserCredit secondUserCredit = new SecondUserCredit();
+//                        LambdaQueryWrapper<SecondUserCredit> queryWrapper = new LambdaQueryWrapper<>();
+//                        queryWrapper.eq(SecondUserCredit::getUserId, lifeUser.getId());
+//                        secondUserCredit.setUserId(lifeUser.getId());
+//                        SecondUserCredit secondUserCredit1 = secondUserCreditMapper.selectOne(queryWrapper);
+//                        secondUserCredit.setUserPoints(secondUserCredit1.getUserPoints() - 50);
+//
+//                        SecondUserCreditRecord record = new SecondUserCreditRecord();
+//                        record.setUserId(lifeUser.getId());
+//                        record.setPoints(-50);
+//                        record.setPointsType(5);
+//                        record.setCurrentScoreCount(secondUserCredit.getUserPoints());
+//                        secondUserCreditRecordMapper.insert(record);
+//                    }
+
                     com.alibaba.fastjson.JSONObject lifeMessagejson = new com.alibaba.fastjson.JSONObject();
                     lifeMessagejson.put("title", "平台已受理");
                     lifeMessagejson.put("message", text);

+ 1 - 0
alien-second/src/main/java/shop/alien/second/service/impl/SecondUserCreditRecordServiceImpl.java

@@ -214,6 +214,7 @@ public class SecondUserCreditRecordServiceImpl extends ServiceImpl<SecondUserCre
             SecondUserCreditRecord creditRecord = new SecondUserCreditRecord();
             creditRecord.setUserId(userId);
             creditRecord.setPoints(score);
+            creditRecord.setCurrentScoreCount(userCredit.getUserPoints() + score);
             creditRecord.setPointsType(8); // 8-学习视频奖励
             creditRecord.setDeleteFlag(0);
             creditRecord.setCreatedTime(new Date());

+ 2 - 2
alien-store/src/main/java/shop/alien/store/service/impl/LifeUserCreditScoreInfoServiceImpl.java

@@ -65,13 +65,13 @@ public class LifeUserCreditScoreInfoServiceImpl extends ServiceImpl<LifeUserCred
             SecondUserCredit secondUserCredit = secondUserCreditMapper.selectOne(new LambdaQueryWrapper<SecondUserCredit>().eq(SecondUserCredit::getUserId, userId));
             if (null != secondUserCredit) {
                 secondUserCredit.setUserPoints(secondUserCredit.getUserPoints() + 8);
-                record.setCurrentScoreCount(secondUserCredit.getUserPoints() + 8);
+                record.setCurrentScoreCount(secondUserCredit.getUserPoints());
                 secondUserCreditMapper.updateById(secondUserCredit);
 
                 SecondUserCreditRecord recordUp = new SecondUserCreditRecord();
                 recordUp.setUserId(secondUserCredit.getUserId());
                 recordUp.setPoints(8);
-                recordUp.setCurrentScoreCount(secondUserCredit.getUserPoints() + 8);
+                recordUp.setCurrentScoreCount(secondUserCredit.getUserPoints());
                 recordUp.setPointsType(9);
                 secondUserCreditRecordMapper.updateById(record);
             }