NewRoleApiController.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package com.goafanti.permission.controller;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import javax.annotation.Resource;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7. import org.springframework.web.bind.annotation.RequestMethod;
  8. import org.springframework.web.bind.annotation.RestController;
  9. import com.alibaba.fastjson.JSON;
  10. import com.alibaba.fastjson.JSONArray;
  11. import com.alibaba.fastjson.JSONObject;
  12. import com.goafanti.common.bo.Result;
  13. import com.goafanti.common.controller.BaseApiController;
  14. import com.goafanti.common.dao.RoleMapper;
  15. import com.goafanti.common.model.Role;
  16. import com.goafanti.permission.bo.RoleBo;
  17. import com.goafanti.permission.service.NewRoleService;
  18. @RestController
  19. @RequestMapping("api/admin")
  20. public class NewRoleApiController extends BaseApiController{
  21. @Resource
  22. private NewRoleService newRoleService;
  23. @Autowired
  24. RoleMapper roleMapper;
  25. @RequestMapping(value = "/roles", method = RequestMethod.POST)
  26. public Result roles(RoleBo role, Integer pageNo,
  27. Integer pageSize) {
  28. Result res = new Result();
  29. res.setData(newRoleService.findRoles(role,pageNo,pageSize));
  30. return res;
  31. }
  32. @RequestMapping(value = "/role/rolePermission", method = RequestMethod.POST)
  33. public Result rolePermission(String id){
  34. Result res = new Result();
  35. res.setData(newRoleService.selectRolePList(id));
  36. return res;
  37. }
  38. @RequestMapping(value = "/role", method = RequestMethod.POST)
  39. public Result insertRole(String data) {
  40. Result res = new Result();
  41. JSONObject jo = (JSONObject) JSON.parse(data);
  42. if (jo != null) {
  43. JSONArray permissions = jo.getJSONArray("permissions");
  44. List<String> permisionIds = new ArrayList<>();
  45. for (int idx = 0; idx < permissions.size(); idx++) {
  46. String pid = permissions.getString(idx);
  47. permisionIds.add(pid);
  48. }
  49. Role records = jo.toJavaObject(Role.class);
  50. String newName=roleMapper.selectNameById(records.getId());
  51. if(newName==null){
  52. String newid=roleMapper.selectIdByName(records.getRoleName());
  53. if(newid!=null){
  54. res.getError().add(buildError("","角色已存在"));
  55. return res;
  56. }
  57. }else{
  58. String newid=roleMapper.selectIdByNamei(records);
  59. if(newid!=null){
  60. res.getError().add(buildError("","角色已存在,请更换名称"));
  61. return res;
  62. }
  63. }
  64. res.setData(newRoleService.insert(records, permisionIds));
  65. } else {
  66. res.getError().add(buildError("", "参数格式不正确"));
  67. }
  68. return res;
  69. }
  70. @RequestMapping(value = "/role/delete", method = RequestMethod.POST)
  71. public Result deleteRole(String data) {
  72. Result res = new Result();
  73. JSONArray ja = (JSONArray) JSON.parse(data);
  74. if (ja != null && !ja.isEmpty()) {
  75. List<String> records = new ArrayList<>();
  76. for (int idx = 0; idx < ja.size(); idx++) {
  77. String rid = ja.getString(idx);
  78. if (rid != "1") {
  79. records.add(rid);
  80. }
  81. }
  82. int zz=roleMapper.selectCountByRoleId(records);
  83. if(zz>0){
  84. res.getError().add(buildError("","角色被分配不能删除"));
  85. return res;
  86. }
  87. res.setData(newRoleService.deleteByPrimaryKeys(records));
  88. } else {
  89. res.getError().add(buildError("", "参数格式不正确"));
  90. }
  91. return res;
  92. }
  93. @RequestMapping(value = "/role/bindpermission", method = RequestMethod.POST)
  94. public Result bindPermission(String rid, String pid) {
  95. Result res = new Result();
  96. res.setData(newRoleService.bindPermission(rid, pid));
  97. return res;
  98. }
  99. @RequestMapping(value = "/role/binduser", method = RequestMethod.POST)
  100. public Result bindUser(String rid, String uid) {
  101. Result res = new Result();
  102. res.setData(newRoleService.bindUser(rid, uid));
  103. return res;
  104. }
  105. @RequestMapping(value = "/role/unbindpermission", method = RequestMethod.POST)
  106. public Result unbindPermission(String rid, String pid) {
  107. Result res = new Result();
  108. res.setData(newRoleService.bindPermission(rid, pid));
  109. return res;
  110. }
  111. @RequestMapping(value = "/role/unbinduser", method = RequestMethod.POST)
  112. public Result unbindUser(String rid, String uid) {
  113. Result res = new Result();
  114. res.setData(newRoleService.bindUser(rid, uid));
  115. return res;
  116. }
  117. }