EquipmentController.java 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. package com.ruoyi.demo.controller;
  2. import cn.dev33.satoken.annotation.SaCheckPermission;
  3. import cn.dev33.satoken.annotation.SaIgnore;
  4. import cn.hutool.core.util.ObjectUtil;
  5. import com.baomidou.mybatisplus.core.metadata.IPage;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.github.pagehelper.PageInfo;
  8. import com.ruoyi.common.core.domain.R;
  9. import com.ruoyi.common.core.validate.AddGroup;
  10. import com.ruoyi.common.core.validate.EditGroup;
  11. import com.ruoyi.common.core.validate.QueryGroup;
  12. import com.ruoyi.demo.entity.Equipment;
  13. import com.ruoyi.demo.entity.Plan;
  14. import com.ruoyi.demo.entity.PlanItem;
  15. import com.ruoyi.demo.entity.bo.EquipmentBo;
  16. import com.ruoyi.demo.entity.bo.PlanItemBo;
  17. import com.ruoyi.demo.entity.bo.StateBo;
  18. import com.ruoyi.demo.entity.vo.EquipmentVo;
  19. import com.ruoyi.demo.entity.vo.PlanItemVo;
  20. import com.ruoyi.demo.enums.EquipmentOnStateEnum;
  21. import com.ruoyi.demo.enums.EquipmentStateEnum;
  22. import com.ruoyi.demo.service.EquipmentService;
  23. import lombok.extern.slf4j.Slf4j;
  24. import org.springframework.beans.factory.annotation.Autowired;
  25. import org.springframework.validation.annotation.Validated;
  26. import org.springframework.web.bind.annotation.*;
  27. import javax.validation.constraints.NotBlank;
  28. import javax.validation.constraints.NotEmpty;
  29. import javax.validation.constraints.NotNull;
  30. import java.util.ArrayList;
  31. import java.util.HashMap;
  32. import java.util.List;
  33. @RequestMapping("/equimpent")
  34. @RestController
  35. @Slf4j
  36. public class EquipmentController {
  37. @Autowired
  38. EquipmentService equipmentService;
  39. /**
  40. * 添加新设备
  41. * @param equipmentVo
  42. * @return
  43. */
  44. @SaCheckPermission("szzs:equipment:add")
  45. @PostMapping("/addEquipment")
  46. public R addEquipment(@RequestBody @Validated(value = {AddGroup.class}) EquipmentVo equipmentVo){
  47. Integer integer = equipmentService.addEquipment(equipmentVo);
  48. if (integer == 0) {
  49. return R.fail("添加失败,设备编号已存在");
  50. }
  51. return R.ok();
  52. }
  53. @PostMapping("/getCode")
  54. @SaIgnore
  55. public R getCode(){
  56. return R.ok(equipmentService.getCode());
  57. }
  58. /**
  59. * 修改设备信息
  60. * @param equipmentVo
  61. * @return
  62. */
  63. @SaCheckPermission("szzs:equipment:update")
  64. @PutMapping("/updateEquipment")
  65. public R updateEquipment(@RequestBody @Validated(value = {AddGroup.class})EquipmentVo equipmentVo){
  66. R r = equipmentService.updateEquipment(equipmentVo);
  67. return r;
  68. }
  69. /**
  70. * 获取设备详细信息
  71. * @param equipmentId
  72. * @return
  73. */
  74. @SaCheckPermission("szzs:equipment:query")
  75. @GetMapping("/getEquipment")
  76. public R getEquipment(@NotBlank String equipmentId){
  77. EquipmentBo equipment = equipmentService.getEquipment(equipmentId);
  78. return R.ok(equipment);
  79. }
  80. /**
  81. * 获取设备列表
  82. * */
  83. @SaCheckPermission("szzs:equipment:list")
  84. @GetMapping("/getEquipmentList")
  85. public R getEquipmentList(EquipmentVo equipmentVo){
  86. HashMap hashMap = equipmentService.getEquipmentList(equipmentVo);
  87. return R.ok(hashMap);
  88. }
  89. /**
  90. * 删除设备
  91. * @param equipmentIds
  92. * @return
  93. */
  94. @SaCheckPermission("szzs:equipment:delete")
  95. @DeleteMapping("/deleteEquipment")
  96. public R deleteEquipment(@NotEmpty String[] equipmentIds){
  97. R r = equipmentService.deleteEquipment(equipmentIds);
  98. return r;
  99. }
  100. /**
  101. * TODO 获得该设备下的广告计划
  102. * @param equipmentVo
  103. * @return
  104. */
  105. @SaCheckPermission("szzs:equipment:query")
  106. @GetMapping("/getEquipmentPlanList")
  107. public R getEquipmentPlanList(@Validated(value = {QueryGroup.class}) EquipmentVo equipmentVo){
  108. IPage<PlanItemBo> euipmentPlanList = equipmentService.getEquipmentPlanList(equipmentVo);
  109. return R.ok(euipmentPlanList);
  110. }
  111. /**
  112. * TODO 修改该设备下的广告计划的排序
  113. * @param planItemVo
  114. * @return
  115. */
  116. @SaCheckPermission("szzs:equipment:update")
  117. @PutMapping("/updateEquipmentPlan")
  118. public R updateEquipmentPlan(@RequestBody @Validated(value = {EditGroup.class}) PlanItemVo planItemVo){
  119. equipmentService.updateEquipmentPlan(planItemVo);
  120. return R.ok();
  121. }
  122. @SaCheckPermission("szzs:equipment:other")
  123. @DeleteMapping("/deleteEquipmentPlan")
  124. public R deleteEquipmentPlan(@NotEmpty String[] planItemIds){
  125. equipmentService.deleteEquipmentPlan(planItemIds);
  126. return R.ok();
  127. }
  128. /**
  129. * 找到未分组的设备
  130. * @param equipmentVo
  131. * @return
  132. */
  133. @SaCheckPermission("szzs:equipment:query")
  134. @GetMapping("/getEquipmentBySelect")
  135. public R getEquipmentBySelect(EquipmentVo equipmentVo){
  136. Page<Equipment> equipments = equipmentService.getEquipmentBySelect(equipmentVo);
  137. return R.ok(equipments);
  138. }
  139. /**
  140. * 添加店铺下的设备
  141. * @param equipmentVo
  142. * @return
  143. */
  144. @SaCheckPermission("szzs:equipment:add")
  145. @PutMapping("/addStoreEquipment")
  146. public R addStoreEquipment(@RequestBody @Validated(value = {QueryGroup.class}) EquipmentVo equipmentVo){
  147. if (ObjectUtil.isNull(equipmentVo.getStoreId())) {
  148. return R.fail("添加失败");
  149. }
  150. equipmentService.addStoreEquipment(equipmentVo);
  151. return R.ok();
  152. }
  153. /**
  154. * 移除店铺下的设备
  155. * @param equipmentIds
  156. * @return
  157. */
  158. @SaCheckPermission("szzs:equipment:update")
  159. @DeleteMapping("/deleteStoreEquipment")
  160. public R deleteStoreEquipment(@NotNull @NotBlank String[] equipmentIds){
  161. equipmentService.deleteStoreEquipment(equipmentIds);
  162. return R.ok();
  163. }
  164. /**
  165. * 查看store下已有的设备
  166. * @param equipmentVo
  167. * @return
  168. */
  169. @SaCheckPermission("szzs:equipment:query")
  170. @GetMapping("/getEquipmentByStoreId")
  171. public R getEquipmentByStoreId(EquipmentVo equipmentVo){
  172. Page<Equipment> equipments = equipmentService.getEquipmentByStoreId(equipmentVo);
  173. return R.ok(equipments);
  174. }
  175. /**
  176. * 获取总设备数
  177. * @return
  178. */
  179. @SaCheckPermission("szzs:equipment:query")
  180. @GetMapping("/getEquipmentCount")
  181. public R getEquipmentCount(){
  182. HashMap equipmentCount = equipmentService.getEquipmentCount();
  183. return R.ok(equipmentCount);
  184. }
  185. /**
  186. * 获取设备授权状态(下拉框)
  187. * @return
  188. */
  189. @SaCheckPermission("szzs:equipment:query")
  190. @GetMapping("/getEquipmentState")
  191. public R getEquipmentState(){
  192. EquipmentStateEnum[] values = EquipmentStateEnum.values();
  193. ArrayList<StateBo> list = new ArrayList<>();
  194. for (EquipmentStateEnum value : values) {
  195. StateBo stateBo = new StateBo();
  196. stateBo.setState(value.getState());
  197. stateBo.setName(value.getName());
  198. list.add(stateBo);
  199. }
  200. return R.ok(list);
  201. }
  202. /**
  203. * 获取设备在线状态(下拉框)
  204. * @return
  205. */
  206. @SaCheckPermission("szzs:equipment:query")
  207. @GetMapping("/getEquipmentOnState")
  208. public R getEquipmentOnState(){
  209. EquipmentOnStateEnum[] values = EquipmentOnStateEnum.values();
  210. ArrayList<StateBo> list = new ArrayList<>();
  211. for (EquipmentOnStateEnum value : values) {
  212. StateBo stateBo = new StateBo();
  213. stateBo.setState(value.getState());
  214. stateBo.setName(value.getName());
  215. list.add(stateBo);
  216. }
  217. return R.ok(list);
  218. }
  219. /**
  220. * 改变设备状态(休眠)
  221. * @return
  222. */
  223. @SaCheckPermission("szzs:equipment:query")
  224. @GetMapping("/equipmentOnStatedormancy")
  225. public R equipmentOnStatedormancy(@NotBlank @RequestParam("equipmentCode") String equipmentCode){
  226. String s = equipmentService.equipmentOnStatedormancy(equipmentCode);
  227. return R.ok(s);
  228. }
  229. /**
  230. * 改变设备状态(唤醒)
  231. * @return
  232. */
  233. @GetMapping ("/equipmentOnStateChange")
  234. public R equipmentOnStateChange(@NotBlank @RequestParam("equipmentCode") String equipmentCode,@NotBlank @RequestParam("change")String change){
  235. String s = null;
  236. if ("true".equals(change)){
  237. s = equipmentService.equipmentOnStateWakeup(equipmentCode);
  238. }else if("false".equals(change)){
  239. s = equipmentService.equipmentOnStatedormancy(equipmentCode);
  240. }
  241. return R.ok(s);
  242. }
  243. }