zoujiajian 11 месяцев назад
Родитель
Сommit
115d5f6455

+ 0 - 5
netflix-service/src/main/java/com/cyksj/service/claude/ClaudeCodeService.java

@@ -7,7 +7,6 @@ import com.cyksj.model.request.ClaudeCodeApiKeysReq;
 import com.cyksj.model.request.ClaudeCodeCreditCardUseReq;
 import com.cyksj.model.request.ClaudeCodeDelReq;
 import com.cyksj.model.request.CreditResetReq;
-import com.cyksj.model.response.ClaudeCodePointsHistoryResp;
 import com.cyksj.model.response.ClaudeCodeRewardDetailsResp;
 import com.cyksj.model.response.CreditResetResp;
 import com.cyksj.model.response.TimeRateConfigsResp;
@@ -49,8 +48,6 @@ public interface ClaudeCodeService {
 	 */
 	List<ClaudeCodeUserApiKeysView> getUserApiKeys(long userId) throws Exception;
 
-	ClaudeCodePointsHistoryResp getUserPointsDetail(Long userId, String type, Integer page, Integer limit) throws Exception;
-
 	ClaudeCodeResp getUserDashboard(Long userId) throws Exception;
 
 	ClaudeCodeResp getUserBalance(Long userId) throws Exception;
@@ -127,6 +124,4 @@ public interface ClaudeCodeService {
 	 * 用户是否存在订阅
 	 */
 	Boolean getUserSubs(long userId);
-
-	ClaudeCodeResp getTimeseriesRequests(Long userId, String period, String granularity, String model);
 }

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

@@ -28,7 +28,6 @@ import com.cyksj.model.request.ClaudeCodeCreditCardUseReq;
 import com.cyksj.model.request.ClaudeCodeDelReq;
 import com.cyksj.model.request.CreditResetReq;
 import com.cyksj.model.request.codex.CodexUserPackageReq;
-import com.cyksj.model.response.ClaudeCodePointsHistoryResp;
 import com.cyksj.model.response.ClaudeCodeRewardDetailsResp;
 import com.cyksj.model.response.CreditResetResp;
 import com.cyksj.model.response.TimeRateConfigsResp;
@@ -244,23 +243,18 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		return null;
 	}
 
-	@Override
-	public ClaudeCodePointsHistoryResp getUserPointsDetail(Long userId, String type, Integer page, Integer limit) throws Exception {
-		Long claudeCodeUserId = getClaudeCodeUserId(userId);
-		if (claudeCodeUserId != null) {
-			String url = String.format(Constant.CLAUDE_CODE_API_PREFIX + "api/users/%s/credits/history?page=%s&limit=%s&type=%s", claudeCodeUserId, page, limit, type);
-			ClaudeCodeResp claudeCodeResp = executeClaudeCodeGetApi(url);
-			ClaudeCodePointsHistoryResp historyResp = Jsons.parseObject(claudeCodeResp.getData(), ClaudeCodePointsHistoryResp.class);
-			return historyResp;
-		}
-		return null;
-	}
-
 	@Override
 	public ClaudeCodeResp getUserDashboard(Long userId) throws Exception {
 		Long claudeCodeUserId = getClaudeCodeUserId(userId);
 		if (claudeCodeUserId != null) {
-			String url = String.format(Constant.CLAUDE_CODE_API_PREFIX + "api/claude/users/%s/dashboard?service_type=%s", claudeCodeUserId, "claude");
+			List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, null);
+			Integer selectCount = codexUserMapper.selectCount(Wrappers.lambdaQuery(CodexUser.class).eq(CodexUser::getIsPay, Boolean.FALSE).in(CodexUser::getUserId, userIdList));
+			String service_type = "claude";
+			//有赠送 组合类型
+			if (selectCount > 0) {
+				service_type = "combined";
+			}
+			String url = String.format(Constant.CLAUDE_CODE_API_PREFIX + "api/claude/users/%s/dashboard?service_type=%s", claudeCodeUserId, service_type);
 			ClaudeCodeResp claudeCodeResp = executeClaudeCodeGetApi(url);
 			return claudeCodeResp;
 		}
@@ -438,6 +432,8 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		} else {
 			parmas.put("openai_daily_limit", 0);
 			parmas.put("openai_quota", 0);
+			//单独 claude类型
+			parmas.put("service_type", "claude");
 		}
 		parmas.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);
