EggDataCotroller.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package com.huimv.environ.eco.controller;
  2. import cn.hutool.core.date.DateUtil;
  3. import cn.hutool.json.JSONObject;
  4. import com.huimv.common.utils.Result;
  5. import com.huimv.common.utils.ResultCode;
  6. import com.huimv.environ.eco.entity.eggvo.BaseResultEntity;
  7. import com.huimv.environ.eco.entity.eggvo.DataVo;
  8. import com.huimv.environ.eco.entity.eggvo.HistoryEntity;
  9. import com.huimv.environ.eco.entity.eggvo.HousVo;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.http.HttpEntity;
  12. import org.springframework.http.HttpHeaders;
  13. import org.springframework.http.HttpMethod;
  14. import org.springframework.http.ResponseEntity;
  15. import org.springframework.web.bind.annotation.GetMapping;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import org.springframework.web.bind.annotation.RequestParam;
  18. import org.springframework.web.bind.annotation.RestController;
  19. import org.springframework.web.client.RestTemplate;
  20. import java.util.Date;
  21. import java.util.List;
  22. @RestController
  23. @RequestMapping("/eggData")
  24. public class EggDataCotroller {
  25. private static final String BASE_URL= "https://iot1.bigherdsman.com/api/v2/";
  26. private static final String TOKEN= "72438b180e9168fe90db126e3310cd0b20a7196d";
  27. private static final String ACCOUNT_LOGIN_URL= "account/login/";
  28. private static final String ACCOUNT_INFO_URL= "account/info/";
  29. private static final String ENTITY_CORPORATION_URL= "entity/corporation/";
  30. private static final String ENTITY_FARM_URL= "entity/farm/";
  31. private static final String CURRENT_STATUS_URL= "current/status/?code=";
  32. private static final String LIST_ORIGIN_HOUSE= "hardware/list-origin-house/?code=";
  33. private static final String HOUSE_LIST_NAME= "entity/house/list-name/?farm=";
  34. private static final String CURRENT_LIST= "current/list/?code=";
  35. private static final String CURRENT_DETAIL= "current/detail/?code=";
  36. private static final String HISTORY_LIST= "history/list/?code=";
  37. private static final String META_LIST= "meta/list-field/?category=alarm";
  38. private static final String CURRENT_ALARMING= "current/alarming/?code=";
  39. private static final String ALARM_RECORD= "alarm/record/?code=";
  40. private static final String FARM_CODE = "2022011710";
  41. @Autowired
  42. private RestTemplate restTemplate;
  43. @GetMapping("current/list")
  44. public Result list(){
  45. HttpHeaders headers = new HttpHeaders();
  46. headers.set("Authorization","Token "+TOKEN);
  47. HttpEntity<JSONObject> httpEntity = new HttpEntity<>(headers);
  48. ResponseEntity<BaseResultEntity> forEntity = restTemplate.exchange(BASE_URL + CURRENT_LIST+FARM_CODE+"&position=all", HttpMethod.GET, httpEntity,BaseResultEntity.class );
  49. List<HousVo> data = forEntity.getBody().getData();
  50. for (HousVo datum : data) {
  51. datum.setName(datum.getI()+"号舍");
  52. }
  53. return new Result(ResultCode.SUCCESS,data);
  54. }
  55. @GetMapping("history/list")
  56. public Result list(@RequestParam(name = "i") String i,
  57. @RequestParam(name = "start",required = false) Long start,
  58. @RequestParam(name = "end",required = false) Long end){
  59. HttpHeaders headers = new HttpHeaders();
  60. headers.set("Authorization","Token "+TOKEN);
  61. HttpEntity<JSONObject> httpEntity = new HttpEntity<>(headers);
  62. if (start ==null){
  63. start = DateUtil.beginOfDay(new Date()).getTime();
  64. }
  65. if (end ==null){
  66. end = System.currentTimeMillis();
  67. }
  68. ResponseEntity<HistoryEntity> forEntity = restTemplate.exchange(BASE_URL + HISTORY_LIST+FARM_CODE+"&i="+i+"&start="+start+"&end="+end, HttpMethod.GET, httpEntity,HistoryEntity.class );
  69. return new Result(ResultCode.SUCCESS,forEntity.getBody().getData());
  70. }
  71. }