|
|
@@ -821,6 +821,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
|
|
|
creditCard.setStatus(1);
|
|
|
creditCard.setUsedUserId(userId);
|
|
|
creditCard.setUsedTime(new Date());
|
|
|
+ creditCard.setRemark("使用积分卡");
|
|
|
int cardUpdateResult = claudeCodeCreditCardMapper.update(creditCard,
|
|
|
Wrappers.lambdaUpdate(ClaudeCodeCreditCard.class)
|
|
|
.eq(ClaudeCodeCreditCard::getId, creditCard.getId())
|
|
|
@@ -950,4 +951,43 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
|
|
|
creditCard.setRemark(remark);
|
|
|
claudeCodeCreditCardMapper.insert(creditCard);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void addUserRestNum(Long orderId, Long userId, Integer num, String remark) {
|
|
|
+ List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
|
|
|
+
|
|
|
+ // 获取用户Claude Code信息
|
|
|
+ ClaudeCodeUser claudeCodeUser = claudeCodeUserMapper.selectOne(
|
|
|
+ Wrappers.lambdaQuery(ClaudeCodeUser.class)
|
|
|
+ .in(ClaudeCodeUser::getUserId, userIdList)
|
|
|
+ .last("limit 1")
|
|
|
+ );
|
|
|
+ if (claudeCodeUser == null) {
|
|
|
+ log.info("claude code user不存在");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Integer resetCount = claudeCodeUser.getResetCount();
|
|
|
+ claudeCodeUser.setResetCount(resetCount + num);
|
|
|
+ int update = 0;
|
|
|
+ while (update == 0) {
|
|
|
+ update = claudeCodeUserMapper.update(claudeCodeUser, Wrappers.lambdaUpdate(ClaudeCodeUser.class).eq(ClaudeCodeUser::getUserId, claudeCodeUser.getUserId()).eq(ClaudeCodeUser::getResetCount, resetCount));
|
|
|
+ if (update == 0) {
|
|
|
+ claudeCodeUser = claudeCodeUserMapper.selectOne(
|
|
|
+ Wrappers.lambdaQuery(ClaudeCodeUser.class)
|
|
|
+ .in(ClaudeCodeUser::getUserId, userIdList)
|
|
|
+ .last("limit 1")
|
|
|
+ );
|
|
|
+ if (claudeCodeUser == null) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ resetCount = claudeCodeUser.getResetCount();
|
|
|
+ claudeCodeUser.setResetCount(resetCount + num);
|
|
|
+ }
|
|
|
+ //记录获取重置次数记录
|
|
|
+ ClaudeCodeUserResetRecord resetRecord = new ClaudeCodeUserResetRecord();
|
|
|
+ resetRecord.setUserId(userId);
|
|
|
+ resetRecord.setResetReason(remark);
|
|
|
+ claudeCodeUserResetRecordMapper.insert(resetRecord);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|