SceneController.java 7.5 KB

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