ApiMianHuaTangIndexController.java 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. package com.szwl.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  5. import com.gexin.fastjson.JSON;
  6. import com.szwl.constant.ResponseCodesEnum;
  7. import com.szwl.model.bean.EquipmentDTO;
  8. import com.szwl.model.bo.JsonMessage;
  9. import com.szwl.model.bo.JsonUtils;
  10. import com.szwl.model.bo.R;
  11. import com.szwl.model.bo.ResponseModel;
  12. import com.szwl.model.dto.AdVo;
  13. import com.szwl.model.dto.TimeRuleVo;
  14. import com.szwl.model.entity.*;
  15. import com.szwl.model.utils.PushUtils;
  16. import com.szwl.service.*;
  17. import org.apache.commons.lang.StringUtils;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.data.redis.core.RedisTemplate;
  20. import org.springframework.stereotype.Controller;
  21. import org.springframework.web.bind.annotation.*;
  22. import javax.annotation.Resource;
  23. import java.text.ParseException;
  24. import java.text.SimpleDateFormat;
  25. import java.util.ArrayList;
  26. import java.util.Date;
  27. import java.util.List;
  28. @Controller("ApiMianHuaTangController")
  29. @RequestMapping("/api/mianhuatang/ADIndex")
  30. public class ApiMianHuaTangIndexController {
  31. @Autowired
  32. TAdminService adminService;
  33. @Autowired
  34. TEquipmentService equipmentService;
  35. @Autowired
  36. TEquipmentDescService equipmentDescService;
  37. /**
  38. * 获取机器列表
  39. */
  40. @GetMapping("/getEquipmentList")
  41. @ResponseBody
  42. public ResponseModel<List<EquipmentDTO>> getEquipmentList(String adminId, String name) {
  43. if(StringUtils.isEmpty(adminId)){
  44. return R.fail(ResponseCodesEnum.A0001,"adminId为空");
  45. }
  46. if(StringUtils.isEmpty(name)){
  47. return R.fail(ResponseCodesEnum.A0001,"name为空");
  48. }
  49. TAdmin admin = adminService.getById(adminId);
  50. if(!admin.getUsername().equals(name)){
  51. return R.fail(ResponseCodesEnum.A0001);
  52. }
  53. List<EquipmentDTO> list = new ArrayList<>();
  54. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  55. query.eq(TEquipment::getAdminId,Long.valueOf(adminId));
  56. List<TEquipment> equipmentList = equipmentService.list(query);
  57. for(TEquipment equipment:equipmentList){
  58. EquipmentDTO equipmentDTO = new EquipmentDTO();
  59. equipmentDTO.setClientId(equipment.getClientId());
  60. equipmentDTO.setSn(equipment.getSn());
  61. equipmentDTO.setName(equipment.getName());
  62. equipmentDTO.setLatitude(equipment.getLatitude());
  63. equipmentDTO.setLongitude(equipment.getLongitude());
  64. equipmentDTO.setFullName(equipment.getFullName());
  65. equipmentDTO.setEqeStatus(equipment.getEqeStatus());
  66. list.add(equipmentDTO);
  67. }
  68. return R.ok(list);
  69. }
  70. /**
  71. * 获取机器详情
  72. */
  73. @GetMapping("/getEquipment")
  74. public ResponseModel<EquipmentDTO> getEquipment(String adminId, String name,String clientId) {
  75. if(StringUtils.isEmpty(adminId)){
  76. return R.fail(ResponseCodesEnum.A0001,"adminId为空");
  77. }
  78. if(StringUtils.isEmpty(name)){
  79. return R.fail(ResponseCodesEnum.A0001,"name为空");
  80. }
  81. if(StringUtils.isEmpty(clientId)){
  82. return R.fail(ResponseCodesEnum.A0001,"clientId为空");
  83. }
  84. TAdmin admin = adminService.getById(adminId);
  85. if(!admin.getUsername().equals(name)){
  86. return R.fail(ResponseCodesEnum.A0001);
  87. }
  88. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  89. query.eq(TEquipment::getAdminId,Long.valueOf(adminId));
  90. query.eq(TEquipment::getClientId,clientId);
  91. TEquipment equipment = equipmentService.getOnly(query);
  92. EquipmentDTO equipmentDTO = new EquipmentDTO();
  93. equipmentDTO.setClientId(equipment.getClientId());
  94. equipmentDTO.setSn(equipment.getSn());
  95. equipmentDTO.setName(equipment.getName());
  96. equipmentDTO.setLatitude(equipment.getLatitude());
  97. equipmentDTO.setLongitude(equipment.getLongitude());
  98. equipmentDTO.setFullName(equipment.getFullName());
  99. equipmentDTO.setEqeStatus(equipment.getEqeStatus());
  100. return R.ok(equipmentDTO);
  101. }
  102. /**
  103. *远程修改机器的状态:
  104. * type(类型,0:外门,1:内门,2:开机/重启(炉头),3:关机(炉头),4:开启睡眠,5:关闭睡眠),
  105. * status(状态:0:关闭,1:开启)
  106. * @param clientId
  107. * @return status(状态:0:关闭,1:开启)
  108. */
  109. @GetMapping("/updateEquipmentStatus")
  110. public ResponseModel<?> updateEquipmentStatus(String adminId, String name,String clientId,String type,String status){
  111. if(StringUtils.isEmpty(clientId)||StringUtils.isEmpty(type)||StringUtils.isEmpty(status)){
  112. return R.fail(ResponseCodesEnum.A0001);
  113. }
  114. if(StringUtils.isEmpty(adminId)){
  115. return R.fail(ResponseCodesEnum.A0001,"adminId为空");
  116. }
  117. if(StringUtils.isEmpty(name)){
  118. return R.fail(ResponseCodesEnum.A0001,"name为空");
  119. }
  120. TAdmin admin = adminService.getById(adminId);
  121. if(!admin.getUsername().equals(name)){
  122. return R.fail(ResponseCodesEnum.A0001);
  123. }
  124. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  125. query.eq(TEquipment::getAdminId,Long.valueOf(adminId));
  126. query.eq(TEquipment::getClientId,clientId);
  127. TEquipment equipment = equipmentService.getOnly(query);
  128. if(equipment!=null&&equipment.getId()!=null){
  129. if(type.equals("0")){
  130. equipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("outdoor", status).toString());
  131. return R.ok();
  132. }else if(type.equals("1")){
  133. equipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("indoor", status).toString());
  134. return R.ok();
  135. }else if(type.equals("2")){
  136. Long time = new Date().getTime();
  137. equipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("eqeStatus", status,String.valueOf(time),"http://time.tianqi.com").toString());
  138. return R.ok();
  139. }else if(type.equals("3")){
  140. Long time = new Date().getTime();
  141. equipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("eqeStatus", status,String.valueOf(time),"http://time.tianqi.com").toString());
  142. return R.ok();
  143. }else if(type.equals("4")){
  144. equipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("is_sleep", status).toString());
  145. return R.ok();
  146. }else if(type.equals("5")){
  147. equipmentService.sentMessage(equipment.getClientId(),PushUtils.buildJson("is_sleep", status).toString());
  148. return R.ok();
  149. }
  150. }
  151. return R.fail(ResponseCodesEnum.A0002);
  152. }
  153. }