| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- package com.goafanti.permission.controller;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import com.goafanti.common.bo.Result;
- import com.goafanti.common.controller.BaseApiController;
- import com.goafanti.common.dao.RoleMapper;
- import com.goafanti.common.model.Role;
- import com.goafanti.common.utils.StringUtils;
- import com.goafanti.permission.bo.RoleBo;
- import com.goafanti.permission.service.NewRoleService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import javax.annotation.Resource;
- import java.util.ArrayList;
- import java.util.List;
- @RestController
- @RequestMapping("/api/admin")
- public class NewRoleApiController extends BaseApiController{
- @Resource
- private NewRoleService newRoleService;
- @Autowired
- RoleMapper roleMapper;
- @RequestMapping(value = "/roles", method = RequestMethod.POST)
- public Result roles(RoleBo role, Integer pageNo,
- Integer pageSize) {
- Result res = new Result();
- res.setData(newRoleService.findRoles(role,pageNo,pageSize));
- return res;
- }
- @RequestMapping(value = "/role/rolePermission", method = RequestMethod.POST)
- public Result rolePermission(String id){
- Result res = new Result();
- res.setData(newRoleService.selectRolePList(id));
- return res;
- }
- @RequestMapping(value = "/role", method = RequestMethod.POST)
- public Result insertRole(String data) {
- Result res = new Result();
- JSONObject jo = (JSONObject) JSON.parse(data);
- if (jo != null) {
- JSONArray permissions = jo.getJSONArray("permissions");
- List<String> permisionIds = new ArrayList<>();
- for (int idx = 0; idx < permissions.size(); idx++) {
- String pid = permissions.getString(idx);
- if(pid!=null)permisionIds.add(pid);
- }
- Role records = jo.toJavaObject(Role.class);
- String newName=roleMapper.selectNameById(records.getId());
- if(newName==null){
- String newid=roleMapper.selectIdByName(records.getRoleName());
- if(newid!=null){
- res.getError().add(buildError("","角色已存在"));
- return res;
- }
- }else{
- String newid=roleMapper.selectIdByNamei(records);
- if(newid!=null){
- res.getError().add(buildError("","角色已存在,请更换名称"));
- return res;
- }
- }
- res.setData(newRoleService.insert(records, permisionIds));
- } else {
- res.getError().add(buildError("", "参数格式不正确"));
- }
- return res;
- }
- @RequestMapping(value = "/role/delete", method = RequestMethod.POST)
- public Result deleteRole(String data) {
- Result res = new Result();
- JSONArray ja = (JSONArray) JSON.parse(data);
- if (ja != null && !ja.isEmpty()) {
- List<String> records = new ArrayList<>();
- for (int idx = 0; idx < ja.size(); idx++) {
- String rid = ja.getString(idx);
- if (rid != "1") {
- records.add(rid);
- }
- }
- int zz=roleMapper.selectCountByRoleId(records);
- if(zz>0){
- res.getError().add(buildError("","角色被分配不能删除"));
- return res;
- }
- res.setData(newRoleService.deleteByPrimaryKeys(records));
- } else {
- res.getError().add(buildError("", "参数格式不正确"));
- }
- return res;
- }
- @RequestMapping(value = "/role/bindpermission", method = RequestMethod.POST)
- public Result bindPermission(String rid, String pid) {
- Result res = new Result();
- res.setData(newRoleService.bindPermission(rid, pid));
- return res;
- }
- @RequestMapping(value = "/role/binduser", method = RequestMethod.POST)
- public Result bindUser(String rid, String uid) {
- Result res = new Result();
- res.setData(newRoleService.bindUser(rid, uid));
- return res;
- }
- @RequestMapping(value = "/role/unbindpermission", method = RequestMethod.POST)
- public Result unbindPermission(String rid, String pid) {
- Result res = new Result();
- res.setData(newRoleService.bindPermission(rid, pid));
- return res;
- }
- @RequestMapping(value = "/role/unbinduser", method = RequestMethod.POST)
- public Result unbindUser(String rid, String uid) {
- Result res = new Result();
- res.setData(newRoleService.bindUser(rid, uid));
- return res;
- }
- /**
- * 新增角色资源
- * @param rid 角色ID
- * @param resources 资源
- * @return
- */
- @RequestMapping(value = "/role/addResources", method = RequestMethod.POST)
- public Result addResources(String rid, String resources) {
- Result res = new Result();
- if (StringUtils.isBlank(rid)) {
- res.getError().add(buildError("","角色错误"));
- return res;
- }
- if (StringUtils.isBlank(resources)) {
- res.getError().add(buildError("","角色资源不能为空"));
- return res;
- }
- res.setData(newRoleService.addResources(rid, resources));
- return res;
- }
- /**
- * 角色资源详情
- * @param rid 角色ID
- * @return
- */
- @RequestMapping(value = "/role/ResourcesDetail", method = RequestMethod.POST)
- public Result ResourcesDetail(String rid) {
- Result res = new Result();
- if (StringUtils.isBlank(rid)) {
- res.getError().add(buildError("","角色错误"));
- return res;
- }
- res.setData(newRoleService.ResourcesDetail(rid));
- return res;
- }
- /**
- * 离职转交 离职一键转交
- * @param aid 离职ID
- * @param transferId 转交ID
- * @return
- */
- @RequestMapping(value = "/role/dimission", method = RequestMethod.POST)
- public Result dimission(String aid ,String transferId) {
- Result res = new Result();
- if (StringUtils.isBlank(aid)) {
- res.getError().add(buildError("","角色错误"));
- return res;
- }
- if (StringUtils.isBlank(transferId)) {
- res.getError().add(buildError("","转移角色错误"));
- return res;
- }
- res.setData(newRoleService.updateDimission(aid,transferId));
- return res;
- }
- }
|