NewPermissionApiController.java 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  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.ErrorConstants;
  9. import com.goafanti.common.controller.BaseApiController;
  10. import com.goafanti.common.dao.PermissionMapper;
  11. import com.goafanti.common.model.Permission;
  12. import com.goafanti.common.utils.StringUtils;
  13. import com.goafanti.permission.service.PermissionService;
  14. @RestController
  15. @RequestMapping("api/admin")
  16. public class NewPermissionApiController extends BaseApiController {
  17. @Resource
  18. private PermissionService permissionService;
  19. @Autowired
  20. PermissionMapper permissionMapper;
  21. /**权限管理列表 **/
  22. @RequestMapping(value = "/permissions", method = RequestMethod.POST)
  23. public Result permissions() {
  24. Result res = new Result();
  25. res.setData(permissionService.findPermissionsAll());
  26. return res;
  27. }
  28. /**权限管理最上级新增 **/
  29. @RequestMapping(value = "/addSupPermission" , method = RequestMethod.POST)
  30. public Result addSupPermission(Permission record ){
  31. Result res = new Result();
  32. if(StringUtils.isBlank(record.getName())){
  33. res.getError().add(buildError("","权限名不能为空"));
  34. return res;
  35. }
  36. String aut=permissionMapper.selectAutNoByNamei(record.getName());
  37. if(aut!=null){
  38. res.getError().add(buildError("","权限已存在"));
  39. return res;
  40. }
  41. res.setData(permissionService.insertn(record));
  42. return res;
  43. }
  44. /**新增上级名称自动生成 **/
  45. @RequestMapping(value = "/selectSuperIdById" , method = RequestMethod.POST)
  46. public Permission selectSuperIdById(String id ){
  47. return permissionService.selectSuperIdById(id);
  48. }
  49. /**权限管理新增 **/
  50. @RequestMapping(value = "/addPermission" , method = RequestMethod.POST)
  51. public Result addPermission(Permission record ){
  52. Result res = new Result();
  53. if(StringUtils.isBlank(record.getName())|| StringUtils.isBlank(record.getUrl())
  54. || StringUtils.isBlank(record.getSuperId())){
  55. res.getError().add(buildError("","名称、路径、上级不能为空"));
  56. return res;
  57. }
  58. String auts=permissionMapper.selectAutNoByNamei(record.getName());
  59. if(auts!=null){
  60. res.getError().add(buildError("","权限已存在"));
  61. return res;
  62. }
  63. String supaut=permissionMapper.selectAutNoByName(permissionMapper.selectIdByName(record.getSuperId()));
  64. if(supaut.length()>=7){
  65. res.getError().add(buildError("","权限层级超限"));
  66. return res;
  67. }
  68. //*********权限编号判断**************
  69. record.setSuperId(permissionMapper.selectIdByName(record.getSuperId()));
  70. String autNo=permissionMapper.selectAutNoByName(record.getSuperId());
  71. int Count=permissionMapper.selectAutNoCount(record.getSuperId());
  72. if((Count+1)>99){
  73. res.getError().add(buildError("","每层最多存在99个子类"));
  74. return res;
  75. }
  76. if(Count<10){
  77. String aut=autNo+"0"+Count;
  78. String sid=permissionMapper.selectIdByAutNo(aut);
  79. while(sid!=null){
  80. Count=(Count+1)%100;
  81. if(Count>=10){
  82. aut=autNo+Count;
  83. }else{
  84. aut=autNo+"0"+Count;
  85. }
  86. sid=permissionMapper.selectIdByAutNo(aut);
  87. }
  88. record.setAutNo(aut);
  89. }
  90. if(Count>=10){
  91. String aut=autNo+Count;
  92. String sid=permissionMapper.selectIdByAutNo(aut);
  93. while(sid!=null){
  94. Count=(Count+1)%100;
  95. aut=autNo+Count;
  96. sid=permissionMapper.selectIdByAutNo(aut);
  97. }
  98. record.setAutNo(aut);
  99. }
  100. res.setData(permissionService.insertSubordinate(record));
  101. return res;
  102. }
  103. /**删除列表信息**/
  104. @RequestMapping(value = "/deleteById" , method = RequestMethod.POST)
  105. public Result deleteById(String id){
  106. Result res = new Result();
  107. if(StringUtils.isBlank(id)){
  108. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "id"));
  109. return res;
  110. }
  111. int subordinate=permissionMapper.selectCountBySuperId(id);
  112. if(subordinate>0){
  113. res.getError().add(buildError("","存在下级权限不能删除"));
  114. return res;
  115. }
  116. int role_permission=permissionMapper.selectCountByid(id);
  117. if(role_permission>0){
  118. res.getError().add(buildError("","权限被分配不能删除"));
  119. return res;
  120. }
  121. res.setData(permissionService.deleteById(id));
  122. return res;
  123. }
  124. /**编辑页面数据读取**/
  125. @RequestMapping(value = "/selectAllById" , method = RequestMethod.POST)
  126. public Result selectAllById(String id){
  127. Result res = new Result();
  128. res.setData(permissionService.selectAllById(id));
  129. return res;
  130. }
  131. /**上级权限自动补全查询**/
  132. @RequestMapping(value = "/selectName" , method = RequestMethod.POST)
  133. public Result selectName(String name){
  134. Result res = new Result();
  135. res.setData(permissionService.selectName(name));
  136. return res;
  137. }
  138. /**修改信息**/
  139. @RequestMapping(value = "/updateById" , method = RequestMethod.POST)
  140. public Result updateById(Permission record ){
  141. Result res = new Result();
  142. if(StringUtils.isBlank(record.getName())|| StringUtils.isBlank(record.getUrl())
  143. || StringUtils.isBlank(record.getSuperId())){
  144. res.getError().add(buildError("","名称、路径、上级不能为空"));
  145. return res;
  146. }
  147. String pname=permissionMapper.selectAutNoByNamei(record.getSuperId());
  148. if(StringUtils.isBlank(pname)){
  149. res.getError().add(buildError("","上级权限不匹配"));
  150. return res;
  151. }
  152. String supaut=permissionMapper.selectAutNoByNamei(record.getSuperId());
  153. if(supaut.length()>=7){
  154. res.getError().add(buildError("","权限层级超限"));
  155. return res;
  156. }
  157. int subordinate=permissionMapper.selectCountBySuperId(record.getId());
  158. if(subordinate>0){
  159. String autNo=permissionMapper.selectAutNoByNamei(record.getSuperId());
  160. if(autNo.length()>=5){
  161. res.getError().add(buildError("","权限层级超限"));
  162. return res;
  163. }
  164. }
  165. //*********权限编号判断**************
  166. String superName=record.getSuperId();//上级名称
  167. record.setSuperId(permissionMapper.selectIdByName(record.getSuperId()));
  168. String autNo=permissionMapper.selectAutNoByName(record.getSuperId());
  169. int Count=permissionMapper.selectAutNoCount(record.getSuperId());
  170. if((Count+1)>99){
  171. res.getError().add(buildError("","每层最多存在99个子类"));
  172. return res;
  173. }
  174. if(Count<10){
  175. String aut=autNo+"0"+Count;
  176. String sid=permissionMapper.selectIdByAutNo(aut);
  177. while(sid!=null){
  178. Count=(Count+1)%100;
  179. if(Count>=10){
  180. aut=autNo+Count;
  181. }else{
  182. aut=autNo+"0"+Count;
  183. }
  184. sid=permissionMapper.selectIdByAutNo(aut);
  185. }
  186. record.setAutNo(aut);
  187. }
  188. if(Count>=10){
  189. String aut=autNo+Count;
  190. String sid=permissionMapper.selectIdByAutNo(aut);
  191. while(sid!=null){
  192. Count=(Count+1)%100;
  193. aut=autNo+Count;
  194. sid=permissionMapper.selectIdByAutNo(aut);
  195. }
  196. record.setAutNo(aut);
  197. }
  198. res.setData(permissionService.updateById(record,superName));
  199. return res;
  200. }
  201. /**
  202. * 查询导航
  203. * @param navId 导航
  204. * @return
  205. */
  206. @RequestMapping(value = "/selectNavList",method=RequestMethod.GET)
  207. public Result selectNavList(){
  208. Result res = new Result();
  209. res.setData(permissionService.selectNavList());
  210. return res;
  211. }
  212. /**
  213. * 查询菜单
  214. * @param navId
  215. * @return
  216. */
  217. @RequestMapping(value = "/selectMenuList",method=RequestMethod.GET)
  218. public Result selectMenuList(String navId){
  219. Result res = new Result();
  220. if(StringUtils.isBlank(navId)){
  221. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"导航栏编号"));
  222. return res;
  223. }
  224. res.setData(permissionService.selectMenuList(navId));
  225. return res;
  226. }
  227. }