Commit e65f3e37 authored by 黎博's avatar 黎博

修改角色编辑、角色删除将可靠

parent f5ee7fcf
...@@ -56,29 +56,19 @@ public class RoleController { ...@@ -56,29 +56,19 @@ public class RoleController {
List<String> usernameList = new ArrayList<>(); List<String> usernameList = new ArrayList<>();
List<String> permissionNameList = new ArrayList<>(); List<String> permissionNameList = new ArrayList<>();
for (UserRole userRole: userRoleList) { for (UserRole userRole: userRoleList) {
QueryWrapper<User> userQueryWrapper = new QueryWrapper<>(); User user = userService.getById(userRole.getUserId());
userQueryWrapper.eq("id", userRole.getUserId());
List<User> userList = userService.list(userQueryWrapper);
for (User user: userList) {
usernameList.add(user.getUsername()); usernameList.add(user.getUsername());
} }
userQueryWrapper.clear();
}
for (RolePermission rolePermission: rolePermissionList) { for (RolePermission rolePermission: rolePermissionList) {
QueryWrapper<Permission> permissionQueryWrapper = new QueryWrapper<>(); Permission permission = permissionService.getById(rolePermission.getPermissionId());
permissionQueryWrapper.eq("id", rolePermission.getPermissionId());
List<Permission> permissionList = permissionService.list(permissionQueryWrapper);
for (Permission permission: permissionList) {
permissionNameList.add(permission.getPermissionName()); permissionNameList.add(permission.getPermissionName());
} }
permissionQueryWrapper.clear();
}
userRoleQueryWrapper.clear(); userRoleQueryWrapper.clear();
rolePermissionQueryWrapper.clear(); rolePermissionQueryWrapper.clear();
roleInfoMap.put("roleId", role.getId()); roleInfoMap.put("roleId", role.getId());
roleInfoMap.put("roleName", role.getRoleName()); roleInfoMap.put("roleName", role.getRoleName());
roleInfoMap.put("usernameList", usernameList); roleInfoMap.put("usernameList", usernameList);
roleInfoMap.put("permissionList", permissionNameList); roleInfoMap.put("permissionNameList", permissionNameList);
roleTotalInfoList.add(roleInfoMap); roleTotalInfoList.add(roleInfoMap);
} }
map.put("total", page.getTotal()); map.put("total", page.getTotal());
...@@ -86,33 +76,4 @@ public class RoleController { ...@@ -86,33 +76,4 @@ public class RoleController {
return JsonResult.buildSuccessResult(map); return JsonResult.buildSuccessResult(map);
} }
/**
* 新增角色
* @param role 角色实体
* @return
*/
@PostMapping("/add")
public JsonResult addRole(@RequestBody Role role) {
return JsonResult.buildSuccessResult(roleService.save(role));
}
/**
* 编辑角色
* @param role 角色实体
* @return
*/
@PostMapping("/edit")
public JsonResult editRole(@RequestBody Role role) {
return JsonResult.buildSuccessResult(roleService.saveOrUpdate(role));
}
/**
* 删除角色
* @param roleId 角色id
* @return
*/
@PostMapping("/del")
public JsonResult delRole(Integer roleId) {
return JsonResult.buildSuccessResult(roleService.removeById(roleId));
}
} }
...@@ -7,6 +7,7 @@ import cn.qg.holmes.entity.auth.RolePermissionVo; ...@@ -7,6 +7,7 @@ import cn.qg.holmes.entity.auth.RolePermissionVo;
import cn.qg.holmes.service.auth.RolePermissionService; import cn.qg.holmes.service.auth.RolePermissionService;
import cn.qg.holmes.service.auth.RoleService; import cn.qg.holmes.service.auth.RoleService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.R;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -61,40 +62,72 @@ public class RolePermissionController { ...@@ -61,40 +62,72 @@ public class RolePermissionController {
* @return * @return
*/ */
@PostMapping("/edit") @PostMapping("/edit")
public JsonResult editRolePermission(RolePermissionVo rolePermissionVo) { public JsonResult editRolePermission(@RequestBody RolePermissionVo rolePermissionVo) {
// Integer roleId = rolePermissionVo.getRoleId(); Integer roleId = rolePermissionVo.getRoleId();
// List<Integer> permissionIdList = rolePermissionVo.getPermissionIdList(); String roleName = rolePermissionVo.getRoleName();
// QueryWrapper<RolePermission> rolePermissionQueryWrapper = new QueryWrapper<>(); Role role = new Role();
// rolePermissionQueryWrapper.eq("role_id", roleId); role.setId(roleId);
// List<RolePermission> rolePermissionListDb = rolePermissionService.list(rolePermissionQueryWrapper); role.setRoleName(roleName);
// for (RolePermission rolePermissionDb: rolePermissionListDb) { boolean editRoleResult = roleService.saveOrUpdate(role);
// boolean flag = false; if (!editRoleResult) {
// for (Integer permissionId: permissionIdList) { return JsonResult.buildErrorStateResult("修改角色失败!", false);
// rolePermissionQueryWrapper.eq("permission_id", permissionId); }
// RolePermission rolePermission = rolePermissionService.getOne(rolePermissionQueryWrapper); try {
// if (rolePermission == null) { QueryWrapper<RolePermission> rolePermissionQueryWrapper = new QueryWrapper<>();
// rolePermissionQueryWrapper.eq("role_id", roleId);
// } // 先查出数据库里有哪些
// if (rolePermission != null && rolePermission.getId().equals(rolePermissionDb.getPermissionId())) { List<RolePermission> rolePermissionListInDB = rolePermissionService.list(rolePermissionQueryWrapper);
// flag = true; List<Integer> permissionIdList = rolePermissionVo.getPermissionIdList();
// break; // 循环删除需要删除的
// } for (RolePermission rolePermission: rolePermissionListInDB) {
// } if (!permissionIdList.contains(rolePermission.getPermissionId())) {
// if (!flag) { rolePermissionService.removeById(rolePermission.getId());
// rolePermissionService.removeById(rolePermissionDb.getId()); }
// } }
// } rolePermissionQueryWrapper.clear();
// return JsonResult.buildSuccessResult(rolePermissionService.saveOrUpdateBatch(rolePermissionList)); // 然后处理需要新增或修改的
return null; for (Integer permissionId: permissionIdList) {
rolePermissionQueryWrapper.eq("role_id", roleId);
rolePermissionQueryWrapper.eq("permission_id", permissionId);
RolePermission rolePermission = rolePermissionService.getOne(rolePermissionQueryWrapper);
if (rolePermission == null) {
rolePermission = new RolePermission();
rolePermission.setRoleId(roleId);
rolePermission.setPermissionId(permissionId);
rolePermissionService.saveOrUpdate(rolePermission);
} else {
rolePermission.setRoleId(roleId);
rolePermission.setPermissionId(permissionId);
rolePermissionService.saveOrUpdate(rolePermission);
}
rolePermissionQueryWrapper.clear();
}
return JsonResult.buildSuccessResult(true);
} catch (Exception e) {
e.printStackTrace();
return JsonResult.buildErrorStateResult("角色权限分配失败!", false);
}
} }
/** /**
* 删除角色权限 * 删除角色以及角色对应权限
* @param rolePermissionId 角色权限 * @param roleId 角色id
* @return * @return
*/ */
@GetMapping("/del") @GetMapping("/del")
public JsonResult delRolePermission(Integer rolePermissionId) { public JsonResult delRolePermission(Integer roleId) {
return JsonResult.buildSuccessResult(rolePermissionService.removeById(rolePermissionId)); try {
roleService.removeById(roleId);
QueryWrapper<RolePermission> rolePermissionQueryWrapper = new QueryWrapper<>();
rolePermissionQueryWrapper.eq("role_id", roleId);
List<RolePermission> rolePermissionList = rolePermissionService.list(rolePermissionQueryWrapper);
for (RolePermission rolePermission: rolePermissionList) {
rolePermissionService.removeById(rolePermission.getId());
}
return JsonResult.buildSuccessResult(true);
} catch (Exception e) {
e.printStackTrace();
return JsonResult.buildErrorStateResult("角色删除失败!", false);
}
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment