SceneController.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. package com.huaxu.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.huaxu.common.FileUploadUtil;
  5. import com.huaxu.dto.DeviceDto;
  6. import com.huaxu.entity.SceneTypeEntity;
  7. import com.huaxu.model.AjaxMessage;
  8. import com.huaxu.model.Pagination;
  9. import com.huaxu.model.ResultStatus;
  10. import io.swagger.annotations.Api;
  11. import io.swagger.annotations.ApiOperation;
  12. import io.swagger.annotations.ApiParam;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.beans.factory.annotation.Value;
  15. import org.springframework.stereotype.Controller;
  16. import org.springframework.validation.annotation.Validated;
  17. import org.springframework.ui.ModelMap;
  18. import java.io.IOException;
  19. import java.util.List;
  20. import java.util.Map;
  21. import java.util.Date;
  22. import org.springframework.web.bind.annotation.*;
  23. import com.huaxu.entity.SceneEntity;
  24. import com.huaxu.service.SceneService;
  25. import org.springframework.web.multipart.MultipartFile;
  26. /**
  27. * 场景信息页面控制器
  28. * @author WYY
  29. * @date 2020-11-17 21:15
  30. */
  31. @RestController
  32. @RequestMapping("/scene")
  33. @Api(tags = "场景管理")
  34. public class SceneController {
  35. @Autowired
  36. private SceneService sceneService;
  37. @Value("${SMS.sys_config_path}")
  38. private String baseDir;
  39. @ApiOperation(value = "分页查询场景")
  40. @RequestMapping(value = "/selectPage", method = RequestMethod.GET)
  41. @ResponseBody
  42. public AjaxMessage<Pagination<SceneEntity>> selectPage(@RequestParam Integer pageNum, @RequestParam Integer pageSize, @RequestParam(value = "sceneName", required = false) String sceneName,@RequestParam(required = false) Long companyOrgId,@RequestParam(required = false) Long deptOrgId) {
  43. IPage<SceneEntity> iPage = new Page<>(pageNum, pageSize);
  44. SceneEntity sceneEntity = new SceneEntity();
  45. sceneEntity.setSceneName(sceneName);
  46. sceneEntity.setCompanyOrgId(companyOrgId);
  47. sceneEntity.setDeptOrgId(deptOrgId);
  48. iPage = sceneService.findPage(iPage, sceneEntity);
  49. Pagination<SceneEntity> pages = new Pagination<>(iPage);
  50. return new AjaxMessage<>(ResultStatus.OK, pages);
  51. }
  52. @ApiOperation(value = "查询场景树")
  53. @RequestMapping(value = "/selectList", method = RequestMethod.POST)
  54. @ResponseBody
  55. public AjaxMessage<List<SceneEntity>> allList() {
  56. SceneEntity sceneEntity = new SceneEntity();
  57. List<SceneEntity> menuEntities = sceneService.findAllList(sceneEntity);
  58. return new AjaxMessage<>(ResultStatus.OK, menuEntities);
  59. }
  60. @ApiOperation(value = "查询场景树")
  61. @RequestMapping(value = "/selectListForParm", method = RequestMethod.POST)
  62. @ResponseBody
  63. public AjaxMessage<List<SceneEntity>> selectListForParm(@RequestParam(required = false) Long comId,@RequestParam(required = false) Long deptId) {
  64. if (comId != null) {
  65. SceneEntity sceneEntity = new SceneEntity();
  66. sceneEntity.setCompanyOrgId(comId);
  67. sceneEntity.setDeptOrgId(deptId);
  68. List<SceneEntity> menuEntities = sceneService.findAllList(sceneEntity);
  69. return new AjaxMessage<>(ResultStatus.OK, menuEntities);
  70. } else {
  71. return new AjaxMessage<>(ResultStatus.OK);
  72. }
  73. }
  74. /**
  75. * 新增
  76. */
  77. @ApiOperation(value = "场景图片")
  78. @RequestMapping(value = "addSceneImage", method = RequestMethod.POST)
  79. @ResponseBody
  80. public AjaxMessage<String> addUserPhoto(@ApiParam(value = "场景图片", required = true) @RequestParam("avatarfile") MultipartFile file) {
  81. String avatar = "";
  82. if (!file.isEmpty()) {
  83. try {
  84. avatar = FileUploadUtil.uploadWeb(baseDir, file);
  85. } catch (IOException e) {
  86. return new AjaxMessage<>(ResultStatus.ERROR, e.getMessage());
  87. }
  88. }
  89. return new AjaxMessage<>(ResultStatus.OK, avatar);
  90. }
  91. /**
  92. * 新增
  93. */
  94. @ApiOperation(value = "新增")
  95. @RequestMapping(value = "/add", method = RequestMethod.POST)
  96. @ResponseBody
  97. public AjaxMessage<Integer> addScene(@ApiParam(value = "场景", required = true) @RequestBody SceneEntity scene) {
  98. int result = sceneService.addScene(scene) ? 1 : 0;
  99. return new AjaxMessage<>(ResultStatus.OK, result);
  100. }
  101. /**
  102. * 按ID查询场景
  103. */
  104. @ApiOperation(value = "按ID查询场景")
  105. @RequestMapping(value = "/selectById", method = RequestMethod.GET)
  106. @ResponseBody
  107. public AjaxMessage<SceneEntity> selectById(@ApiParam(value = "ID", required = true) @RequestParam Long id) {
  108. SceneEntity scene = sceneService.findSceneById(id);
  109. return new AjaxMessage<>(ResultStatus.OK, scene);
  110. }
  111. /**
  112. * 修改保存场景信息
  113. */
  114. @RequestMapping(value = "/edit", method = RequestMethod.POST)
  115. @ResponseBody
  116. @ApiOperation(value = "修改保存场景信息")
  117. public AjaxMessage<Integer> editScene(@ApiParam(value = "场景", required = true) @RequestBody SceneEntity scene) {
  118. int result = sceneService.updateSceneById(scene) ? 1 : 0;
  119. return new AjaxMessage<>(ResultStatus.OK, result);
  120. }
  121. @RequestMapping(value = "/findByParentIdsLike", method = RequestMethod.GET)
  122. @ResponseBody
  123. @ApiOperation(value = "根据父级ID查询所有子节点及本身")
  124. public List<Long> findByParentIdsLike(@ApiParam(value = "父级场景ID", required = false)@RequestParam(required = false) Long id) {
  125. List<Long> longs = sceneService.findByParentIdsLike(id);
  126. return longs;
  127. }
  128. /**
  129. * 删除
  130. */
  131. @ApiOperation(value = "删除")
  132. @RequestMapping(value = "/deleteByIds", method = RequestMethod.POST)
  133. @ResponseBody
  134. public AjaxMessage<Integer> del(@ApiParam(value = "场景ID", required = true) @RequestBody Long[] ids) {
  135. List<SceneEntity> scenes = sceneService.findByParentSceneIds(ids);
  136. if (scenes.size() > 0) {
  137. return new AjaxMessage<>(ResultStatus.EXSIT_IS_PARENT_ERROR);
  138. }
  139. int result = sceneService.delSceneByIds(ids) ? 1 : 0;
  140. return new AjaxMessage<>(ResultStatus.OK, result);
  141. }
  142. }