PersonController.java 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. package com.iden.bms.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.iden.bms.service.PersonService;
  4. import com.iden.common.annotation.Permission;
  5. import com.iden.common.exception.BDException;
  6. import com.iden.common.util.PageResult;
  7. import com.iden.common.util.Result;
  8. import com.iden.common.util.WebPageUtils;
  9. import com.iden.common.vo.PersonVO;
  10. import com.iden.common.vo.PageReqVO;
  11. import com.iden.common.vo.UserLogindConvertVO;
  12. import io.swagger.annotations.*;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.*;
  16. import org.springframework.web.multipart.MultipartFile;
  17. import javax.servlet.http.HttpServletRequest;
  18. import java.util.List;
  19. /**
  20. * @Author: lilt
  21. * @Date: 2021/5/26
  22. * @Desc:
  23. */
  24. @RestController
  25. @Api(value = "PersonController", tags = { "人员管理" })
  26. @Slf4j
  27. @RequestMapping("/bms/person")
  28. @Permission
  29. public class PersonController {
  30. @Autowired
  31. private PersonService personService;
  32. @GetMapping("/listPerson")
  33. @ApiOperation(value = "人员列表分页 ")
  34. @ApiImplicitParams(value = {
  35. @ApiImplicitParam(paramType = "query", name = "type", value = "类型:1、重点人员,2、小区人员"),
  36. @ApiImplicitParam(paramType = "query", name = "nameOrCred", value = "名称/身份证"),
  37. @ApiImplicitParam(paramType = "query", name = "district", value = "所属区域"),
  38. @ApiImplicitParam(paramType = "query", name = "subdistrict", value = "所属街道"),
  39. @ApiImplicitParam(paramType = "query", name = "communityId", value = "小区ID"),
  40. @ApiImplicitParam(paramType = "query", name = "crowdId", value = "人群id"),
  41. @ApiImplicitParam(paramType = "query", name = "address", value = "详细地址"),
  42. @ApiImplicitParam(paramType = "query", name = "gender", value = "性别:M:男 W:女"),
  43. @ApiImplicitParam(paramType = "query", name = "populationType", value = "人口类型:1:常住人口 2:暂住人口 3:境外长住人口 4:流动人口 5:寄住人口 6: 临时住宿人口 99其他")
  44. })
  45. public PageResult<List<PersonVO>> listPerson(HttpServletRequest request, @RequestHeader(value = "token") String token,
  46. @RequestParam(value = "type", required = true) String type,
  47. @RequestParam(value = "nameOrCred", required = false) String nameOrCred,
  48. @RequestParam(value = "district", required = false) String district,
  49. @RequestParam(value = "subdistrict", required = false) String subdistrict,
  50. @RequestParam(value = "communityId", required = false) Long communityId,
  51. @RequestParam(value = "crowdId", required = false) Long crowdId,
  52. @RequestParam(value = "address", required = false) String address,
  53. @RequestParam(value = "gender", required = false) String gender,
  54. @RequestParam(value = "populationType", required = false) String populationType,
  55. PageReqVO pageReqVo){
  56. try {
  57. UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
  58. IPage<PersonVO> pageResponse = this.personService.listPerson(type,nameOrCred,district,subdistrict,communityId,crowdId,address,gender,populationType,loginUser ,pageReqVo);
  59. return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal());
  60. }catch (BDException e) {
  61. log.error("人员列表查询-分页列表出现异常",e);
  62. return PageResult.error(e.getMessage());
  63. } catch (Exception e) {
  64. log.error("人员管理: 人员列表查询出现异常",e);
  65. return PageResult.error( "获取列表失败");
  66. }
  67. }
  68. @ApiOperation(value = "图像上传")
  69. @ApiImplicitParams({
  70. @ApiImplicitParam(name = "token", value = "放在请求头中的令牌",
  71. dataType = "String", paramType = "header",
  72. required = true)
  73. })
  74. @CrossOrigin
  75. @PostMapping(value = "/uploadImage", headers="content-type=multipart/form-data",produces = "application/json;charset=UTF-8")
  76. public Result<String> uploadImage( @ApiParam(value="图像",required=true) MultipartFile file,
  77. @RequestHeader(name = "token") String token) {
  78. try {
  79. String url = personService.uploadImage(file);
  80. return Result.success("上传成功!",url);
  81. } catch (BDException e) {
  82. log.error("图像上传出现异常",e);
  83. return Result.error(e.getMessage());
  84. } catch (Exception e) {
  85. log.error("人员管理: 图像上传出现异常",e);
  86. return Result.error("图像上传失败!");
  87. }
  88. }
  89. @PostMapping("/addPerson")
  90. @ApiOperation(value = "新增人员")
  91. public Result<Object> addPerson(HttpServletRequest request,@RequestHeader("token") String token,
  92. @RequestBody PersonVO vo){
  93. try {
  94. UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
  95. int flag = this.personService.createPerson(vo,loginUser);
  96. if (flag == 1) {
  97. return Result.error("证件号码已存在!");
  98. } else if (flag == 0) {
  99. return Result.success("新增成功!");
  100. } else {
  101. return Result.error("新增失败!");
  102. }
  103. }catch (BDException e) {
  104. log.error("新增人员-出现异常",e);
  105. return Result.error(e.getMessage());
  106. } catch (Exception e) {
  107. log.error("人员管理: 新增人员出现异常",e);
  108. return Result.error("新增失败!");
  109. }
  110. }
  111. @PostMapping("/updatePerson")
  112. @ApiOperation(value = "修改人员")
  113. public Result<Object> updatePerson(HttpServletRequest request,@RequestHeader("token") String token,
  114. @RequestBody PersonVO vo){
  115. try {
  116. this.personService.updatePerson(vo);
  117. return Result.success("修改成功!");
  118. }catch (BDException e) {
  119. log.error("修改人员-出现异常",e);
  120. return Result.error(e.getMessage());
  121. } catch (Exception e) {
  122. log.error("人员管理: 修改人员出现异常",e);
  123. return Result.error("修改失败!");
  124. }
  125. }
  126. @GetMapping("/getPersonInfo/{id}")
  127. @ApiOperation(value = "人员详情")
  128. public Result<PersonVO> getPersonInfo(HttpServletRequest request, @RequestHeader("token") String token, @PathVariable("id") Long id){
  129. PersonVO orderInfo = this.personService.getPersonById(id);
  130. return Result.success("查询成功!",orderInfo);
  131. }
  132. @PostMapping("/deletePerson/{id}")
  133. @ApiOperation(value = "删除人员")
  134. public Result<Object> deletePerson(HttpServletRequest request,@RequestHeader("token") String token,
  135. @PathVariable("id") Long id){
  136. try {
  137. if( this.personService.deleteById(id)){
  138. return Result.success("删除成功!");
  139. } else {
  140. return Result.error("人员被引用,删除失败!");
  141. }
  142. } catch (Exception e) {
  143. log.error("人员管理: 删除出现异常",e);
  144. return Result.error("删除失败!");
  145. }
  146. }
  147. }