RoomInfoController.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. package com.jpsoft.smart.modules.base.controller;
  2. import com.github.pagehelper.Page;
  3. import com.jpsoft.smart.modules.base.entity.RoomInfo;
  4. import com.jpsoft.smart.modules.base.service.ElectricClientInfoService;
  5. import com.jpsoft.smart.modules.base.service.RoomInfoService;
  6. import com.jpsoft.smart.modules.common.dto.MessageResult;
  7. import com.jpsoft.smart.modules.common.dto.Sort;
  8. import com.jpsoft.smart.modules.common.utils.PojoUtils;
  9. import io.swagger.annotations.ApiOperation;
  10. import org.apache.commons.lang3.StringUtils;
  11. import org.slf4j.Logger;
  12. import org.slf4j.LoggerFactory;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.*;
  15. import java.util.*;
  16. @RestController
  17. @RequestMapping("/base/roomInfo")
  18. public class RoomInfoController {
  19. private Logger logger = LoggerFactory.getLogger(getClass());
  20. @Autowired
  21. private RoomInfoService roomInfoService;
  22. @Autowired
  23. private ElectricClientInfoService electricClientInfoService;
  24. @ApiOperation(value="创建空记录")
  25. @GetMapping("create")
  26. public MessageResult<RoomInfo> create(String parentId){
  27. MessageResult<RoomInfo> msgResult = new MessageResult<>();
  28. RoomInfo roomInfo = new RoomInfo();
  29. if(StringUtils.isNotEmpty(parentId)){
  30. RoomInfo parent = roomInfoService.get(parentId);
  31. roomInfo.setParentId(parent.getId());
  32. roomInfo.setParentName(parent.getName());
  33. if (parent.getType().equals("1")){
  34. roomInfo.setType("2");
  35. }
  36. else if (parent.getType().equals("2")){
  37. roomInfo.setType("3");
  38. }
  39. }
  40. else{
  41. roomInfo.setType("1");
  42. }
  43. msgResult.setData(roomInfo);
  44. msgResult.setResult(true);
  45. return msgResult;
  46. }
  47. @ApiOperation(value="添加信息")
  48. @PostMapping("add")
  49. public MessageResult<RoomInfo> add(@RequestBody RoomInfo roomInfo,@RequestAttribute String subject){
  50. MessageResult<RoomInfo> msgResult = new MessageResult<>();
  51. try {
  52. roomInfo.setId(UUID.randomUUID().toString());
  53. roomInfo.setDelFlag(false);
  54. roomInfo.setCreateBy(subject);
  55. roomInfo.setCreateTime(new Date());
  56. int affectCount = roomInfoService.insert(roomInfo);
  57. if (affectCount > 0) {
  58. msgResult.setResult(true);
  59. msgResult.setData(roomInfoService.get(roomInfo.getId()));
  60. } else {
  61. msgResult.setResult(false);
  62. msgResult.setMessage("数据库添加失败");
  63. }
  64. }
  65. catch(Exception ex){
  66. logger.error(ex.getMessage(),ex);
  67. msgResult.setResult(false);
  68. msgResult.setMessage(ex.getMessage());
  69. }
  70. return msgResult;
  71. }
  72. @ApiOperation(value="获取信息")
  73. @GetMapping("edit/{id}")
  74. public MessageResult<RoomInfo> edit(@PathVariable("id") String id){
  75. MessageResult<RoomInfo> msgResult = new MessageResult<>();
  76. try {
  77. RoomInfo roomInfo = roomInfoService.get(id);
  78. if (roomInfo != null) {
  79. msgResult.setResult(true);
  80. msgResult.setData(roomInfo);
  81. } else {
  82. msgResult.setResult(false);
  83. msgResult.setMessage("数据库不存在该记录!");
  84. }
  85. }
  86. catch(Exception ex){
  87. logger.error(ex.getMessage(),ex);
  88. msgResult.setResult(false);
  89. msgResult.setMessage(ex.getMessage());
  90. }
  91. return msgResult;
  92. }
  93. @ApiOperation(value="更新用户")
  94. @PostMapping("update")
  95. public MessageResult<RoomInfo> update(@RequestBody RoomInfo roomInfo,@RequestAttribute String subject){
  96. MessageResult<RoomInfo> msgResult = new MessageResult<>();
  97. try {
  98. roomInfo.setUpdateBy(subject);
  99. roomInfo.setUpdateTime(new Date());
  100. int affectCount = roomInfoService.update(roomInfo);
  101. if (affectCount > 0) {
  102. msgResult.setResult(true);
  103. msgResult.setData(roomInfoService.get(roomInfo.getId()));
  104. } else {
  105. msgResult.setResult(false);
  106. msgResult.setMessage("数据库更新失败");
  107. }
  108. }
  109. catch(Exception ex){
  110. logger.error(ex.getMessage(),ex);
  111. msgResult.setResult(false);
  112. msgResult.setMessage(ex.getMessage());
  113. }
  114. return msgResult;
  115. }
  116. @ApiOperation(value="删除")
  117. @PostMapping("delete/{id}")
  118. public MessageResult<Integer> delete(@PathVariable("id") String id,@RequestAttribute String subject){
  119. MessageResult<Integer> msgResult = new MessageResult<>();
  120. try {
  121. RoomInfo roomInfo = roomInfoService.get(id);
  122. roomInfo.setDelFlag(true);
  123. roomInfo.setUpdateBy(subject);
  124. roomInfo.setUpdateTime(new Date());
  125. int affectCount = roomInfoService.deleteAll(roomInfo);
  126. if (affectCount > 0) {
  127. msgResult.setResult(true);
  128. msgResult.setData(affectCount);
  129. } else {
  130. msgResult.setResult(false);
  131. msgResult.setMessage("删除失败");
  132. }
  133. }
  134. catch(Exception ex){
  135. logger.error(ex.getMessage(),ex);
  136. msgResult.setResult(false);
  137. msgResult.setMessage(ex.getMessage());
  138. }
  139. return msgResult;
  140. }
  141. @ApiOperation(value="批量删除")
  142. @PostMapping("batchDelete")
  143. public MessageResult<Integer> batchDelete(@RequestBody List<String> idList,@RequestAttribute String subject){
  144. MessageResult<Integer> msgResult = new MessageResult<>();
  145. try {
  146. int affectCount = 0;
  147. for (String id : idList) {
  148. RoomInfo roomInfo = roomInfoService.get(id);
  149. roomInfo.setDelFlag(true);
  150. roomInfo.setUpdateBy(subject);
  151. roomInfo.setUpdateTime(new Date());
  152. affectCount += roomInfoService.update(roomInfo);
  153. }
  154. if (affectCount > 0) {
  155. msgResult.setResult(true);
  156. msgResult.setData(affectCount);
  157. } else {
  158. msgResult.setResult(false);
  159. msgResult.setMessage("删除失败");
  160. }
  161. }
  162. catch(Exception ex){
  163. logger.error(ex.getMessage(),ex);
  164. msgResult.setResult(false);
  165. msgResult.setMessage(ex.getMessage());
  166. }
  167. return msgResult;
  168. }
  169. @ApiOperation(value="列表")
  170. @RequestMapping(value = "pageList",method = RequestMethod.POST)
  171. public MessageResult<Map> pageList(
  172. String id,
  173. String infoName,
  174. String parentId,
  175. String type,
  176. @RequestParam(name="pageIndex",defaultValue = "1") int pageIndex,
  177. @RequestParam(name="pageSize",defaultValue = "10") int pageSize,
  178. @RequestAttribute String subject){
  179. //当前用户ID
  180. System.out.println(subject);
  181. MessageResult<Map> msgResult = new MessageResult<>();
  182. Map<String,Object> searchParams = new HashMap<>();
  183. List<Sort> sortList = new ArrayList<>();
  184. sortList.add(new Sort("sort_no","asc"));
  185. if (StringUtils.isNotEmpty(id)) {
  186. searchParams.put("id","%" + id + "%");
  187. }
  188. if (StringUtils.isNotEmpty(infoName)) {
  189. searchParams.put("name", "%" + infoName + "%");
  190. }
  191. if (StringUtils.isNotEmpty(parentId)) {
  192. searchParams.put("parentId", parentId);
  193. }
  194. if (StringUtils.isNotEmpty(type)) {
  195. searchParams.put("type", type);
  196. }
  197. Page<RoomInfo> page = roomInfoService.pageSearch(searchParams,pageIndex,pageSize,sortList);
  198. msgResult.setResult(true);
  199. msgResult.setData(PojoUtils.pageWrapper(page));
  200. return msgResult;
  201. }
  202. @ApiOperation(value = "查询")
  203. @RequestMapping(value = "query", method = RequestMethod.POST)
  204. public MessageResult<List> query(
  205. String keywords,
  206. @RequestParam(value = "excludeId", defaultValue = "") String excludeId,
  207. @RequestParam(value = "type", defaultValue = "") String type,
  208. @RequestParam(value = "parentId", defaultValue = "") String parentId,
  209. @RequestParam(value = "parentType", defaultValue = "") String parentType,
  210. @RequestParam(value = "length", defaultValue = "20") int limit,
  211. @RequestAttribute String subject) {
  212. MessageResult<List> msgResult = new MessageResult<>();
  213. Map<String, Object> searchParams = new HashMap<>();
  214. List<Sort> sortList = new ArrayList<>();
  215. sortList.add(new Sort("a.sort_no", "asc"));
  216. if (StringUtils.isNotEmpty(keywords)) {
  217. searchParams.put("name", "%" + keywords + "%");
  218. }
  219. if (StringUtils.isNotEmpty(excludeId)) {
  220. searchParams.put("excludeId", excludeId);
  221. }
  222. if (StringUtils.isNotEmpty(parentId)) {
  223. searchParams.put("parentId", parentId);
  224. }
  225. if (StringUtils.isNotEmpty(parentType)) {
  226. if("1".equals(parentType)){
  227. //选择为园区 则不查
  228. type = "";
  229. }else if("2".equals(parentType)){
  230. //选择为楼栋
  231. //则查询园区信息
  232. type = "1";
  233. } else if("3".equals(parentType)){
  234. //选择为房间
  235. //则查询楼栋信息
  236. type = "2";
  237. }
  238. searchParams.put("type", type);
  239. }
  240. if (StringUtils.isNotEmpty(type)) {
  241. searchParams.put("type", type);
  242. }
  243. Page<RoomInfo> page = roomInfoService.pageSearch(searchParams,0, limit,sortList);
  244. List<RoomInfo> roomInfoList = page.getResult();
  245. msgResult.setResult(true);
  246. msgResult.setData(roomInfoList);
  247. return msgResult;
  248. }
  249. @ApiOperation(value = "查询")
  250. @RequestMapping(value = "queryTree", method = RequestMethod.POST)
  251. public MessageResult<List> queryTree(
  252. String keywords,
  253. @RequestParam(value = "excludeId", defaultValue = "") String excludeId,
  254. @RequestParam(value = "type", defaultValue = "") String type,
  255. @RequestParam(value = "parentId", defaultValue = "") String parentId,
  256. @RequestParam(value = "parentType", defaultValue = "") String parentType,
  257. @RequestParam(value = "length", defaultValue = "20") int limit,
  258. @RequestAttribute String subject) {
  259. MessageResult<List> msgResult = new MessageResult<>();
  260. Map<String, Object> searchParams = new HashMap<>();
  261. List<Sort> sortList = new ArrayList<>();
  262. sortList.add(new Sort("a.sort_no", "asc"));
  263. if (StringUtils.isNotEmpty(parentId)) {
  264. searchParams.put("parentId", parentId);
  265. }else{
  266. searchParams.put("type", 1);
  267. }
  268. Page<RoomInfo> page = roomInfoService.pageSearch(searchParams,0, limit,sortList);
  269. List<RoomInfo> roomInfoList = page.getResult();
  270. msgResult.setResult(true);
  271. msgResult.setData(roomInfoList);
  272. return msgResult;
  273. }
  274. }