feat: 消费金币时保存消费记录

- UserInfoService.consumeCoins方法添加消费记录保存
- 记录包含:用户ID、消费金额、消费类型、描述、关联ID
- 消费详情页面可查看每次测算的金币消耗记录
This commit is contained in:
H1d3rOne committed 2026-03-10 05:12:07 +08:00
1 parent 98d63115a4
commit a10be4ca13
1 file changed
+16 -1
@@ -4,7 +4,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import xuan.entity.UserInfo;
import xuan.entity.CoinConsumeRecord;
import xuan.repository.UserInfoRepository;
import xuan.repository.CoinConsumeRecordRepository;
import java.util.Random;
@@ -17,6 +19,9 @@ public class UserInfoService {
@Autowired
private DeductRecordService deductRecordService;
@Autowired
private CoinConsumeRecordRepository coinConsumeRecordRepository;
public UserInfo loginOrRegister(String openId, String nickname, String avatarUrl) {
UserInfo user = userInfoRepository.findByOpenId(openId);
if (user != null) {
@@ -134,7 +139,17 @@ public class UserInfoService {
return null;
}
user.setCoins(user.getCoins() - amount);
return userInfoRepository.save(user);
userInfoRepository.save(user);
CoinConsumeRecord record = new CoinConsumeRecord();
record.setUserId(userId);
record.setAmount(amount);
record.setType(type);
record.setDescription(description);
record.setRelatedId(relatedId);
coinConsumeRecordRepository.save(record);
return user;
}
return null;
}