zoujiajian 11 meses atrás
pai
commit
f41a6cc407

+ 12 - 2
netflix-service/src/main/java/com/cyksj/service/claude/impl/ClaudeCodeServiceImpl.java

@@ -318,6 +318,8 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 				.field(GroupsRelationView::getExpiryTime, DateTime.now()).op(Operator.GreaterThan)
 				.build());
 		ClaudeCodeUser claudeCodeUser = claudeCodeUserMapper.selectOne(Wrappers.lambdaQuery(ClaudeCodeUser.class).in(ClaudeCodeUser::getUserId, userIdList).last("limit 1"));
+		CodexUser codexUser = null;
+		CodexUserInfoView codexUserInfoView = null;
 		//车票不存在
 		if (groupsRelationView == null) {
 			//套餐是否存在
@@ -329,6 +331,15 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 					codexUserMapper.delete(Wrappers.lambdaQuery(CodexUser.class).eq(CodexUser::getRelationId, claudeCodeUser.getRelationId()).in(CodexUser::getUserId, userIdList));
 				}
 			}
+			//查看是否有自购 codex
+			codexUser = codexUserMapper.selectOne(Wrappers.lambdaQuery(CodexUser.class).in(CodexUser::getUserId, userIdList).gt(CodexUser::getExpiryTime, DateTime.now()).last("limit 1"));
+			if (codexUser != null) {
+				updateCodexUserIfTry(codexUser);
+				codexUserInfoView = CodexUserInfoView.builder().isPay(Boolean.TRUE).planName(codexUser.getPlanName()).openaiDailyLimit(codexUser.getOpenaiDailyLimit()).openaiQuota(codexUser.getOpenaiQuota()).relationId(codexUser.getRelationId()).build();
+				return ClaudeCodeUserInfoView.builder()
+						.codexUserInfo(codexUserInfoView)
+						.build();
+			}
 			return null;
 		}
 		GoodsDonSku sku = null;
@@ -377,7 +388,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 
 			}
 		}
-		CodexUser codexUser = codexUserMapper.selectOne(Wrappers.lambdaQuery(CodexUser.class).eq(CodexUser::getRelationId, claudeCodeUser.getRelationId()).in(CodexUser::getUserId, userIdList).last("limit 1"));
+		codexUser = codexUserMapper.selectOne(Wrappers.lambdaQuery(CodexUser.class).eq(CodexUser::getRelationId, claudeCodeUser.getRelationId()).in(CodexUser::getUserId, userIdList).last("limit 1"));
 		if (codexUser == null) {
 			//是否赠送codex
 			if (sku.getIsCodex()) {
@@ -391,7 +402,6 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 				codexService.createOrUpdateUserPackage(codexPackageReq);
 			}
 		}
-		CodexUserInfoView codexUserInfoView = null;
 		Boolean isPay = Boolean.FALSE;
 		//不存在赠送  查看是否有自购
 		if (codexUser == null) {

+ 1 - 1
netflix-service/src/main/java/com/cyksj/service/codex/impl/CodexServiceImpl.java

@@ -186,7 +186,7 @@ public class CodexServiceImpl implements CodexService {
 		params.put("plan_name", planName.replaceAll(";", ""));
 		params.put("openai_daily_limit", openaiDailyLimit);
 		params.put("openai_quota", openaiQuota);
-		params.put("end_date", DateUtil.format(expiryTime, "yyyy-MM-dd HH:mm:ss"));
+		params.put("expire_time", DateUtil.format(expiryTime, "yyyy-MM-dd HH:mm:ss"));
 
 		String planUrl = String.format(Constant.CLAUDE_CODE_API_PREFIX + "api/users/%s/plan", userId);
 		ClaudeCodeResp codexResp = executeCodexPostApi(planUrl, Jsons.toJson(params));