zoujiajian 1 an în urmă
părinte
comite
b1f21edd8f

+ 25 - 28
netflix-service/src/main/java/com/cyksj/service/claude/impl/ClaudeCodeServiceImpl.java

@@ -165,8 +165,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 			if (expiresDays != null) {
 				parmas.put("expires_days", expiresDays);
 			}
-			String responseBody = executeClaudeCodePostApi(apiKeyUrl, Jsons.toJson(parmas));
-			ClaudeCodeResp claudeCodeResp = Jsons.parseObject(responseBody, ClaudeCodeResp.class);
+			ClaudeCodeResp claudeCodeResp = executeClaudeCodePostApi(apiKeyUrl, Jsons.toJson(parmas));
 			if (!Constant.SUCCESS.equals(claudeCodeResp.getMessage())) {
 				throw BusinessRuntimeException.getInstance("创建失败");
 			}
@@ -197,8 +196,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		Long claudeCodeUserId = getClaudeCodeUserId(userId);
 		if (claudeCodeUserId != null) {
 			String url = String.format(CLAUDE_CODE_API_PREFIX + "api/users/%s/keys", claudeCodeUserId);
-			String responseBody = executeClaudeCodeGetApi(url);
-			ClaudeCodeResp claudeCodeResp = Jsons.parseObject(responseBody, ClaudeCodeResp.class);
+			ClaudeCodeResp claudeCodeResp = executeClaudeCodeGetApi(url);
 			return Jsons.parseList(claudeCodeResp.getData(), ClaudeCodeUserApiKeysView.class);
 		}
 		return null;
@@ -209,8 +207,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		Long claudeCodeUserId = getClaudeCodeUserId(userId);
 		if (claudeCodeUserId != null) {
 			String url = String.format(CLAUDE_CODE_API_PREFIX + "api/users/%s/credits/history?page=%s&limit=%s&type=%s", claudeCodeUserId, page, limit, type);
-			String responseBody = executeClaudeCodeGetApi(url);
-			ClaudeCodeResp claudeCodeResp = Jsons.parseObject(responseBody, ClaudeCodeResp.class);
+			ClaudeCodeResp claudeCodeResp = executeClaudeCodeGetApi(url);
 			ClaudeCodePointsHistoryResp historyResp = Jsons.parseObject(claudeCodeResp.getData(), ClaudeCodePointsHistoryResp.class);
 			return historyResp;
 		}
@@ -222,8 +219,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		Long claudeCodeUserId = getClaudeCodeUserId(userId);
 		if (claudeCodeUserId != null) {
 			String url = String.format(CLAUDE_CODE_API_PREFIX + "api/users/%s/dashboard", claudeCodeUserId);
-			String responseBody = executeClaudeCodeGetApi(url);
-			ClaudeCodeResp claudeCodeResp = Jsons.parseObject(responseBody, ClaudeCodeResp.class);
+			ClaudeCodeResp claudeCodeResp = executeClaudeCodeGetApi(url);
 			return claudeCodeResp;
 		}
 		return null;
@@ -234,8 +230,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		Long claudeCodeUserId = getClaudeCodeUserId(userId);
 		if (claudeCodeUserId != null) {
 			String url = String.format(CLAUDE_CODE_API_PREFIX + "api/users/%s/balance", claudeCodeUserId);
-			String responseBody = executeClaudeCodeGetApi(url);
-			ClaudeCodeResp claudeCodeResp = Jsons.parseObject(responseBody, ClaudeCodeResp.class);
+			ClaudeCodeResp claudeCodeResp = executeClaudeCodeGetApi(url);
 			return claudeCodeResp;
 		}
 		return null;
@@ -251,8 +246,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		}
 		if (claudeCodeUserId != null) {
 			String url = String.format(CLAUDE_CODE_API_PREFIX + "api/users/%s/credits/analytics?start=%s&end=%s&tz=%s&page=%s&limit=%s&order=%s&type=%s", claudeCodeUserId, start, end, tz, page, limit, order, type);
-			String responseBody = executeClaudeCodeGetApi(url);
-			ClaudeCodeResp claudeCodeResp = Jsons.parseObject(responseBody, ClaudeCodeResp.class);
+			ClaudeCodeResp claudeCodeResp = executeClaudeCodeGetApi(url);
 			return claudeCodeResp;
 		}
 		return null;
@@ -340,8 +334,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		parmas.put("credit_recovery", codeCreditRecovery);
 		parmas.put("expire_time", DateUtil.format(expiryTime,"yyyy-MM-dd HH:mm:ss"));
 		String planUrl = String.format(CLAUDE_CODE_API_PREFIX + "api/users/%s/plan", userId);
