CrowdController.java 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. package com.iden.bms.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.iden.bms.service.CrowdService;
  4. import com.iden.bms.service.PersonService;
  5. import com.iden.common.annotation.Permission;
  6. import com.iden.common.exception.BDException;
  7. import com.iden.common.logaspect.LogAnnotation;
  8. import com.iden.common.logaspect.OperateType;
  9. import com.iden.common.util.PageResult;
  10. import com.iden.common.util.Result;
  11. import com.iden.common.util.WebPageUtils;
  12. import com.iden.common.vo.CrowdVO;
  13. import com.iden.common.vo.PageReqVO;
  14. import com.iden.common.vo.UserLoginedConvertVO;
  15. import io.swagger.annotations.Api;
  16. import io.swagger.annotations.ApiImplicitParam;
  17. import io.swagger.annotations.ApiImplicitParams;
  18. import io.swagger.annotations.ApiOperation;
  19. import lombok.extern.slf4j.Slf4j;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.web.bind.annotation.*;
  22. import org.springframework.web.multipart.MultipartFile;
  23. import javax.servlet.http.HttpServletRequest;
  24. import java.util.List;
  25. /**
  26. * @Author: lilt
  27. * @Date: 2021/5/26
  28. * @Desc:
  29. */
  30. @RestController
  31. @Api(value = "CrowdController", tags = { "人群管理" })
  32. @Slf4j
  33. @RequestMapping("/bms/crowd")
  34. @Permission
  35. public class CrowdController {
  36. @Autowired
  37. private CrowdService crowdService;
  38. @Autowired
  39. private PersonService personService;
  40. @GetMapping("/listCommunity4Select")
  41. @ApiOperation(value = "人群下拉列表 ")
  42. public Result<List<CrowdVO>> listCommunity4Select(HttpServletRequest request, @RequestHeader(value = "token") String token,
  43. PageReqVO pageReqVo){
  44. try {
  45. UserLoginedConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
  46. List<CrowdVO> datas = this.crowdService.lisCrowd4Select(loginUser);
  47. return Result.success(datas);
  48. }catch (BDException e) {
  49. log.error("人群下拉列表查询-分页列表出现异常",e);
  50. return PageResult.error(e.getMessage());
  51. } catch (Exception e) {
  52. log.error("人群管理: 人群下拉列表查询出现异常",e);
  53. return PageResult.error( "获取列表失败");
  54. }
  55. }
  56. @GetMapping("/listCrowd")
  57. @ApiOperation(value = "人群列表分页 ")
  58. @ApiImplicitParams(value = {
  59. @ApiImplicitParam(paramType = "query", name = "name", value = "人群名称")
  60. })
  61. public PageResult<List<CrowdVO>> listCrowd(HttpServletRequest request, @RequestHeader(value = "token") String token,
  62. @RequestParam(value = "name", required = false) String name,
  63. PageReqVO pageReqVo){
  64. try {
  65. UserLoginedConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
  66. IPage<CrowdVO> pageResponse = this.crowdService.listCrowd(name,loginUser ,pageReqVo);
  67. return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal());
  68. }catch (BDException e) {
  69. log.error("人群列表查询-分页列表出现异常",e);
  70. return PageResult.error(e.getMessage());
  71. } catch (Exception e) {
  72. log.error("人群管理: 人群列表查询出现异常",e);
  73. return PageResult.error( "获取列表失败");
  74. }
  75. }
  76. @ApiOperation(value = "导入Excel")
  77. @PostMapping(value = "/importWithExcel", headers = "content-type=multipart/form-data")
  78. public Result<List<Long>> importWithExcel(HttpServletRequest request, @RequestHeader(value = "token") String token,
  79. @RequestParam(value = "file") MultipartFile multipartFile) {
  80. try {
  81. List<Long> personIdList = personService.importWithExcel(multipartFile);
  82. return Result.success("导入成功!",personIdList);
  83. } catch (BDException e) {
  84. log.error("导入人员列表出现异常",e);
  85. return Result.error(e.getMessage());
  86. } catch (Exception e) {
  87. log.error("人员管理: 导入人员列表出现异常",e);
  88. return Result.error("导入人员失败!");
  89. }
  90. }
  91. @PostMapping("/addCrowd")
  92. @ApiOperation(value = "新增人群")
  93. @LogAnnotation(
  94. type = OperateType.ADD,
  95. moduleName = "新增人群",
  96. description = "新增人群"
  97. )
  98. public Result<Object> addCrowd(HttpServletRequest request, @RequestHeader("token") String token,
  99. @RequestBody CrowdVO vo){
  100. try {
  101. UserLoginedConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
  102. int flag = this.crowdService.createCrowd(vo,loginUser);
  103. if (flag == 1) {
  104. return Result.error("名称已存在!");
  105. } if (flag == 2) {
  106. return Result.error("编码已存在!");
  107. } if (flag == 3) {
  108. return Result.error("人员列表不能为空!");
  109. } else if (flag == 0) {
  110. return Result.success("新增成功!");
  111. } else {
  112. return Result.error("新增失败!");
  113. }
  114. }catch (BDException e) {
  115. log.error("新增人群-出现异常",e);
  116. return Result.error(e.getMessage());
  117. } catch (Exception e) {
  118. log.error("人群管理: 新增人群出现异常",e);
  119. return Result.error("新增失败!");
  120. }
  121. }
  122. @PostMapping("/updateCrowd")
  123. @ApiOperation(value = "修改人群")
  124. @LogAnnotation(
  125. type = OperateType.MODIFY,
  126. moduleName = "修改人群",
  127. description = "修改人群"
  128. )
  129. public Result<Object> updateCrowd(HttpServletRequest request,@RequestHeader("token") String token,
  130. @RequestBody CrowdVO vo){
  131. try {
  132. this.crowdService.updateCrowd(vo);
  133. return Result.success("修改成功!");
  134. }catch (BDException e) {
  135. log.error("修改人群-出现异常",e);
  136. return Result.error(e.getMessage());
  137. } catch (Exception e) {
  138. log.error("人群管理: 修改人群出现异常",e);
  139. return Result.error("修改失败!");
  140. }
  141. }
  142. @GetMapping("/getCrowdInfo/{id}")
  143. @ApiOperation(value = "人群详情")
  144. public Result<CrowdVO> getCrowdInfo(HttpServletRequest request, @RequestHeader("token") String token, @PathVariable("id") Long id){
  145. CrowdVO vo = this.crowdService.getCrowdById(id);
  146. return Result.success("查询成功!",vo);
  147. }
  148. @PostMapping("/deleteCrowd/{id}")
  149. @ApiOperation(value = "删除人群")
  150. @LogAnnotation(
  151. type = OperateType.REMOVE,
  152. moduleName = "删除人群",
  153. description = "删除人群"
  154. )
  155. public Result<Object> deleteCrowd(HttpServletRequest request,@RequestHeader("token") String token,
  156. @PathVariable("id") Long id){
  157. try {
  158. if( this.crowdService.deleteById(id)){
  159. return Result.success("删除成功!");
  160. } else {
  161. return Result.error("人群被引用,删除失败!");
  162. }
  163. } catch (Exception e) {
  164. log.error("人群管理: 删除出现异常",e);
  165. return Result.error("删除失败!");
  166. }
  167. }
  168. }