| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package com.cyksj.web.controller.codex;
- import com.cyksj.dto.Result;
- import com.cyksj.enums.GatewayResponse;
- import com.cyksj.model.request.UpdateDailyLimitRequest;
- import com.cyksj.model.response.claudecode.ClaudeCodeResp;
- import com.cyksj.model.views.CodexUserInfoView;
- import com.cyksj.service.codex.CodexService;
- import com.cyksj.web.util.StpUserUtil;
- import lombok.RequiredArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.web.bind.annotation.*;
- /**
- * server/codex
- * 项目名: yhlxj11111111
- * 文件名: CodexController
- * 创建者: Claude
- * 创建时间:2025/9/15
- */
- @Slf4j
- @RestController
- @RequestMapping("/applet/codex")
- @RequiredArgsConstructor
- public class CodexController {
-
- private final CodexService codexService;
-
- /**
- * 获取用户Codex信息
- */
- @GetMapping("/info")
- public Result<CodexUserInfoView> getCodexUserInfo() {
- long userId = StpUserUtil.getLoginIdAsLong();
- CodexUserInfoView codexUserInfoView = codexService.getCodexUserInfo(userId);
- return GatewayResponse.SUCCESS.newBuilder().toResult(codexUserInfoView);
- }
- /**
- * 获取用户OpenAI使用统计
- * period 时间周期(today/7d/30d)
- */
- @GetMapping("/users/usage")
- public ClaudeCodeResp getUserOpenAIUsage(@RequestParam(defaultValue = "today") String period) {
- long userId = StpUserUtil.getLoginIdAsLong();
- ClaudeCodeResp claudeCodeResp = codexService.getUserOpenAIUsage(userId, period);
- return claudeCodeResp;
- }
-
- /**
- * 更新用户OpenAI每日美金限额
- */
- @PostMapping("/users/daily-limit")
- public Result<ClaudeCodeResp> updateUserOpenAIDailyLimit(@RequestBody UpdateDailyLimitRequest request) {
- // 验证请求用户是否为当前登录用户或有权限访问
- long userId = StpUserUtil.getLoginIdAsLong();
- ClaudeCodeResp response = codexService.updateUserOpenAIDailyLimit(userId, request);
- return GatewayResponse.SUCCESS.newBuilder().toResult(response);
- }
-
- /**
- * 用户OpenAI控制台数据 (Java系统专用接口)
- */
- @GetMapping("/api/openai/users/dashboard")
- public ClaudeCodeResp getJavaUserDashboard() {
- long userId = StpUserUtil.getLoginIdAsLong();
- ClaudeCodeResp dashboard = codexService.getJavaUserDashboard(userId);
- return dashboard;
- }
- /**
- * 用户OpenAI图表+明细联动 (Java系统专用接口)
- */
- @GetMapping("/api/openai/users/analytics")
- public ClaudeCodeResp getJavaUserAnalytics() {
- long userId = StpUserUtil.getLoginIdAsLong();
- ClaudeCodeResp analytics = codexService.getJavaUserAnalytics(userId);
- return analytics;
- }
- }
|