NewRoleApiController.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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. }
  58. res.setData(newRoleService.insert(records, permisionIds));
  59. } else {
  60. res.getError().add(buildError("", "参数格式不正确"));
  61. }
  62. return res;
  63. }
  64. @RequestMapping(value = "/role/delete", method = RequestMethod.POST)
  65. public Result deleteRole(String data) {
  66. Result res = new Result();
  67. JSONArray ja = (JSONArray) JSON.parse(data);
  68. if (ja != null && !ja.isEmpty()) {
  69. List<String> records = new ArrayList<>();
  70. for (int idx = 0; idx < ja.size(); idx++) {
  71. String rid = ja.getString(idx);
  72. if (rid != "1") {
  73. records.add(rid);
  74. }
  75. }
  76. int zz=roleMapper.selectCountByRoleId(records);
  77. if(zz>0){
  78. res.getError().add(buildError("","角色被分配不能删除"));
  79. return res;
  80. }
  81. res.setData(newRoleService.deleteByPrimaryKeys(records));
  82. } else {
  83. res.getError().add(buildError("", "参数格式不正确"));
  84. }
  85. return res;
  86. }
  87. @RequestMapping(value = "/role/bindpermission", method = RequestMethod.POST)
  88. public Result bindPermission(String rid, String pid) {
  89. Result res = new Result();
  90. res.setData(newRoleService.bindPermission(rid, pid));
  91. return res;
  92. }
  93. @RequestMapping(value = "/role/binduser", method = RequestMethod.POST)
  94. public Result bindUser(String rid, String uid) {
  95. Result res = new Result();
  96. res.setData(newRoleService.bindUser(rid, uid));
  97. return res;
  98. }
  99. @RequestMapping(value = "/role/unbindpermission", method = RequestMethod.POST)
  100. public Result unbindPermission(String rid, String pid) {
  101. Result res = new Result();
  102. res.setData(newRoleService.bindPermission(rid, pid));
  103. return res;
  104. }
  105. @RequestMapping(value = "/role/unbinduser", method = RequestMethod.POST)
  106. public Result unbindUser(String rid, String uid) {
  107. Result res = new Result();
  108. res.setData(newRoleService.bindUser(rid, uid));
  109. return res;
  110. }
  111. }