RelayServiceImpl.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.cyksj.service.claude.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.cyksj.mapper.claudecode.RelayServerMapper;
  4. import com.cyksj.model.entity.RelayServer;
  5. import com.cyksj.service.claude.RelayService;
  6. import lombok.RequiredArgsConstructor;
  7. import org.springframework.stereotype.Service;
  8. import java.util.List;
  9. /**
  10. * 中继服务器服务
  11. */
  12. @Service
  13. @RequiredArgsConstructor
  14. public class RelayServiceImpl implements RelayService {
  15. private final RelayServerMapper relayServerMapper;
  16. /**
  17. * 获取可用中继服务器列表
  18. */
  19. public List<RelayServer> getAvailableRelays(String domain) {
  20. QueryWrapper<RelayServer> wrapper = new QueryWrapper<>();
  21. wrapper.eq("status", 1)
  22. .orderByDesc("priority")
  23. .orderByAsc("latency_ms");
  24. if (domain != null && !domain.isEmpty()) {
  25. wrapper.like("host", domain);
  26. }
  27. return relayServerMapper.selectList(wrapper);
  28. }
  29. /**
  30. * 创建中继服务器
  31. */
  32. public void createRelayServer(RelayServer relayServer) {
  33. relayServerMapper.insert(relayServer);
  34. }
  35. /**
  36. * 更新中继服务器
  37. */
  38. public void updateRelayServer(RelayServer relayServer) {
  39. relayServerMapper.updateById(relayServer);
  40. }
  41. /**
  42. * 删除中继服务器
  43. */
  44. public void deleteRelayServer(Long id) {
  45. relayServerMapper.deleteById(id);
  46. }
  47. }