package com.cyksj.service.claude; import com.cyksj.model.entity.ClaudeUser; import com.cyksj.model.request.gpt.ConversationRequest; import com.cyksj.model.response.ConversationLimitResponse; import com.cyksj.model.views.ClaudeUserView; import java.time.LocalDateTime; /** * @author chan * @date 2024/8/8 18:34 */ public interface ClaudeService { ClaudeUserView getUserInfo(long userId, Long relationId); ClaudeUser findByUserTokenAndExpireTimeAfter(String userToken, LocalDateTime now); ConversationLimitResponse conversationLimit(String userToken, ClaudeUser user); void carLimited(String carId, String finalUserToken, Long expTime); ClaudeUser getClaudeUser(long userId, Long relationId); void saveConversationRecord(String userToken, ConversationRequest conversationRequest); ClaudeUser checkCarAccount(Long userId, Long relationId); String getCarLoginUrl(String domain, Long userId, Long relationId, String carId); Long getConversationCount(String userToken, Long limitTime); Long carLimit(String carId); void clearNum(String userToken) throws Exception; void clearNumByRelationId(Long relationId) throws Exception; }