UserRoleController.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. package com.crm.manager.controller;
  2. import com.crm.login.rely.backend.controller.BaseLoginController;
  3. import com.crm.manager.service.MerchantRoleService;
  4. import com.crm.manager.service.UserRoleService;
  5. import com.crm.rely.backend.core.constant.Constants;
  6. import com.crm.rely.backend.core.constant.ManagerConstant;
  7. import com.crm.rely.backend.core.dto.base.BaseResultDto;
  8. import com.crm.rely.backend.core.dto.base.ResultWithPagerDto;
  9. import com.crm.rely.backend.core.dto.user.role.UserAllRoleDto;
  10. import com.crm.rely.backend.core.dto.user.role.UserNodeDisplayDto;
  11. import com.crm.rely.backend.core.dto.user.role.UserRoleDto;
  12. import com.crm.rely.backend.core.entity.base.SingleLongEntity;
  13. import com.crm.rely.backend.core.entity.custom.info.InfoEntity;
  14. import com.crm.rely.backend.core.entity.user.role.UserRoleAddEntity;
  15. import com.crm.rely.backend.core.entity.user.role.UserRoleOperateListEntity;
  16. import com.crm.rely.backend.core.entity.user.role.UserRoleSearchEntity;
  17. import com.crm.rely.backend.core.entity.user.role.UserRoleUpdateEntity;
  18. import com.crm.rely.backend.exception.ControllerException;
  19. import com.crm.rely.backend.util.DateUtil;
  20. import com.crm.rely.backend.util.HttpServletRequestUtil;
  21. import org.apache.catalina.servlet4preview.http.HttpServletRequest;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.web.bind.annotation.PostMapping;
  24. import org.springframework.web.bind.annotation.RequestBody;
  25. import org.springframework.web.bind.annotation.RequestMapping;
  26. import org.springframework.web.bind.annotation.RestController;
  27. import javax.validation.Valid;
  28. import java.util.List;
  29. /**
  30. * 角色
  31. */
  32. @RestController
  33. @RequestMapping("/user/role")
  34. public class UserRoleController extends BaseLoginController {
  35. @Autowired
  36. private UserRoleService roleInfoService;
  37. @Autowired
  38. private MerchantRoleService merchantRoleService;
  39. /**
  40. * 添加角色
  41. *
  42. * @param userRoleAddEntity
  43. * @return
  44. * @throws Exception
  45. */
  46. @PostMapping("/add")
  47. public BaseResultDto addRoleInfo(@RequestBody @Valid UserRoleAddEntity userRoleAddEntity) throws Exception {
  48. if (ManagerConstant.ROLE_CODE_SYSTEM.equals(userRoleAddEntity.getCode())) {
  49. return BaseResultDto.error(Constants.NOT_PERMIT);
  50. }
  51. String roleCode = getRoleCode(userRoleAddEntity.getDepartmentId());
  52. userRoleAddEntity.setCode(roleCode);
  53. roleInfoService.addRoleInfo(userRoleAddEntity);
  54. return BaseResultDto.success();
  55. }
  56. @PostMapping("/add/detail/list")
  57. public BaseResultDto<List<UserNodeDisplayDto>> getDetailList() throws Exception {
  58. InfoEntity infoEntity = HttpServletRequestUtil.getLoginInfo(InfoEntity.class, httpServletRequest, redisService
  59. , true);
  60. if(infoEntity.getIbInfo().getMerchantId() != null && infoEntity.getIbInfo().getIsMerchantAdmin().equals(1)){
  61. return BaseResultDto.success(merchantRoleService.merchantDetailList(infoEntity.getIbInfo().getMerchantId()));
  62. }
  63. List<UserNodeDisplayDto> userNodeDisplayEntities = roleInfoService.getUserNodeDisplay(-1L);
  64. return BaseResultDto.success(userNodeDisplayEntities);
  65. }
  66. /**
  67. * 修改角色
  68. *
  69. * @return
  70. */
  71. @PostMapping("/update")
  72. public BaseResultDto updateRoleInfoBase(@RequestBody @Valid UserRoleUpdateEntity userRoleUpdateEntity) throws Exception {
  73. if (ManagerConstant.ROLE_CODE_SYSTEM.equals(userRoleUpdateEntity.getCode())) {
  74. return BaseResultDto.error(Constants.NOT_PERMIT);
  75. }
  76. String roleCode = getRoleCode(userRoleUpdateEntity.getDepartmentId());
  77. userRoleUpdateEntity.setCode(roleCode);
  78. roleInfoService.updateRoleInfo(userRoleUpdateEntity);
  79. return BaseResultDto.success();
  80. }
  81. /**
  82. * 修改角色权限
  83. *
  84. * @return
  85. */
  86. @PostMapping("/update/detail")
  87. public BaseResultDto updateRoleInfoDetail(@RequestBody @Valid UserRoleOperateListEntity userRoleOperateListEntity) throws Exception {
  88. roleInfoService.updateRoleInfo(userRoleOperateListEntity);
  89. return BaseResultDto.success();
  90. }
  91. /**
  92. * 拉取所有权限列表 用于修改权限的时候用
  93. *
  94. * @return
  95. */
  96. @PostMapping("/update/detail/list")
  97. public BaseResultDto<List<UserNodeDisplayDto>> getDetailList(@RequestBody @Valid SingleLongEntity singleLongEntity, InfoEntity userInfoEntity) throws Exception {
  98. if (userInfoEntity.getIbInfo().getRoleId() != null && userInfoEntity.getIbInfo().getRoleId() != 0) {
  99. if (singleLongEntity.getId() == null || singleLongEntity.getId() == 0) {
  100. throw new ControllerException("管理员权限无法修改");
  101. }
  102. }
  103. List<UserNodeDisplayDto> userNodeDisplayEntities = roleInfoService.getUserNodeDisplay(singleLongEntity.getId());
  104. return BaseResultDto.success(userNodeDisplayEntities);
  105. }
  106. /**
  107. * 删除角色
  108. *
  109. * @return
  110. */
  111. @PostMapping("/delete")
  112. public BaseResultDto deleteRoleInfo(@RequestBody @Valid SingleLongEntity singleLongEntity) throws Exception {
  113. roleInfoService.deleteRoleInfo(singleLongEntity.getId());
  114. return BaseResultDto.success();
  115. }
  116. /**
  117. * id查询角色信息
  118. *
  119. * @return
  120. */
  121. @PostMapping("/search/single")
  122. public BaseResultDto<UserRoleDto> searchSingle(@RequestBody @Valid SingleLongEntity singleLongEntity) throws Exception {
  123. UserRoleDto roleInfo = roleInfoService.getRoleInfo(singleLongEntity.getId());
  124. return BaseResultDto.success(roleInfo);
  125. }
  126. /**
  127. * 查询角色信息列表
  128. *
  129. * @return
  130. */
  131. @PostMapping("/search/page")
  132. public ResultWithPagerDto<UserRoleDto> searchListPage(@RequestBody @Valid UserRoleSearchEntity entity) throws Exception {
  133. if (entity.getEndDate() != null) {
  134. entity.setEndDate(DateUtil.operationDay(entity.getEndDate(), 1));
  135. }
  136. if (entity.getStartDate() != null) {
  137. entity.setStartDate(DateUtil.parseDate(entity.getStartDate()));
  138. }
  139. ResultWithPagerDto<UserRoleDto> result = roleInfoService.getListInfo(entity);
  140. return result;
  141. }
  142. /**
  143. * 查询角色信息列表
  144. *
  145. * @return
  146. */
  147. @PostMapping("/search/list")
  148. public BaseResultDto<List<UserAllRoleDto>> allList() throws Exception {
  149. List<UserAllRoleDto> result = roleInfoService.getListInfo();
  150. return BaseResultDto.success(result);
  151. }
  152. private String getRoleCode(Long departmentId) {
  153. int dId = departmentId == null ? -1 : departmentId.intValue();
  154. String roleCode;
  155. switch (dId) {
  156. case 1:
  157. roleCode = ManagerConstant.ROLE_CODE_SALE;
  158. break;
  159. case 2:
  160. roleCode = ManagerConstant.ROLE_CODE_FINANCE;
  161. break;
  162. case 3:
  163. roleCode = ManagerConstant.ROLE_CODE_MARKET;
  164. break;
  165. case 4:
  166. roleCode = ManagerConstant.ROLE_CODE_LEGAL_AFFAIRS;
  167. break;
  168. case 5:
  169. roleCode = ManagerConstant.ROLE_CODE_ADMIN;
  170. break;
  171. default:
  172. roleCode = ManagerConstant.ROLE_CODE_USER;
  173. break;
  174. }
  175. return roleCode;
  176. }
  177. }