-		String responseBody = executeClaudeCodePostApi(planUrl, Jsons.toJson(parmas));
-		ClaudeCodeResp claudeCodeResp = Jsons.parseObject(responseBody, ClaudeCodeResp.class);
+		ClaudeCodeResp claudeCodeResp = executeClaudeCodePostApi(planUrl, Jsons.toJson(parmas));
 		if (!Constant.SUCCESS.equals(claudeCodeResp.getMessage())) {
 			log.info("用户claude code用户:{}套餐:{}创建或更新失败,info:{}", userId, planName, claudeCodeResp.getMessage());
 		}
@@ -398,8 +391,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		parmas.put("type", type);
 		String url = String.format(CLAUDE_CODE_API_PREFIX + "/api/users/%s/credits/adjust", userId);
 		try {
-			String responseBody = executeClaudeCodePostApi(url, Jsons.toJson(parmas));
-			ClaudeCodeResp claudeCodeResp = Jsons.parseObject(responseBody, ClaudeCodeResp.class);
+			ClaudeCodeResp claudeCodeResp = executeClaudeCodePostApi(url, Jsons.toJson(parmas));
 			if (!Constant.SUCCESS.equals(claudeCodeResp.getMessage())) {
 				log.error("变更用户:{}积分记录失败", userId);
 			}
@@ -412,8 +404,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 	public Boolean delUserPackages(Long userId) {
 		String url = String.format(CLAUDE_CODE_API_PREFIX + "api/users/%s/plan", userId);
 		try {
-			String responseBody = executeClaudeCodeDeletedApi(url);
-			ClaudeCodeResp claudeCodeResp = Jsons.parseObject(responseBody, ClaudeCodeResp.class);
+			ClaudeCodeResp claudeCodeResp = executeClaudeCodeDeletedApi(url);
 			if (!Constant.SUCCESS.equals(claudeCodeResp.getMessage())) {
 				log.error("删除用户:{} claude code套餐失败:{}", userId, claudeCodeResp.getMessage());
 				return Boolean.FALSE;
@@ -444,8 +435,8 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 	/**
 	 * claude code GET请求
 	 */
-	public String executeClaudeCodeGetApi(String url) {
-		Retryer<String> build = getApiRetryer(1, 3);
+	public ClaudeCodeResp executeClaudeCodeGetApi(String url) {
+		Retryer<ClaudeCodeResp> build = getApiRetryer(1, 3);
 		try {
 			return build.call(() -> {
 				try {
@@ -453,7 +444,9 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 							.header("X-Admin-Key", CLAUDE_CODE_API_ADMIN_KEY)
 							.setConnectionTimeout(CONNECT_MILLISECONDS)
 							.execute();
-					return execute.body();
+					ClaudeCodeResp resp = Jsons.parseObject(execute.body(), ClaudeCodeResp.class);
+					log.info("claude code GET URL:{}接口返回msg:{}", url, resp.getMessage());
+					return resp;
 				} catch (HttpException e) {
 					return null;
 				}
@@ -468,8 +461,8 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 	/**
 	 * claude code Post请求
 	 */
-	public String executeClaudeCodePostApi(String url, String body) {
-		Retryer<String> build = getApiRetryer(1, 3);
+	public ClaudeCodeResp executeClaudeCodePostApi(String url, String body) {
+		Retryer<ClaudeCodeResp> build = getApiRetryer(1, 3);
 		try {
 			return build.call(() -> {
 				try {
@@ -478,7 +471,9 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 							.setConnectionTimeout(CONNECT_MILLISECONDS)
 							.body(body)
 							.execute();
-					return execute.body();
+					ClaudeCodeResp resp = Jsons.parseObject(execute.body(), ClaudeCodeResp.class);
+					log.info("claude code POST URL:{}接口返回msg:{}", url, resp.getMessage());
+					return resp;
 				} catch (Exception e) {
 					return null;
 				}
@@ -492,13 +487,15 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 	/**
 	 * claude code DELETE请求
 	 */
-	public String executeClaudeCodeDeletedApi(String url) {
-		Retryer<String> build = getApiRetryer(1, 3);
+	public ClaudeCodeResp executeClaudeCodeDeletedApi(String url) {
+		Retryer<ClaudeCodeResp> build = getApiRetryer(1, 3);
 		try {
 			return build.call(() -> {
 				try {
 					HttpResponse execute = HttpUtil.createRequest(Method.DELETE, url).header("X-Admin-Key", CLAUDE_CODE_API_ADMIN_KEY).setConnectionTimeout(CONNECT_MILLISECONDS).execute();
-					return execute.body();
+					ClaudeCodeResp resp = Jsons.parseObject(execute.body(), ClaudeCodeResp.class);
+					log.info("claude code DELETE URL:{}接口返回msg:{}", url, resp.getMessage());
+					return resp;
 				} catch (HttpException e) {
 					return null;
 				}
@@ -534,7 +531,7 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 	}
 
 	public Retryer getApiRetryer(Integer sleepSecond, Integer attemptNum) {
-		Retryer<String> build = RetryerBuilder.<String>newBuilder()
+		Retryer build = RetryerBuilder.newBuilder()
 				.retryIfException()
 				//运行时异常重试
 				.retryIfRuntimeException()