@@ -1061,17 +1057,6 @@ public class ClaudeCodeServiceImpl implements ClaudeCodeService {
 		return true;
 	}
 
-	@Override
-	public ClaudeCodeResp getTimeseriesRequests(Long userId, String period, String granularity, String model) {
-		Long claudeCodeUserId = getClaudeCodeUserId(userId);
-		if (claudeCodeUserId != null) {
-			String url = String.format(Constant.CLAUDE_CODE_API_PREFIX + "/adminapi/claude/system/timeseries/requests?period=%s&granularity=%s&user_id=%s&model=%s", period, granularity, claudeCodeUserId, model);
-			ClaudeCodeResp claudeCodeResp = executeClaudeCodeGetApi(url);
-			return claudeCodeResp;
-		}
-		return null;
-	}
-
 	private void adjClaudeCodeUserPoints(Long userId, Integer points, String type, String description) throws Exception {
 		String apiKeyUrl = String.format(Constant.CLAUDE_CODE_API_PREFIX + "api/users/%s/credits/adjust", userId);
 		Map<String, Object> parmas = new HashMap<>();

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

@@ -637,8 +637,14 @@ public class CodexServiceImpl implements CodexService {
 			return null;
 		}
 
+		//服务类型 区分赠送
+		String service_type = "openai";
+		if (!codexUser.getIsPay()) {
+			service_type = "combined";
+		}
+
 		// 调用Codex API获取用户控制台数据
-		String dashboardUrl = String.format(Constant.CLAUDE_CODE_API_PREFIX + "api/claude/users/%s/dashboard?service_type=%s", codexUser.getUserId(), "openai");
+		String dashboardUrl = String.format(Constant.CLAUDE_CODE_API_PREFIX + "api/claude/users/%s/dashboard?service_type=%s", codexUser.getUserId(), service_type);
 		ClaudeCodeResp codexResp = executeCodexGetApi(dashboardUrl);
 		return codexResp;
 	}

+ 0 - 35
netflix-web/src/main/java/com/cyksj/web/controller/claude/ClaudeCodeController.java

@@ -160,19 +160,6 @@ public class ClaudeCodeController {
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
 	}
 
-	/**
-	 * 用户积分明细
-	 * - `page` (int, optional): 页码,默认1
-	 * - `limit` (int, optional): 每页数量,默认20,最大100
-	 * - `type` (string, optional): 积分类型过滤
-	 */
-	@GetMapping("/get/user/points/detail")
-	public ClaudeCodePointsHistoryResp getUserPointsDetail(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer limit, String type) throws Exception {
-		long userId = StpUserUtil.getLoginIdAsLong();
-		ClaudeCodePointsHistoryResp resp = claudeCodeService.getUserPointsDetail(userId, type, page, limit);
-		return resp;
-	}
-
 	/**
 	 * claude 仪表盘聚合
 	 * 返回 当前订阅/余额卡片 + 今日汇总 + 今日请求列表
@@ -184,18 +171,6 @@ public class ClaudeCodeController {
 		return resp;
 	}
 
-
-	/**
-	 * 余额卡片
-	 * 单独返回余额卡片数据
-	 */
-	@GetMapping("/get/balance")
-	public ClaudeCodeResp getUserBalance() throws Exception {
-		long userId = StpUserUtil.getLoginIdAsLong();
-		ClaudeCodeResp resp = claudeCodeService.getUserBalance(userId);
-		return resp;
-	}
-
 	/**
 	 * 图表 + 明细联动(每小时聚合)
 	 * - `start` (string, required): `YYYY-MM-DD HH:MM:SS`,例如 `2025-08-08 12:00:00`
@@ -213,16 +188,6 @@ public class ClaudeCodeController {
 		return resp;
 	}
 
-	/**
-	 * 获取Claude调用趋势
-	 */
-	@GetMapping("/get/timeseries/requests")
-	public ClaudeCodeResp getTimeseriesRequests(@RequestParam(defaultValue = "today") String period, @RequestParam(defaultValue = "1h")String granularity, String model) throws Exception {
-		long userId = StpUserUtil.getLoginIdAsLong();
-		ClaudeCodeResp resp = claudeCodeService.getTimeseriesRequests(userId, period, granularity, model);
-		return resp;
-	}
-
 	/**
 	 * claude code可选套餐
 	 */