NewRoleApiController.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. package com.goafanti.permission.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.goafanti.common.bo.Result;
  6. import com.goafanti.common.controller.BaseApiController;
  7. import com.goafanti.common.dao.RoleMapper;
  8. import com.goafanti.common.model.Role;
  9. import com.goafanti.common.utils.StringUtils;
  10. import com.goafanti.permission.bo.RoleBo;
  11. import com.goafanti.permission.service.NewRoleService;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14. import org.springframework.web.bind.annotation.RequestMethod;
  15. import org.springframework.web.bind.annotation.RestController;
  16. import javax.annotation.Resource;
  17. import java.util.ArrayList;
  18. import java.util.List;
  19. @RestController
  20. @RequestMapping("/api/admin")
  21. public class NewRoleApiController extends BaseApiController{
  22. @Resource
  23. private NewRoleService newRoleService;
  24. @Autowired
  25. RoleMapper roleMapper;
  26. @RequestMapping(value = "/roles", method = RequestMethod.POST)
  27. public Result roles(RoleBo role, Integer pageNo,
  28. Integer pageSize) {
  29. Result res = new Result();
  30. res.setData(newRoleService.findRoles(role,pageNo,pageSize));
  31. return res;
  32. }
  33. @RequestMapping(value = "/role/rolePermission", method = RequestMethod.POST)
  34. public Result rolePermission(String id){
  35. Result res = new Result();
  36. res.setData(newRoleService.selectRolePList(id));
  37. return res;
  38. }
  39. @RequestMapping(value = "/role", method = RequestMethod.POST)
  40. public Result insertRole(String data) {
  41. Result res = new Result();
  42. JSONObject jo = (JSONObject) JSON.parse(data);
  43. if (jo != null) {
  44. JSONArray permissions = jo.getJSONArray("permissions");
  45. List<String> permisionIds = new ArrayList<>();
  46. for (int idx = 0; idx < permissions.size(); idx++) {
  47. String pid = permissions.getString(idx);
  48. if(pid!=null)permisionIds.add(pid);
  49. }
  50. Role records = jo.toJavaObject(Role.class);
  51. String newName=roleMapper.selectNameById(records.getId());
  52. if(newName==null){
  53. String newid=roleMapper.selectIdByName(records.getRoleName());
  54. if(newid!=null){
  55. res.getError().add(buildError("","角色已存在"));
  56. return res;
  57. }
  58. }else{
  59. String newid=roleMapper.selectIdByNamei(records);
  60. if(newid!=null){
  61. res.getError().add(buildError("","角色已存在,请更换名称"));
  62. return res;
  63. }
  64. }
  65. res.setData(newRoleService.insert(records, permisionIds));
  66. } else {
  67. res.getError().add(buildError("", "参数格式不正确"));
  68. }
  69. return res;
  70. }
  71. @RequestMapping(value = "/role/delete", method = RequestMethod.POST)
  72. public Result deleteRole(String data) {
  73. Result res = new Result();
  74. JSONArray ja = (JSONArray) JSON.parse(data);
  75. if (ja != null && !ja.isEmpty()) {
  76. List<String> records = new ArrayList<>();
  77. for (int idx = 0; idx < ja.size(); idx++) {
  78. String rid = ja.getString(idx);
  79. if (rid != "1") {
  80. records.add(rid);
  81. }
  82. }
  83. int zz=roleMapper.selectCountByRoleId(records);
  84. if(zz>0){
  85. res.getError().add(buildError("","角色被分配不能删除"));
  86. return res;
  87. }
  88. res.setData(newRoleService.deleteByPrimaryKeys(records));
  89. } else {
  90. res.getError().add(buildError("", "参数格式不正确"));
  91. }
  92. return res;
  93. }
  94. @RequestMapping(value = "/role/bindpermission", method = RequestMethod.POST)
  95. public Result bindPermission(String rid, String pid) {
  96. Result res = new Result();
  97. res.setData(newRoleService.bindPermission(rid, pid));
  98. return res;
  99. }
  100. @RequestMapping(value = "/role/binduser", method = RequestMethod.POST)
  101. public Result bindUser(String rid, String uid) {
  102. Result res = new Result();
  103. res.setData(newRoleService.bindUser(rid, uid));
  104. return res;
  105. }
  106. @RequestMapping(value = "/role/unbindpermission", method = RequestMethod.POST)
  107. public Result unbindPermission(String rid, String pid) {
  108. Result res = new Result();
  109. res.setData(newRoleService.bindPermission(rid, pid));
  110. return res;
  111. }
  112. @RequestMapping(value = "/role/unbinduser", method = RequestMethod.POST)
  113. public Result unbindUser(String rid, String uid) {
  114. Result res = new Result();
  115. res.setData(newRoleService.bindUser(rid, uid));
  116. return res;
  117. }
  118. /**
  119. * 新增角色资源
  120. * @param rid 角色ID
  121. * @param resources 资源
  122. * @return
  123. */
  124. @RequestMapping(value = "/role/addResources", method = RequestMethod.POST)
  125. public Result addResources(String rid, String resources) {
  126. Result res = new Result();
  127. if (StringUtils.isBlank(rid)) {
  128. res.getError().add(buildError("","角色错误"));
  129. return res;
  130. }
  131. if (StringUtils.isBlank(resources)) {
  132. res.getError().add(buildError("","角色资源不能为空"));
  133. return res;
  134. }
  135. res.setData(newRoleService.addResources(rid, resources));
  136. return res;
  137. }
  138. /**
  139. * 角色资源详情
  140. * @param rid 角色ID
  141. * @return
  142. */
  143. @RequestMapping(value = "/role/ResourcesDetail", method = RequestMethod.POST)
  144. public Result ResourcesDetail(String rid) {
  145. Result res = new Result();
  146. if (StringUtils.isBlank(rid)) {
  147. res.getError().add(buildError("","角色错误"));
  148. return res;
  149. }
  150. res.setData(newRoleService.ResourcesDetail(rid));
  151. return res;
  152. }
  153. /**
  154. * 离职转交 离职一键转交
  155. * @param aid 离职ID
  156. * @param transferId 转交ID
  157. * @return
  158. */
  159. @RequestMapping(value = "/role/dimission", method = RequestMethod.POST)
  160. public Result dimission(String aid ,String transferId) {
  161. Result res = new Result();
  162. if (StringUtils.isBlank(aid)) {
  163. res.getError().add(buildError("","角色错误"));
  164. return res;
  165. }
  166. if (StringUtils.isBlank(transferId)) {
  167. res.getError().add(buildError("","转移角色错误"));
  168. return res;
  169. }
  170. res.setData(newRoleService.updateDimission(aid,transferId));
  171. return res;
  172. }
  173. }