RoleApiController.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.bind.annotation.RequestMethod;
  7. import org.springframework.web.bind.annotation.RestController;
  8. import com.alibaba.fastjson.JSON;
  9. import com.alibaba.fastjson.JSONArray;
  10. import com.alibaba.fastjson.JSONObject;
  11. import com.goafanti.common.bo.Result;
  12. import com.goafanti.common.controller.BaseApiController;
  13. import com.goafanti.common.model.Role;
  14. import com.goafanti.permission.service.RoleService;
  15. @RestController
  16. public class RoleApiController extends BaseApiController {
  17. @Resource
  18. private RoleService roleService;
  19. @RequestMapping(value = "/roles", method = RequestMethod.GET)
  20. public Result roles() {
  21. Result res = new Result();
  22. res.setData(roleService.findRoles());
  23. return res;
  24. }
  25. @RequestMapping(value = "/role", method = RequestMethod.POST)
  26. public Result insertRole(String data) {
  27. Result res = new Result();
  28. JSONObject jo = (JSONObject) JSON.parse(data);
  29. if (jo != null) {
  30. JSONArray permissions = jo.getJSONArray("permissions");
  31. List<String> permisionIds = new ArrayList<>();
  32. for (int idx = 0; idx < permissions.size(); idx++) {
  33. String pid = permissions.getString(idx);
  34. permisionIds.add(pid);
  35. }
  36. Role records = jo.toJavaObject(Role.class);
  37. res.setData(roleService.insert(records, permisionIds));
  38. } else {
  39. res.getError().add(buildError("", "参数格式不正确"));
  40. }
  41. return res;
  42. }
  43. @RequestMapping(value = "/role/delete", method = RequestMethod.POST)
  44. public Result deleteRole(String data) {
  45. Result res = new Result();
  46. JSONArray ja = (JSONArray) JSON.parse(data);
  47. if (ja != null && !ja.isEmpty()) {
  48. List<String> records = new ArrayList<>();
  49. for (int idx = 0; idx < ja.size(); idx++) {
  50. String rid = ja.getString(idx);
  51. if (rid != "1") {
  52. records.add(rid);
  53. }
  54. }
  55. res.setData(roleService.deleteByPrimaryKeys(records));
  56. } else {
  57. res.getError().add(buildError("", "参数格式不正确"));
  58. }
  59. return res;
  60. }
  61. @RequestMapping(value = "/role/bindpermission", method = RequestMethod.POST)
  62. public Result bindPermission(String rid, String pid) {
  63. Result res = new Result();
  64. res.setData(roleService.bindPermission(rid, pid));
  65. return res;
  66. }
  67. @RequestMapping(value = "/role/binduser", method = RequestMethod.POST)
  68. public Result bindUser(String rid, String uid) {
  69. Result res = new Result();
  70. res.setData(roleService.bindUser(rid, uid));
  71. return res;
  72. }
  73. @RequestMapping(value = "/role/unbindpermission", method = RequestMethod.POST)
  74. public Result unbindPermission(String rid, String pid) {
  75. Result res = new Result();
  76. res.setData(roleService.bindPermission(rid, pid));
  77. return res;
  78. }
  79. @RequestMapping(value = "/role/unbinduser", method = RequestMethod.POST)
  80. public Result unbindUser(String rid, String uid) {
  81. Result res = new Result();
  82. res.setData(roleService.bindUser(rid, uid));
  83. return res;
  84. }
  85. }