package com.cyksj.service.claude; import com.cyksj.model.entity.GoodsDonSku; import com.cyksj.model.request.ClaudeCodeApiKeysReq; import com.cyksj.model.request.ClaudeCodeApiKeysStatusReq; import com.cyksj.model.request.ClaudeCodeDelReq; import com.cyksj.model.response.ClaudeCodePointsHistoryResp; import com.cyksj.model.response.claudecode.ClaudeCodeResp; import com.cyksj.model.views.ClaudeCodeUserApiKeysView; import com.cyksj.model.views.ClaudeCodeUserInfoView; import com.cyksj.model.views.ClaudeCodeUserPackageView; import java.util.List; /** * 项目名: yhlxj11111111 * 文件名: ClaudeCodeService * 创建者: JavaZou * 创建时间:2025/8/8 10:55 */ public interface ClaudeCodeService { /** * 生成claude code用户套餐信息 */ void generateOrUpdateClaudeCodeUserInfo(Long orderId, Long relationId, Long userId, GoodsDonSku sku, Integer orderType); /** * 用户创建api keys */ ClaudeCodeResp createApiKeys(ClaudeCodeApiKeysReq req) throws Exception; /** * 用户更新api key状态 */ void updateApiKeysStatus(ClaudeCodeApiKeysStatusReq req) throws Exception; /** * 删除api key */ void deleteApiKeysById(ClaudeCodeDelReq delReq) throws Exception; /** * 用户api keys列表 */ List getUserApiKeys(long userId) throws Exception; /** * 用户套餐信息 */ ClaudeCodeUserPackageView getUserPackage(long userId) throws Exception; ClaudeCodePointsHistoryResp getUserPointsDetail(Long userId, String type, Integer page, Integer limit) throws Exception; ClaudeCodeResp getUserPointsStatisticsData(Long userId, Integer days) throws Exception; ClaudeCodeResp getUserDashboard(Long userId) throws Exception; ClaudeCodeResp getUserBalance(Long userId) throws Exception; ClaudeCodeResp getCreditsAnalytics(Long userId, String start, String end, String tz, Integer page, Integer limit, String order, String type) throws Exception; void invalidateUserCache(Long relationUserId); ClaudeCodeUserInfoView getClaudeCodeUserSubsInfo(Long userId); Boolean checkClaudeCodeUser(Long userId); }