DeviceController.java 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. package com.huaxu.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.baomidou.mybatisplus.core.metadata.OrderItem;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.huaxu.dto.DeviceDto;
  6. import com.huaxu.entity.DeviceEntity;
  7. import com.huaxu.logAdvice.LogAnnotation;
  8. import com.huaxu.model.AjaxMessage;
  9. import com.huaxu.model.Pagination;
  10. import com.huaxu.model.ResultStatus;
  11. import com.huaxu.service.DeviceService;
  12. import com.huaxu.service.SceneService;
  13. import com.huaxu.util.OrgInfoUtil;
  14. import io.swagger.annotations.Api;
  15. import io.swagger.annotations.ApiOperation;
  16. import io.swagger.annotations.ApiParam;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.web.bind.annotation.*;
  19. import java.util.ArrayList;
  20. import java.util.List;
  21. /**
  22. * @description
  23. * @auto wangli
  24. * @data 2020-11-16 11:05
  25. */
  26. @RestController
  27. @RequestMapping("/device")
  28. @Api(tags = "设备信息管理")
  29. public class DeviceController {
  30. @Autowired
  31. private DeviceService deviceService;
  32. @Autowired
  33. private OrgInfoUtil orgInfoUtil;
  34. @Autowired
  35. private SceneService sceneService;
  36. @RequestMapping(value="get" , method = RequestMethod.GET)
  37. @ApiOperation(value = "查询单个设备信息")
  38. public AjaxMessage<DeviceDto> get( @ApiParam(value = "设备信息id") @RequestParam Integer id){
  39. return new AjaxMessage<>(ResultStatus.OK, deviceService.selectById(id));
  40. }
  41. @RequestMapping(value="selectPage" , method = RequestMethod.GET)
  42. @ApiOperation(value = "分页查询设备信息")
  43. public AjaxMessage<Pagination<DeviceDto>> selectPage(
  44. @ApiParam(value = "设备编号/名称") @RequestParam(required = false) String condition,
  45. @ApiParam(value = "所属公司") @RequestParam(required = false) Integer companyOrgId,
  46. @ApiParam(value = "所属部门") @RequestParam(required = false) Integer deptOrgId,
  47. @ApiParam(value = "所属场景id") @RequestParam(required = false) Integer sceneId,
  48. @ApiParam(value = "设备状态") @RequestParam(required = false) Integer enableState,
  49. @ApiParam(value = "页数,非必传,默认第一页", defaultValue = "1") @RequestParam(required = false, defaultValue = "1") Integer pageNum,
  50. @ApiParam(value = "条数,非必传,默认10条", defaultValue = "10") @RequestParam(required = false, defaultValue = "10") Integer pageSize
  51. ){
  52. DeviceDto deviceDto = new DeviceDto();
  53. deviceDto.setCondition(condition);
  54. deviceDto.setCompanyOrgId(companyOrgId);
  55. deviceDto.setDeptOrgId(deptOrgId);
  56. deviceDto.setSceneId(sceneId);
  57. deviceDto.setEnableState(enableState);
  58. IPage<DeviceDto> iPage = new Page<>(pageNum, pageSize);
  59. if(iPage.orders().size() == 0){
  60. OrderItem orderItem =new OrderItem();
  61. orderItem.setAsc(false);
  62. orderItem.setColumn("d.date_create");
  63. iPage.orders().add(orderItem);
  64. }
  65. if(sceneId != null) {
  66. deviceDto.setSceneIds(sceneService.findByParentIdsLike(sceneId.longValue()));
  67. if(deviceDto.getSceneIds() == null || deviceDto.getSceneIds().size() == 0){
  68. return new AjaxMessage<>(ResultStatus.OK, new Pagination<>(iPage));
  69. }
  70. }
  71. iPage = deviceService.selectPage(iPage,deviceDto);
  72. Pagination<DeviceDto> pages = new Pagination<>(iPage);
  73. for(DeviceDto device : pages.getList()){
  74. device.setCompanyOrgName(orgInfoUtil.getOrgName(device.getCompanyOrgId()));
  75. device.setDeptOrgName(orgInfoUtil.getOrgName(device.getDeptOrgId()));
  76. }
  77. return new AjaxMessage<>(ResultStatus.OK, pages);
  78. }
  79. @RequestMapping(value="selectList" , method = RequestMethod.GET)
  80. @ApiOperation(value = "查询设备信息")
  81. public AjaxMessage<List<DeviceDto>> selectList(
  82. @ApiParam(value = "设备编号/名称") @RequestParam(required = false) String condition,
  83. @ApiParam(value = "所属公司") @RequestParam(required = false) Integer companyOrgId,
  84. @ApiParam(value = "所属部门") @RequestParam(required = false) Integer deptOrgId,
  85. @ApiParam(value = "所属场景id") @RequestParam(required = false) Integer sceneId,
  86. @ApiParam(value = "设备状态") @RequestParam(required = false) Integer enableState
  87. ){
  88. DeviceDto deviceDto = new DeviceDto();
  89. deviceDto.setCondition(condition);
  90. deviceDto.setCompanyOrgId(companyOrgId);
  91. deviceDto.setDeptOrgId(deptOrgId);
  92. deviceDto.setSceneId(sceneId);
  93. deviceDto.setEnableState(enableState);
  94. if(sceneId != null) {
  95. deviceDto.setSceneIds(sceneService.findByParentIdsLike(sceneId.longValue()));
  96. if(deviceDto.getSceneIds() == null || deviceDto.getSceneIds().size() == 0){
  97. return new AjaxMessage<>(ResultStatus.OK, new ArrayList<>());
  98. }
  99. }
  100. return new AjaxMessage<>(ResultStatus.OK, deviceService.selectList(deviceDto));
  101. }
  102. @RequestMapping(value="add" , method = RequestMethod.POST)
  103. @ApiOperation(value = "新增设备信息")
  104. @LogAnnotation(module = "【设备管理】新增")
  105. public AjaxMessage<Integer> add( @ApiParam(value = "设备信息") @RequestBody DeviceEntity deviceEntity){
  106. return new AjaxMessage<>(ResultStatus.OK, deviceService.add(deviceEntity));
  107. }
  108. @RequestMapping(value="edit" , method = RequestMethod.POST)
  109. @ApiOperation(value = "修改设备信息")
  110. @LogAnnotation(module = "【设备管理】修改")
  111. public AjaxMessage<Integer> edit( @ApiParam(value = "设备信息") @RequestBody DeviceEntity deviceEntity){
  112. return new AjaxMessage<>(ResultStatus.OK, deviceService.update(deviceEntity));
  113. }
  114. @RequestMapping(value="delete" , method = RequestMethod.DELETE)
  115. @ApiOperation(value = "单个删除设备信息")
  116. @LogAnnotation(module = "【设备管理】删除")
  117. public AjaxMessage<Integer> delete( @ApiParam(value = "设备信息id") @RequestParam Integer id){
  118. return new AjaxMessage<>(ResultStatus.OK, deviceService.delete(id));
  119. }
  120. @RequestMapping(value="batchDelete" , method = RequestMethod.DELETE)
  121. @ApiOperation(value = "批量删除设备信息")
  122. @LogAnnotation(module = "【设备管理】批量删除")
  123. public AjaxMessage<Integer> batchDelete( @ApiParam(value = "设备信息id") @RequestParam List<Integer> ids){
  124. return new AjaxMessage<>(ResultStatus.OK, deviceService.batchDelete(ids));
  125. }
  126. }