feat: 消费金币时保存消费记录
- UserInfoService.consumeCoins方法添加消费记录保存 - 记录包含:用户ID、消费金额、消费类型、描述、关联ID - 消费详情页面可查看每次测算的金币消耗记录
This commit is contained in:
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;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user