NewPermissionApiController.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. package com.goafanti.permission.controller;
  2. import javax.annotation.Resource;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.RequestMethod;
  6. import org.springframework.web.bind.annotation.RestController;
  7. import com.goafanti.common.bo.Result;
  8. import com.goafanti.common.constant.AFTConstants;
  9. import com.goafanti.common.constant.ErrorConstants;
  10. import com.goafanti.common.controller.BaseApiController;
  11. import com.goafanti.common.dao.PermissionMapper;
  12. import com.goafanti.common.model.Permission;
  13. import com.goafanti.common.utils.StringUtils;
  14. import com.goafanti.core.shiro.token.TokenManager;
  15. import com.goafanti.permission.service.PermissionService;
  16. @RestController
  17. @RequestMapping("api/admin")
  18. public class NewPermissionApiController extends BaseApiController {
  19. @Resource
  20. private PermissionService permissionService;
  21. @Autowired
  22. PermissionMapper permissionMapper;
  23. /**权限管理列表 **/
  24. @RequestMapping(value = "/permissions", method = RequestMethod.POST)
  25. public Result permissions() {
  26. Result res = new Result();
  27. res.setData(permissionService.findPermissionsAll());
  28. return res;
  29. }
  30. /**权限管理最上级新增 **/
  31. @RequestMapping(value = "/addSupPermission" , method = RequestMethod.POST)
  32. public Result addSupPermission(Permission record ){
  33. Result res = new Result();
  34. if(StringUtils.isBlank(record.getName())){
  35. res.getError().add(buildError("","权限名不能为空"));
  36. return res;
  37. }
  38. String aut=permissionMapper.selectAutNoByNamei(record.getName());
  39. if(aut!=null){
  40. res.getError().add(buildError("","权限已存在"));
  41. return res;
  42. }
  43. res.setData(permissionService.insertn(record));
  44. return res;
  45. }
  46. /**新增上级名称自动生成 **/
  47. @RequestMapping(value = "/selectSuperIdById" , method = RequestMethod.POST)
  48. public Permission selectSuperIdById(String id ){
  49. return permissionService.selectSuperIdById(id);
  50. }
  51. /**权限管理新增 **/
  52. @RequestMapping(value = "/addPermission" , method = RequestMethod.POST)
  53. public Result addPermission(Permission record ){
  54. Result res = new Result();
  55. if(StringUtils.isBlank(record.getName())|| StringUtils.isBlank(record.getUrl())
  56. || StringUtils.isBlank(record.getSuperId())){
  57. res.getError().add(buildError("","名称、路径、上级不能为空"));
  58. return res;
  59. }
  60. String aut=permissionMapper.selectAutNoByNamei(record.getName());
  61. if(aut!=null){
  62. res.getError().add(buildError("","权限已存在"));
  63. return res;
  64. }
  65. String supaut=permissionMapper.selectAutNoByName(permissionMapper.selectIdByName(record.getSuperId()));
  66. if(supaut.length()>=7){
  67. res.getError().add(buildError("","权限层级超限"));
  68. return res;
  69. }
  70. res.setData(permissionService.insertSubordinate(record));
  71. return res;
  72. }
  73. /**删除列表信息**/
  74. @RequestMapping(value = "/deleteById" , method = RequestMethod.POST)
  75. public Result deleteById(String id){
  76. Result res = new Result();
  77. if(StringUtils.isBlank(id)){
  78. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "id"));
  79. return res;
  80. }
  81. /*Permission permission=permissionMapper.selectAllById(id);
  82. String superId=permission.getSuperId();*/
  83. int subordinate=permissionMapper.selectCountBySuperId(id);
  84. if(subordinate>0){
  85. res.getError().add(buildError("","存在下级权限不能删除"));
  86. return res;
  87. }
  88. int role_permission=permissionMapper.selectCountByid(id);
  89. if(role_permission>0){
  90. res.getError().add(buildError("","权限被分配不能删除"));
  91. return res;
  92. }
  93. res.setData(permissionService.deleteById(id));
  94. return res;
  95. }
  96. /**编辑页面数据读取**/
  97. @RequestMapping(value = "/selectAllById" , method = RequestMethod.POST)
  98. public Result selectAllById(String id){
  99. Result res = new Result();
  100. res.setData(permissionService.selectAllById(id));
  101. return res;
  102. }
  103. /**上级权限自动补全查询**/
  104. @RequestMapping(value = "/selectName" , method = RequestMethod.POST)
  105. public Result selectName(String name){
  106. Result res = new Result();
  107. res.setData(permissionService.selectName(name));
  108. return res;
  109. }
  110. /**修改信息**/
  111. @RequestMapping(value = "/updateById" , method = RequestMethod.POST)
  112. public Result updateById(Permission record ){
  113. Result res = new Result();
  114. if(StringUtils.isBlank(record.getName())|| StringUtils.isBlank(record.getUrl())
  115. || StringUtils.isBlank(record.getSuperId())){
  116. res.getError().add(buildError("","名称、路径、上级不能为空"));
  117. return res;
  118. }
  119. String pname=permissionMapper.selectAutNoByNamei(record.getSuperId());
  120. if(StringUtils.isBlank(pname)){
  121. res.getError().add(buildError("","上级权限不匹配"));
  122. return res;
  123. }
  124. String supaut=permissionMapper.selectAutNoByNamei(record.getSuperId());
  125. if(supaut.length()>=7){
  126. res.getError().add(buildError("","权限层级超限"));
  127. return res;
  128. }
  129. int subordinate=permissionMapper.selectCountBySuperId(record.getId());
  130. if(subordinate>0){
  131. String autNo=permissionMapper.selectAutNoByNamei(record.getSuperId());
  132. if(autNo.length()>=5){
  133. res.getError().add(buildError("","权限层级超限"));
  134. return res;
  135. }
  136. }
  137. res.setData(permissionService.updateById(record));
  138. return res;
  139. }
  140. /**
  141. * 查询导航
  142. * @param navId 导航
  143. * @return
  144. */
  145. @RequestMapping(value = "/selectNavList",method=RequestMethod.GET)
  146. public Result selectNavList(){
  147. Result res = new Result();
  148. if(TokenManager.hasRole(AFTConstants.SUPERADMIN))
  149. res.setData(permissionService.selectNavList(null));
  150. else
  151. res.setData(permissionService.selectNavList(TokenManager.getAdminId()));
  152. return res;
  153. }
  154. /**
  155. * 查询菜单
  156. * @param navId
  157. * @return
  158. */
  159. @RequestMapping(value = "/selectMenuList",method=RequestMethod.GET)
  160. public Result selectMenuList(String navId){
  161. Result res = new Result();
  162. if(StringUtils.isBlank(navId)){
  163. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"导航栏编号"));
  164. return res;
  165. }
  166. res.setData(permissionService.selectMenuList(navId));
  167. return res;
  168. }
  169. }