Browse Source

fix 仪表盘获取套餐失败,重载

zoujiajian 1 month ago
parent
commit
539da03457

+ 7 - 7
netflix-service/src/main/java/com/cyksj/service/api/impl/ClaudeCodexApiServiceImpl.java

@@ -116,13 +116,13 @@ public class ClaudeCodexApiServiceImpl implements ClaudeCodexApiService {
 		return codexResp;
 	}
 
-	@Override
-	public ClaudeCodeResp getCodexUserDashboard(Long userId) {
-		// 调用Codex API获取用户控制台数据
-		String dashboardUrl = String.format(Constant.CLAUDE_CODE_API_PREFIX + "api/openai/users/%s/dashboard", userId);
-		ClaudeCodeResp codexResp = executeGetApi(dashboardUrl);
-		return codexResp;
-	}
+    @Override
+    public ClaudeCodeResp getCodexUserDashboard(Long userId) {
+        // 调用Codex API获取用户控制台数据
+        String dashboardUrl = String.format(Constant.CLAUDE_CODE_API_PREFIX + "api/openai/users/%s/dashboard", userId);
+        ClaudeCodeResp codexResp = executeGetApi(dashboardUrl);
+        return codexResp;
+    }
 
 	@Override
 	public ClaudeCodeResp getCodexUserAnalytics(Long userId, String start, String end, Integer page, Integer limit, String order) {

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

@@ -605,7 +605,15 @@ public class CodexServiceImpl implements CodexService {
 		if (codexUser == null) {
 			return null;
 		}
-		return claudeCodexApiService.getCodexUserDashboard(codexUser.getUserId());
+        ClaudeCodeResp codexUserDashboard = claudeCodexApiService.getCodexUserDashboard(codexUser.getUserId());
+        if (codexUserDashboard != null && codexUserDashboard.getMessage() != null && codexUserDashboard.getMessage().contains("套餐失败")) {
+            try {
+                createOrUpdateCodexUserPackageApi(codexUser.getUserId(), codexUser.getPlanName(), codexUser.getOpenaiDailyLimit(), codexUser.getOpenaiQuota(), codexUser.getExpiryTime());
+            } catch (Exception e) {
+                log.error("用户id:{}仪表盘获取套餐失败,重新加载用户套餐", codexUser.getUserId());
+            }
+        }
+        return codexUserDashboard;
 	}
 	
 	@Override