GeminiService.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package com.cyksj.service.gemini;
  2. import com.cyksj.model.entity.GeminiUser;
  3. import com.cyksj.model.response.GeminiCarPageResponse;
  4. import com.cyksj.model.response.GeminiCarStatusResponse;
  5. import com.cyksj.model.response.GeminiConversationCountResponse;
  6. import com.cyksj.model.views.GeminiCarInfoView;
  7. import com.cyksj.model.views.GeminiUserView;
  8. import com.ejlchina.searcher.SearchResult;
  9. import java.time.LocalDateTime;
  10. /**
  11. * Gemini镜像服务
  12. *
  13. * @author chan
  14. * @date 2025/1/4
  15. */
  16. public interface GeminiService {
  17. /**
  18. * 获取用户信息
  19. */
  20. GeminiUserView getUserInfo(long userId, Long relationId);
  21. /**
  22. * 根据token查找用户
  23. */
  24. GeminiUser findByUserTokenAndExpireTimeAfter(String userToken, LocalDateTime now);
  25. /**
  26. * 检查车票账户
  27. */
  28. GeminiUser checkCarAccount(Long userId, Long relationId);
  29. /**
  30. * 获取GeminiUser
  31. */
  32. GeminiUser getGeminiUser(long userId, Long relationId);
  33. /**
  34. * 获取登录URL
  35. */
  36. String getCarLoginUrl(String domain, Long userId, Long relationId, String carId);
  37. /**
  38. * 清除次数
  39. */
  40. void clearNum(String userToken) throws Exception;
  41. /**
  42. * 根据relationId清除次数
  43. */
  44. void clearNumByRelationId(Long relationId) throws Exception;
  45. /**
  46. * 调用镜像端 /carpage 获取车队列表
  47. */
  48. GeminiCarPageResponse getCarPage(String domain, int page, int size);
  49. /**
  50. * 调用镜像端 /status 获取账号状态
  51. */
  52. GeminiCarStatusResponse getCarStatus(String domain, String carId);
  53. /**
  54. * 获取车队列表
  55. */
  56. SearchResult<GeminiCarInfoView> getCarInfoList(String domain, int page, int size);
  57. /**
  58. * 获取单个车队状态
  59. */
  60. GeminiCarInfoView getCarInfo(String domain, String carId);
  61. /**
  62. * 获取用户对话次数详情
  63. */
  64. GeminiConversationCountResponse getConversationCountDetail(String userToken);
  65. }