|
|
@@ -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<>();
|