|
|
@@ -145,7 +145,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
|
|
|
//获取最新的claude code user
|
|
|
claudeCodeUser = claudeCodeUserMapper.selectOne(Wrappers.lambdaQuery(ClaudeCodeUser.class).eq(ClaudeCodeUser::getRelationId, relationId).last("limit 1"));
|
|
|
//生成claude code或更新用户套餐
|
|
|
- ClaudeCodeResp codeUserPackage = createOrUpdateClaudeCodeUserPackage(relation.getUserId(), claudeCodeUser.getPlanName(), claudeCodeUser.getCodePoints(), claudeCodeUser.getCodeCreditRecovery(), claudeCodeUser.getExpiryTime(), sku);
|
|
|
+ ClaudeCodeResp codeUserPackage = createOrUpdateClaudeCodeUserPackage(relation.getUserId(), claudeCodeUser.getPlanName(), claudeCodeUser.getCodePoints(), claudeCodeUser.getCodeCreditRecovery(), claudeCodeUser.getExpiryTime(), claudeCodeUser.getRelationId(), sku);
|
|
|
if (!Constant.SUCCESS.equals(codeUserPackage.getMessage())) {
|
|
|
//重试更新code userInfo数据
|
|
|
setClaudeCodeUserRetryUpdateInfo(relationId);
|
|
|
@@ -362,7 +362,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
|
|
|
//是否需要重试更新 cladueCode userInfo信息
|
|
|
if (claudeCodeUser.getIsRetry()) {
|
|
|
try {
|
|
|
- ClaudeCodeResp codeUserPackage = createOrUpdateClaudeCodeUserPackage(claudeCodeUser.getUserId(), claudeCodeUser.getPlanName(), claudeCodeUser.getCodePoints(), claudeCodeUser.getCodeCreditRecovery(), claudeCodeUser.getExpiryTime(), sku);
|
|
|
+ ClaudeCodeResp codeUserPackage = createOrUpdateClaudeCodeUserPackage(claudeCodeUser.getUserId(), claudeCodeUser.getPlanName(), claudeCodeUser.getCodePoints(), claudeCodeUser.getCodeCreditRecovery(), claudeCodeUser.getExpiryTime(), claudeCodeUser.getRelationId(), sku);
|
|
|
if (!Constant.SUCCESS.equals(codeUserPackage.getMessage())) {
|
|
|
claudeCodeUser.setIsRetry(Boolean.TRUE);
|
|
|
claudeCodeUserMapper.updateById(claudeCodeUser);
|
|
|
@@ -389,7 +389,8 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
|
|
|
.openaiQuota(codexUser != null ? codexUser.getOpenaiQuota() : null)
|
|
|
.build();
|
|
|
}
|
|
|
- public ClaudeCodeResp createOrUpdateClaudeCodeUserPackage(Long userId, String planName, Integer codePoints, Integer codeCreditRecovery, Date expiryTime, GoodsDonSku sku) throws Exception {
|
|
|
+
|
|
|
+ public ClaudeCodeResp createOrUpdateClaudeCodeUserPackage(Long userId, String planName, Integer codePoints, Integer codeCreditRecovery, Date expiryTime, Long relationId, GoodsDonSku sku) throws Exception {
|
|
|
Map<String, Object> parmas = new HashMap<>();
|
|
|
parmas.put("plan_name", planName.replaceAll(";", ""));
|
|
|
parmas.put("credit_limit", codePoints);
|
|
|
@@ -403,17 +404,18 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
|
|
|
ClaudeCodeResp claudeCodeResp = executeClaudeCodePostApi(planUrl, Jsons.toJson(parmas));
|
|
|
if (!Constant.SUCCESS.equals(claudeCodeResp.getMessage())) {
|
|
|
log.info("用户claude code用户:{}套餐:{}创建或更新失败,info:{}", userId, planName, claudeCodeResp.getMessage());
|
|
|
- }
|
|
|
-
|
|
|
- //是否赠送codex
|
|
|
- if (sku.getIsCodex()) {
|
|
|
- CodexUserPackageReq codexPackageReq = CodexUserPackageReq.builder()
|
|
|
- .userId(userId)
|
|
|
- .planName(sku.getCodexPlanName())
|
|
|
- .openaiDailyLimit(sku.getOpenaiDailyLimit())
|
|
|
- .openaiQuota(sku.getOpenaiQuota())
|
|
|
- .expiryTime(expiryTime).build();
|
|
|
- codexService.createOrUpdateUserPackage(codexPackageReq);
|
|
|
+ } else {
|
|
|
+ //是否赠送codex
|
|
|
+ if (sku.getIsCodex()) {
|
|
|
+ CodexUserPackageReq codexPackageReq = CodexUserPackageReq.builder()
|
|
|
+ .userId(userId)
|
|
|
+ .relationId(relationId)
|
|
|
+ .planName(sku.getCodexPlanName())
|
|
|
+ .openaiDailyLimit(sku.getOpenaiDailyLimit())
|
|
|
+ .openaiQuota(sku.getOpenaiQuota())
|
|
|
+ .expiryTime(expiryTime).build();
|
|
|
+ codexService.createOrUpdateUserPackage(codexPackageReq);
|
|
|
+ }
|
|
|
}
|
|
|
return claudeCodeResp;
|
|
|
}
|
|
|
@@ -434,7 +436,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
|
|
|
@Override
|
|
|
public void updateClaudeCodeUserPackageInfo(ClaudeCodeUser claudeCodeUser, Date expiryTime, GoodsDonSku sku) {
|
|
|
try {
|
|
|
- ClaudeCodeResp codeUserPackage = createOrUpdateClaudeCodeUserPackage(claudeCodeUser.getUserId(), claudeCodeUser.getPlanName(), claudeCodeUser.getCodePoints(), claudeCodeUser.getCodeCreditRecovery(), expiryTime, sku);
|
|
|
+ ClaudeCodeResp codeUserPackage = createOrUpdateClaudeCodeUserPackage(claudeCodeUser.getUserId(), claudeCodeUser.getPlanName(), claudeCodeUser.getCodePoints(), claudeCodeUser.getCodeCreditRecovery(), expiryTime, claudeCodeUser.getRelationId(), sku);
|
|
|
if (!Constant.SUCCESS.equals(codeUserPackage.getMessage())) {
|
|
|
//重试标记
|
|
|
claudeCodeUser.setIsRetry(Boolean.TRUE);
|