PersonDeviceRelationController.java 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. package com.jpsoft.smart.modules.base.controller;
  2. import com.github.pagehelper.Page;
  3. import com.jpsoft.smart.modules.common.utils.PojoUtils;
  4. import com.jpsoft.smart.modules.common.dto.Sort;
  5. import com.jpsoft.smart.modules.common.dto.MessageResult;
  6. import com.jpsoft.smart.modules.base.entity.PersonDeviceRelation;
  7. import com.jpsoft.smart.modules.base.service.PersonDeviceRelationService;
  8. import io.swagger.annotations.Api;
  9. import io.swagger.annotations.ApiImplicitParam;
  10. import io.swagger.annotations.ApiImplicitParams;
  11. import io.swagger.annotations.ApiOperation;
  12. import org.apache.commons.lang3.StringUtils;
  13. import org.slf4j.Logger;
  14. import org.slf4j.LoggerFactory;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.web.bind.annotation.*;
  17. import javax.servlet.http.HttpServletRequest;
  18. import java.text.SimpleDateFormat;
  19. import java.util.*;
  20. @RestController
  21. @RequestMapping("/personDeviceRelation")
  22. @Api(description = "设备和人员绑定")
  23. public class PersonDeviceRelationController {
  24. private Logger logger = LoggerFactory.getLogger(getClass());
  25. @Autowired
  26. private PersonDeviceRelationService personDeviceRelationService;
  27. @ApiOperation(value="添加设备和人员绑定")
  28. @PostMapping("add")
  29. public MessageResult<PersonDeviceRelation> add(@RequestBody PersonDeviceRelation personDeviceRelation,@RequestAttribute String subject){
  30. MessageResult<PersonDeviceRelation> msgResult = new MessageResult<>();
  31. try {
  32. personDeviceRelation.setId(UUID.randomUUID().toString());
  33. personDeviceRelation.setDelFlag(false);
  34. personDeviceRelation.setCreateBy(subject);
  35. personDeviceRelation.setCreateTime(new Date());
  36. int affectCount = personDeviceRelationService.insert(personDeviceRelation);
  37. if (affectCount > 0) {
  38. msgResult.setResult(true);
  39. msgResult.setData(personDeviceRelation);
  40. } else {
  41. msgResult.setResult(false);
  42. msgResult.setMessage("数据库添加失败");
  43. }
  44. }
  45. catch(Exception ex){
  46. logger.error(ex.getMessage(),ex);
  47. msgResult.setResult(false);
  48. msgResult.setMessage(ex.getMessage());
  49. }
  50. return msgResult;
  51. }
  52. @ApiOperation(value="获取人员和设备绑定信息")
  53. @GetMapping("edit/{id}")
  54. public MessageResult<PersonDeviceRelation> edit(@PathVariable("id") String id){
  55. MessageResult<PersonDeviceRelation> msgResult = new MessageResult<>();
  56. try {
  57. PersonDeviceRelation personDeviceRelation = personDeviceRelationService.get(id);
  58. if (personDeviceRelation != null) {
  59. msgResult.setResult(true);
  60. msgResult.setData(personDeviceRelation);
  61. } else {
  62. msgResult.setResult(false);
  63. msgResult.setMessage("数据库不存在该记录!");
  64. }
  65. }
  66. catch(Exception ex){
  67. logger.error(ex.getMessage(),ex);
  68. msgResult.setResult(false);
  69. msgResult.setMessage(ex.getMessage());
  70. }
  71. return msgResult;
  72. }
  73. @ApiOperation(value="更新设备和人员绑定")
  74. @PostMapping("update")
  75. public MessageResult<PersonDeviceRelation> update(@RequestBody PersonDeviceRelation personDeviceRelation,@RequestAttribute String subject){
  76. MessageResult<PersonDeviceRelation> msgResult = new MessageResult<>();
  77. try {
  78. personDeviceRelation.setUpdateBy(subject);
  79. personDeviceRelation.setUpdateTime(new Date());
  80. int affectCount = personDeviceRelationService.update(personDeviceRelation);
  81. if (affectCount > 0) {
  82. msgResult.setResult(true);
  83. msgResult.setData(personDeviceRelation);
  84. } else {
  85. msgResult.setResult(false);
  86. msgResult.setMessage("数据库更新失败");
  87. }
  88. }
  89. catch(Exception ex){
  90. logger.error(ex.getMessage(),ex);
  91. msgResult.setResult(false);
  92. msgResult.setMessage(ex.getMessage());
  93. }
  94. return msgResult;
  95. }
  96. @ApiOperation(value="删除设备和人员绑定")
  97. @PostMapping("delete/{id}")
  98. public MessageResult<Integer> delete(@PathVariable("id") String id,@RequestAttribute String subject){
  99. MessageResult<Integer> msgResult = new MessageResult<>();
  100. try {
  101. PersonDeviceRelation personDeviceRelation = personDeviceRelationService.get(id);
  102. personDeviceRelation.setDelFlag(true);
  103. personDeviceRelation.setUpdateBy(subject);
  104. personDeviceRelation.setUpdateTime(new Date());
  105. int affectCount = personDeviceRelationService.update(personDeviceRelation);
  106. if (affectCount > 0) {
  107. msgResult.setResult(true);
  108. msgResult.setData(affectCount);
  109. } else {
  110. msgResult.setResult(false);
  111. msgResult.setMessage("删除失败");
  112. }
  113. }
  114. catch(Exception ex){
  115. logger.error(ex.getMessage(),ex);
  116. msgResult.setResult(false);
  117. msgResult.setMessage(ex.getMessage());
  118. }
  119. return msgResult;
  120. }
  121. @ApiOperation(value="批量删除")
  122. @PostMapping("batchDelete")
  123. public MessageResult<Integer> batchDelete(@RequestBody List<String> idList,@RequestAttribute String subject){
  124. MessageResult<Integer> msgResult = new MessageResult<>();
  125. try {
  126. int affectCount = 0;
  127. for (String id : idList) {
  128. PersonDeviceRelation personDeviceRelation = personDeviceRelationService.get(id);
  129. personDeviceRelation.setDelFlag(true);
  130. personDeviceRelation.setUpdateBy(subject);
  131. personDeviceRelation.setUpdateTime(new Date());
  132. affectCount += personDeviceRelationService.update(personDeviceRelation);
  133. }
  134. if (affectCount > 0) {
  135. msgResult.setResult(true);
  136. msgResult.setData(affectCount);
  137. } else {
  138. msgResult.setResult(false);
  139. msgResult.setMessage("删除失败");
  140. }
  141. }
  142. catch(Exception ex){
  143. logger.error(ex.getMessage(),ex);
  144. msgResult.setResult(false);
  145. msgResult.setMessage(ex.getMessage());
  146. }
  147. return msgResult;
  148. }
  149. @ApiOperation(value="列表")
  150. @RequestMapping(value = "pageList",method = RequestMethod.POST)
  151. @ApiImplicitParams({
  152. @ApiImplicitParam(name = "deviceId",value = "设备ID", paramType = "query"),
  153. @ApiImplicitParam(name = "personId",value = "人员ID", paramType = "query")
  154. })
  155. public MessageResult<Map> pageList(
  156. String deviceId,String personId,
  157. @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
  158. @RequestParam(value="pageSize",defaultValue="20") int pageSize,
  159. @RequestAttribute String subject){
  160. //当前用户ID
  161. System.out.println(subject);
  162. MessageResult<Map> msgResult = new MessageResult<>();
  163. Map<String,Object> searchParams = new HashMap<>();
  164. List<Sort> sortList = new ArrayList<>();
  165. sortList.add(new Sort("create_time","desc"));
  166. if (StringUtils.isNotEmpty(deviceId)) {
  167. searchParams.put("deviceId",deviceId);
  168. }
  169. if (StringUtils.isNotEmpty(personId)) {
  170. searchParams.put("personId",personId);
  171. }
  172. Page<PersonDeviceRelation> page = personDeviceRelationService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
  173. msgResult.setResult(true);
  174. msgResult.setData(PojoUtils.pageWrapper(page));
  175. return msgResult;
  176. }
  177. }