Ver Fonte

Merge remote-tracking branch 'origin/sit' into sit

ldz há 3 meses atrás
pai
commit
f4d75ec034

+ 17 - 5
alien-second/src/main/java/shop/alien/second/service/impl/SecondTradeRecordServiceImpl.java

@@ -607,16 +607,28 @@ public class SecondTradeRecordServiceImpl extends ServiceImpl<SecondTradeRecordM
         wrapper.eq(SecondUserCreditRecord::getPointsType, 3);
         List<SecondUserCreditRecord> records = secondUserCreditRecordMapper.selectList(wrapper);
         int userPoints = records.stream().mapToInt(SecondUserCreditRecord::getPoints).sum();
+
         if (userPoints < 500) {
-            SecondUserCreditRecord record = new SecondUserCreditRecord();
-            record.setUserId(userId);
-            record.setPoints(10);
-            record.setPointsType(3);
-            secondUserCreditRecordMapper.insert(record);
+            // 使用数据库原子操作更新积分
             secondUserCreditMapper.updatePointsByUserId(userId, 10);
+
+            // 查询最新的积分值
+            LambdaQueryWrapper<SecondUserCredit> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(SecondUserCredit::getUserId, userId);
+            SecondUserCredit userCredit = secondUserCreditMapper.selectOne(queryWrapper);
+
+            if (userCredit != null) {
+                SecondUserCreditRecord record = new SecondUserCreditRecord();
+                record.setUserId(userId);
+                record.setPoints(10);
+                record.setPointsType(3);
+                record.setCurrentScoreCount(userCredit.getUserPoints()); // 注意:这里应该是更新后的积分
+                secondUserCreditRecordMapper.insert(record);
+            }
         }
     }
 
+
     @Override
     public List<SecondTradeRecordVo> getTradeRecord(int sideId) throws Exception {
         try {