Переглянути джерело

feat(credit): 添加用户积分总分更新功能

- 新增 SecondUserCreditMapper 依赖注入
- 添加 SecondUserCredit 和 SecondUserCreditRecord 实体类引用
- 实现新增积分记录后自动更新用户总积分逻辑
- 添加 QueryWrapper 查询条件构建
- 集成 LambdaQueryWrapper 进行精确查询
- 完善积分增加后的数据一致性处理
fcw 23 годин тому
батько
коміт
8c4e5d60e4

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

@@ -1,6 +1,7 @@
 package shop.alien.store.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -8,9 +9,12 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import shop.alien.entity.result.R;
+import shop.alien.entity.second.SecondUserCredit;
 import shop.alien.entity.second.SecondUserCreditRecord;
 import shop.alien.entity.store.LifeUserCreditScoreInfo;
+import shop.alien.entity.store.StoreUser;
 import shop.alien.mapper.LifeUserCreditScoreInfoMapper;
+import shop.alien.mapper.second.SecondUserCreditMapper;
 import shop.alien.mapper.second.SecondUserCreditRecordMapper;
 import shop.alien.store.service.LifeUserCreditScoreInfoService;
 import shop.alien.util.common.JwtUtil;
@@ -24,6 +28,7 @@ public class LifeUserCreditScoreInfoServiceImpl extends ServiceImpl<LifeUserCred
 
     private final SecondUserCreditRecordMapper secondUserCreditRecordMapper;
     private final LifeUserCreditScoreInfoMapper lifeUserCreditScoreInfoMapper;
+    private final SecondUserCreditMapper secondUserCreditMapper;
 
     @Override
     public R<String> add(LifeUserCreditScoreInfo lifeUserCreditScoreInfo) {
@@ -51,6 +56,18 @@ public class LifeUserCreditScoreInfoServiceImpl extends ServiceImpl<LifeUserCred
             record.setPoints(50);
             record.setPointsType(9);
             secondUserCreditRecordMapper.insert(record);
+
+            // 更新总分
+            SecondUserCreditRecord recordByUserId = new SecondUserCreditRecord();
+            recordByUserId.setUserId(userId);
+            QueryWrapper<SecondUserCreditRecord> queryWrapperByUserId = new QueryWrapper<>();
+            queryWrapperByUserId.eq("userId", userId);
+            SecondUserCredit secondUserCredit = secondUserCreditMapper.selectOne(new LambdaQueryWrapper<SecondUserCredit>().eq(SecondUserCredit::getUserId, userId));
+            if (null != secondUserCredit) {
+                secondUserCredit.setUserPoints(secondUserCredit.getUserPoints() + 50);
+                secondUserCreditMapper.updateById(secondUserCredit);
+            }
+
         }
 
         return R.success("新增成功");