ApiClient.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package com.gyee.runeconomy.service.EarlyWarning;
  2. import com.fasterxml.jackson.databind.ObjectMapper;
  3. import com.gyee.runeconomy.model.vo.PoliceVo;
  4. import com.gyee.runeconomy.model.vo.alarmWtVo;
  5. import org.springframework.http.ResponseEntity;
  6. import org.springframework.web.client.RestTemplate;
  7. import java.io.IOException;
  8. import java.net.URI;
  9. import java.net.URLEncoder;
  10. import java.nio.charset.StandardCharsets;
  11. public class ApiClient {
  12. private final RestTemplate restTemplate = new RestTemplate();
  13. public String getDataFromApi(String begin, String end, String deviceId, String modelId, String deviceType, String alarmIds, String timeType) {
  14. try {
  15. // 构建 URL
  16. String baseUrl = "https://10.220.1.5:6015/alarm/history/findCtFeatureStatByWtId";
  17. String charset = StandardCharsets.UTF_8.name(); // 获取字符集名称
  18. String url = String.format("%s?begin=%s&end=%s&deviceid=%s&modelId=%s&deviceType=%s&alarmIds=%s&timeType=%s",
  19. baseUrl,
  20. URLEncoder.encode(begin, charset),
  21. URLEncoder.encode(end, charset),
  22. URLEncoder.encode(deviceId, charset),
  23. URLEncoder.encode(modelId, charset),
  24. URLEncoder.encode(deviceType, charset),
  25. URLEncoder.encode(alarmIds, charset),
  26. URLEncoder.encode(timeType, charset)
  27. );
  28. // 发送 GET 请求
  29. URI uri = new URI(url);
  30. ResponseEntity<String> response = restTemplate.getForEntity(uri, String.class);
  31. // 返回响应内容
  32. return response.getBody();
  33. } catch (Exception e) {
  34. e.printStackTrace();
  35. return null;
  36. }
  37. }
  38. public String getgzFromApi(String begin, String end, String alarmType,String stationid,String deviceid, String description,String modelId,
  39. String deviceType,String components, String subcomponents,String alarmId, String isclose, String pageNum,String pageSize) {
  40. try {
  41. // 构建 URL
  42. String baseUrl = "https://10.220.1.5:6015/alarm/history/findAlarmlist";
  43. String charset = StandardCharsets.UTF_8.name(); // 获取字符集名称
  44. String url = String.format("%s?begin=%s&end=%s&alarmType=%s&stationid=%s&deviceid=%s&description=%s&modelId=%s&deviceType=%s&components=%s&subcomponents=%s&alarmId=%s&isclose=%s&pageNum=%s&pageSize=%s",
  45. baseUrl,
  46. URLEncoder.encode(begin, charset),
  47. URLEncoder.encode(end, charset),
  48. URLEncoder.encode(alarmType, charset),
  49. URLEncoder.encode(stationid, charset),
  50. URLEncoder.encode(deviceid, charset),
  51. URLEncoder.encode(description, charset),
  52. URLEncoder.encode(modelId, charset),
  53. URLEncoder.encode(deviceType, charset),
  54. URLEncoder.encode(components, charset),
  55. URLEncoder.encode(subcomponents, charset),
  56. URLEncoder.encode(alarmId, charset),
  57. URLEncoder.encode(isclose, charset),
  58. URLEncoder.encode(pageNum, charset),
  59. URLEncoder.encode(pageSize, charset)
  60. );
  61. // 发送 GET 请求
  62. URI uri = new URI(url);
  63. ResponseEntity<String> response = restTemplate.getForEntity(uri, String.class);
  64. // 返回响应内容
  65. return response.getBody();
  66. } catch (Exception e) {
  67. e.printStackTrace();
  68. return null;
  69. }
  70. }
  71. /**
  72. * 功率曲线故障
  73. * @author gyee
  74. * @param wpId
  75. * @param wtId
  76. * @param modelId
  77. * @param description
  78. * @param begin
  79. * @param end
  80. * @param pageNum
  81. * @param pageSize
  82. * @param type
  83. * @return
  84. */
  85. public String getglqxgzFromApi(String wpId,String wtId, String modelId,String description ,String begin, String end, String pageNum,String pageSize,String type) {
  86. try {
  87. // 构建 URL
  88. String baseUrl = "https://10.220.1.5:6015//shutdownevent2/queryshutdowneventlist";
  89. String charset = StandardCharsets.UTF_8.name(); // 获取字符集名称
  90. String url = String.format("%s?wpId=%s&wtId=%s&modelId=%s&description=%s&begin=%s&end=%s&pageNum=%s&pageSize=%s&type=%s",
  91. baseUrl,
  92. URLEncoder.encode(wpId, charset),
  93. URLEncoder.encode(wtId, charset),
  94. URLEncoder.encode(modelId, charset),
  95. URLEncoder.encode(description, charset),
  96. URLEncoder.encode(begin, charset),
  97. URLEncoder.encode(end, charset),
  98. URLEncoder.encode(pageNum, charset),
  99. URLEncoder.encode(pageSize, charset),
  100. URLEncoder.encode(type, charset)
  101. );
  102. // 发送 GET 请求
  103. URI uri = new URI(url);
  104. ResponseEntity<String> response = restTemplate.getForEntity(uri, String.class);
  105. // 返回响应内容
  106. return response.getBody();
  107. } catch (Exception e) {
  108. e.printStackTrace();
  109. return null;
  110. }
  111. }
  112. public static PoliceVo parseJson(String json) throws IOException {
  113. // 创建ObjectMapper实例
  114. ObjectMapper objectMapper = new ObjectMapper();
  115. // 设置ObjectMapper来忽略未知的属性
  116. objectMapper.configure(com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
  117. // 解析JSON并转换为PoliceVo对象
  118. PoliceVo policeVo = objectMapper.readValue(json, PoliceVo.class);
  119. return policeVo;
  120. }
  121. public static alarmWtVo wtparseJson(String json) throws IOException {
  122. // 创建ObjectMapper实例
  123. ObjectMapper objectMapper = new ObjectMapper();
  124. // 设置ObjectMapper来忽略未知的属性
  125. objectMapper.configure(com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
  126. // 解析JSON并转换为PoliceVo对象
  127. alarmWtVo alarmWtVo = objectMapper.readValue(json, alarmWtVo.class);
  128. return alarmWtVo;
  129. }
  130. }