Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
0f2afff6ba
@ -4,9 +4,11 @@ package com.xdap.self_development.controller;
|
||||
import com.definesys.mpaas.common.http.Response;
|
||||
import com.xdap.self_development.controller.request.ModelRolesRequest;
|
||||
import com.xdap.self_development.controller.request.RolePerJoinRequest;
|
||||
import com.xdap.self_development.controller.request.UserRoleBindingRequest;
|
||||
import com.xdap.self_development.pojo.ModelRolesPojo;
|
||||
import com.xdap.self_development.pojo.dto.PageResultDTO;
|
||||
import com.xdap.self_development.pojo.view.MenuListView;
|
||||
import com.xdap.self_development.pojo.view.MenuParamView;
|
||||
import com.xdap.self_development.pojo.view.ParametersView;
|
||||
import com.xdap.self_development.service.ModelMenuPermissionService;
|
||||
import com.xdap.self_development.service.ModelRoleService;
|
||||
@ -34,39 +36,93 @@ public class PermissionController {
|
||||
|
||||
//添加角色
|
||||
@PostMapping("/addRoles")
|
||||
Response addRoles(ModelRolesRequest request){
|
||||
Response addRoles(@RequestBody ModelRolesRequest request){
|
||||
try {
|
||||
modelRoleService.addRoles(request);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("添加失败:" +e.getMessage());
|
||||
throw new RuntimeException("添加失败:检查是否存在重复角色(名称+代码)" +e.getMessage());
|
||||
}
|
||||
return Response.ok();
|
||||
}
|
||||
|
||||
//查看角色
|
||||
@GetMapping("/selectRoles")
|
||||
Response selectRoles(@RequestParam String userID){
|
||||
Response selectRoles(){
|
||||
try {
|
||||
// PageResultDTO<ModelRolesPojo> modelRolesPojoPageResultDTO = modelRoleService.selectRoles(userID);
|
||||
List<ModelRolesPojo> modelRolesPojos = modelRoleService.selectRoles(userID);
|
||||
List<ModelRolesPojo> modelRolesPojos = modelRoleService.selectRoles();
|
||||
return Response.ok().data(modelRolesPojos);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e.getMessage());
|
||||
}
|
||||
}
|
||||
//为角色添加权限
|
||||
@PostMapping("/insertPerForRole")
|
||||
public Response insertPerForRole(@RequestBody List<RolePerJoinRequest> request){
|
||||
//删除角色
|
||||
@GetMapping("/removeRoles")
|
||||
Response removeRoles(@RequestParam String roleID,String userID){
|
||||
try {
|
||||
modelRoleService.insertPerForRole(request);
|
||||
modelRoleService.removeRoles(roleID,userID);
|
||||
return Response.ok();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e.getMessage());
|
||||
}
|
||||
}
|
||||
//修改角色信息
|
||||
|
||||
|
||||
//获取用户权限
|
||||
@GetMapping("/selectPersByUser")
|
||||
Response selectPersByUser(@RequestParam String userOrDepID){
|
||||
try {
|
||||
List<MenuParamView> views = modelRoleService.selectPersByUser(userOrDepID);
|
||||
return Response.ok().data(views);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
//获取角色权限
|
||||
@GetMapping("/selectPersByRole")
|
||||
Response selectPersByRole(@RequestParam String roleID){
|
||||
try {
|
||||
List<MenuParamView> views = modelRoleService.selectPersByRole(roleID);
|
||||
return Response.ok().data(views);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//为用户绑定角色
|
||||
@PostMapping("/userRoleBinding")
|
||||
public Response userRoleBinding(@RequestBody List<UserRoleBindingRequest> userRoleBindingRequest){
|
||||
try {
|
||||
modelRoleService.userRoleBinding(userRoleBindingRequest);
|
||||
return Response.ok();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//修改角色权限(关联权限修改 增加,修改,删除)
|
||||
@PostMapping("/updatePerForRole")
|
||||
public Response updatePerForRole(@RequestBody List<RolePerJoinRequest> request){
|
||||
try {
|
||||
modelRoleService.updatePerForRole(request);
|
||||
return Response.ok();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e.getMessage());
|
||||
}
|
||||
}
|
||||
//修改单个角色信息(基础信息)
|
||||
@PostMapping("/updateRole")
|
||||
public Response updateRole(@RequestBody ModelRolesPojo modelRolesPojo,@RequestParam String userID){
|
||||
try {
|
||||
modelRoleService.updateRole(modelRolesPojo,userID);
|
||||
return Response.ok();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
//菜单查询
|
||||
@GetMapping("/selectMenus")
|
||||
Response selectMenus(){
|
||||
|
||||
@ -9,4 +9,5 @@ public class RolePerJoinRequest {
|
||||
private String menuId;
|
||||
private String parameterId;
|
||||
private Integer parameterPer;
|
||||
private String userId;
|
||||
}
|
||||
|
||||
@ -0,0 +1,11 @@
|
||||
package com.xdap.self_development.controller.request;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UserRoleBindingRequest {
|
||||
//角色ID 用户ID 用户是否是部门0:用户 1部门
|
||||
private String roleId;
|
||||
private String userOrDeptId;
|
||||
private Integer isDept;
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
package com.xdap.self_development.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum ParamPermissionEnum {
|
||||
|
||||
REVIEW(1, "查看"),
|
||||
EDITOR(2, "编辑");
|
||||
|
||||
private final Integer code;
|
||||
private final String desc;
|
||||
|
||||
ParamPermissionEnum(Integer code, String desc) {
|
||||
this.code = code;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public static ParamPermissionEnum getByCode(Integer code) {
|
||||
if (code == null) {
|
||||
return null;
|
||||
}
|
||||
for (ParamPermissionEnum status : values()) {
|
||||
if (status.code.equals(code)) {
|
||||
return status;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static ParamPermissionEnum getByDesc(String desc) {
|
||||
if (desc == null) {
|
||||
return null;
|
||||
}
|
||||
for (ParamPermissionEnum status : values()) {
|
||||
if (status.desc.equals(desc)) {
|
||||
return status;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -16,5 +16,7 @@ public class MenuListView {
|
||||
private String id;
|
||||
private String parent_id;
|
||||
private String menu;
|
||||
private String menuDesc;
|
||||
ArrayList<MenuListView> listViews;
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,16 @@
|
||||
package com.xdap.self_development.pojo.view;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
||||
@Data
|
||||
public class MenuParamView {
|
||||
private String id;
|
||||
private String menuPath;
|
||||
private String subsystem;
|
||||
private String parameterName;
|
||||
private String parameterPer;
|
||||
|
||||
}
|
||||
@ -8,7 +8,7 @@ import lombok.NoArgsConstructor;
|
||||
|
||||
@SQLQuery(value = {
|
||||
@SQL(view = "getAllParameters",
|
||||
sql = "SELECT DISTINCT mp.parameter_name as 'parameterName', mp.id as 'parameterId' FROM yfsjglpt_model_parameter mp INNER JOIN yfsjglpt_model_parameter_and_template mpat ON mp.id = mpat.parameter_id INNER JOIN yfsjglpt_model_template mt ON mpat.template_id = mt.id INNER JOIN ( SELECT template_name, MAX(version) AS max_version FROM yfsjglpt_model_template WHERE status = 'COMPLETE' GROUP BY template_name ) latest ON mt.template_name = latest.template_name AND mt.version = latest.max_version WHERE mt.status = 'COMPLETE' ORDER BY mp.parameter_name where mp.subsystem_name = #subsystem")
|
||||
sql = "SELECT DISTINCT mp.parameter_name as 'parameterName', mp.id as 'parameterId' FROM yfsjglpt_model_parameter mp INNER JOIN yfsjglpt_model_parameter_and_template mpat ON mp.id = mpat.parameter_id INNER JOIN yfsjglpt_model_template mt ON mpat.template_id = mt.id INNER JOIN ( SELECT template_name, MAX(version) AS max_version FROM yfsjglpt_model_template WHERE status = 'COMPLETE' GROUP BY template_name ) latest ON mt.template_name = latest.template_name AND mt.version = latest.max_version WHERE mt.status = 'COMPLETE' and mp.subsystem_name = #subsystem ORDER BY mp.parameter_name ")
|
||||
})
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.xdap.self_development.service;
|
||||
|
||||
|
||||
import com.xdap.self_development.pojo.ModelMenuDictionaryPojo;
|
||||
import com.xdap.self_development.pojo.view.MenuListView;
|
||||
|
||||
import java.util.List;
|
||||
@ -10,4 +11,6 @@ public interface ModelMenuPermissionService {
|
||||
|
||||
//菜单查询
|
||||
List<MenuListView> selectMenus();
|
||||
//根据ID查询路径
|
||||
ModelMenuDictionaryPojo selectMenuById(String menuId);
|
||||
}
|
||||
|
||||
@ -3,8 +3,10 @@ package com.xdap.self_development.service;
|
||||
|
||||
import com.xdap.self_development.controller.request.ModelRolesRequest;
|
||||
import com.xdap.self_development.controller.request.RolePerJoinRequest;
|
||||
import com.xdap.self_development.controller.request.UserRoleBindingRequest;
|
||||
import com.xdap.self_development.pojo.ModelRolesPojo;
|
||||
import com.xdap.self_development.pojo.dto.PageResultDTO;
|
||||
import com.xdap.self_development.pojo.view.MenuParamView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -14,8 +16,18 @@ public interface ModelRoleService {
|
||||
void addRoles(ModelRolesRequest request);
|
||||
|
||||
PageResultDTO<ModelRolesPojo> selectRolesByPage(String userID);
|
||||
List<ModelRolesPojo> selectRoles(String userID);
|
||||
List<ModelRolesPojo> selectRoles();
|
||||
|
||||
|
||||
void insertPerForRole(List<RolePerJoinRequest> request);
|
||||
void updatePerForRole(List<RolePerJoinRequest> request);
|
||||
|
||||
void updateRole(ModelRolesPojo modelRolesPojo, String userID);
|
||||
|
||||
List<MenuParamView> selectPersByUser(String userOrDepID);
|
||||
|
||||
List<MenuParamView> selectPersByRole(String roleID);
|
||||
|
||||
void removeRoles(String roleID, String userID);
|
||||
|
||||
void userRoleBinding(List<UserRoleBindingRequest> userRoleBindingRequest);
|
||||
}
|
||||
|
||||
@ -38,6 +38,7 @@ public class ModelMenuPermissionServiceImpl implements ModelMenuPermissionServic
|
||||
MenuListView node = new MenuListView();
|
||||
node.setId(pojo.getId());
|
||||
node.setMenu(pojo.getMenuName());
|
||||
node.setMenuDesc(pojo.getMenuDesc());
|
||||
node.setListViews(new ArrayList<>());
|
||||
nodeMap.put(pojo.getId(), node);
|
||||
}
|
||||
@ -61,4 +62,16 @@ public class ModelMenuPermissionServiceImpl implements ModelMenuPermissionServic
|
||||
|
||||
return views;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModelMenuDictionaryPojo selectMenuById(String menuId) {
|
||||
if (ObjectUtils.isEmpty(menuId)) {
|
||||
throw new RuntimeException("根据ID查询菜单时ID未传入");
|
||||
}
|
||||
ModelMenuDictionaryPojo modelMenuDictionaryPojo = businessDatabase.getBusinessDatabase()
|
||||
.eq("id", menuId)
|
||||
.doQuery(ModelMenuDictionaryPojo.class).get(0);
|
||||
return modelMenuDictionaryPojo;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -4,18 +4,21 @@ package com.xdap.self_development.service.impl;
|
||||
import com.xdap.self_development.config.BusinessDatabase;
|
||||
import com.xdap.self_development.controller.request.ModelRolesRequest;
|
||||
import com.xdap.self_development.controller.request.RolePerJoinRequest;
|
||||
import com.xdap.self_development.pojo.ModelMenuParameterPojo;
|
||||
import com.xdap.self_development.pojo.ModelRolePermissionPojo;
|
||||
import com.xdap.self_development.pojo.ModelRolesPojo;
|
||||
import com.xdap.self_development.pojo.Parameter;
|
||||
import com.xdap.self_development.controller.request.UserRoleBindingRequest;
|
||||
import com.xdap.self_development.enums.ParamPermissionEnum;
|
||||
import com.xdap.self_development.exception.CommonException;
|
||||
import com.xdap.self_development.pojo.*;
|
||||
import com.xdap.self_development.pojo.dto.PageResultDTO;
|
||||
import com.xdap.self_development.pojo.view.MenuListView;
|
||||
import com.xdap.self_development.pojo.view.MenuParamView;
|
||||
import com.xdap.self_development.service.ModelMenuPermissionService;
|
||||
import com.xdap.self_development.service.ModelRoleService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
@ -27,6 +30,8 @@ public class ModelRoleServiceImpl implements ModelRoleService {
|
||||
|
||||
@Autowired
|
||||
BusinessDatabase businessDatabase;
|
||||
@Autowired
|
||||
ModelMenuPermissionService modelMenuPermissionService;
|
||||
|
||||
@Override
|
||||
public void addRoles(ModelRolesRequest request) {
|
||||
@ -34,6 +39,7 @@ public class ModelRoleServiceImpl implements ModelRoleService {
|
||||
BeanUtils.copyProperties(request, modelRolesPojo);
|
||||
modelRolesPojo.setCreatedBy(request.getUserId());
|
||||
modelRolesPojo.setCreationDate(new Date());
|
||||
modelRolesPojo.setIsEnabled(1);
|
||||
businessDatabase.getBusinessDatabase()
|
||||
.doInsert(modelRolesPojo);
|
||||
}
|
||||
@ -44,46 +50,191 @@ public class ModelRoleServiceImpl implements ModelRoleService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ModelRolesPojo> selectRoles(String userID) {
|
||||
public List<ModelRolesPojo> selectRoles() {
|
||||
List<ModelRolesPojo> modelRolesPojos = businessDatabase.getBusinessDatabase()
|
||||
.eq("is_enabled", 1)
|
||||
.doQuery(ModelRolesPojo.class);
|
||||
return modelRolesPojos;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertPerForRole(List<RolePerJoinRequest> requests) {
|
||||
@Transactional(rollbackFor = CommonException.class)
|
||||
public void updatePerForRole(List<RolePerJoinRequest> requests) {
|
||||
//将老权限置为未启用
|
||||
List<String> roleids = requests.stream().map(x -> x.getRoleId()).distinct().collect(Collectors.toList());
|
||||
for (String roleId : roleids) {
|
||||
if (ObjectUtils.isNotEmpty(roleId)) {
|
||||
businessDatabase.getBusinessDatabase()
|
||||
.update("is_enable", 0)
|
||||
.eq("role_id", roleId)
|
||||
.doUpdate(ModelRolePermissionPojo.class);
|
||||
}
|
||||
}
|
||||
//增加新权限
|
||||
for (RolePerJoinRequest request : requests) {
|
||||
|
||||
String roleId = request.getRoleId();
|
||||
String menuId = request.getMenuId();
|
||||
String parameterId = request.getParameterId();
|
||||
Integer parameterPer = request.getParameterPer();
|
||||
if (ObjectUtils.isEmpty(parameterId)||ObjectUtils.isEmpty(roleId)||ObjectUtils.isEmpty(menuId)) {
|
||||
if (ObjectUtils.isEmpty(parameterId) || ObjectUtils.isEmpty(parameterPer) || ObjectUtils.isEmpty(roleId) || ObjectUtils.isEmpty(menuId)) {
|
||||
log.warn("参数不完整无法写入");
|
||||
continue;
|
||||
}
|
||||
//查找参数 组装权限
|
||||
Parameter parameter = businessDatabase.getBusinessDatabase()
|
||||
.eq("id", parameterId)
|
||||
.doQuery(Parameter.class).get(0);
|
||||
String uuid = String.valueOf(UUID.randomUUID());
|
||||
ModelMenuParameterPojo modelMenuParameterPojo = new ModelMenuParameterPojo();
|
||||
modelMenuParameterPojo.setMenuId(menuId);
|
||||
modelMenuParameterPojo.setSubsystem(parameter.getSubsystemName());
|
||||
modelMenuParameterPojo.setParameterId(parameterId);
|
||||
modelMenuParameterPojo.setParameterPer(parameterPer);
|
||||
modelMenuParameterPojo.setId(uuid);
|
||||
modelMenuParameterPojo.setCreationDate(new Date());
|
||||
businessDatabase.getBusinessDatabase()
|
||||
.doInsert(modelMenuParameterPojo);
|
||||
List<ModelMenuParameterPojo> modelMenuParameterPojos = businessDatabase.getBusinessDatabase()
|
||||
.eq("menu_id", menuId)
|
||||
.eq("parameter_id", parameterId)
|
||||
.eq("parameter_per", parameterPer)
|
||||
.doQuery(ModelMenuParameterPojo.class);
|
||||
|
||||
//如果参数权限没有配置
|
||||
String id = String.valueOf(UUID.randomUUID());
|
||||
if (ObjectUtils.isEmpty(modelMenuParameterPojos)) {
|
||||
//查找参数 组装权限
|
||||
Parameter parameter = businessDatabase.getBusinessDatabase()
|
||||
.eq("id", parameterId)
|
||||
.doQuery(Parameter.class).get(0);
|
||||
ModelMenuParameterPojo modelMenuParameterPojo = new ModelMenuParameterPojo();
|
||||
modelMenuParameterPojo.setMenuId(menuId);
|
||||
modelMenuParameterPojo.setSubsystem(parameter.getSubsystemName());
|
||||
modelMenuParameterPojo.setParameterId(parameterId);
|
||||
modelMenuParameterPojo.setParameterPer(parameterPer);
|
||||
modelMenuParameterPojo.setId(id);
|
||||
modelMenuParameterPojo.setCreatedBy(request.getUserId());
|
||||
modelMenuParameterPojo.setCreationDate(new Date());
|
||||
businessDatabase.getBusinessDatabase()
|
||||
.doInsert(modelMenuParameterPojo);
|
||||
|
||||
} else {
|
||||
id = modelMenuParameterPojos.get(0).getId();
|
||||
}
|
||||
|
||||
//为角色分配权限
|
||||
ModelRolePermissionPojo pojo = new ModelRolePermissionPojo();
|
||||
pojo.setRoleId(roleId);
|
||||
pojo.setPerId(uuid);
|
||||
pojo.setPerId(id);
|
||||
pojo.setCreationDate(new Date());
|
||||
pojo.setCreatedBy(request.getUserId());
|
||||
businessDatabase.getBusinessDatabase()
|
||||
.doInsert(pojo);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateRole(ModelRolesPojo modelRolesPojo, String userID) {
|
||||
modelRolesPojo.setLastUpdatedBy(userID);
|
||||
modelRolesPojo.setLastUpdateDate(new Date());
|
||||
businessDatabase.getBusinessDatabase()
|
||||
.doUpdate(modelRolesPojo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MenuParamView> selectPersByUser(String userOrDepID) {
|
||||
if (ObjectUtils.isEmpty(userOrDepID)) {
|
||||
throw new RuntimeException("用户或部门ID为空");
|
||||
}
|
||||
List<ModelDepUserRolePojo> userOrDeps = businessDatabase.getBusinessDatabase()
|
||||
.eq("user_or_dep", userOrDepID)
|
||||
.doQuery(ModelDepUserRolePojo.class);
|
||||
List<MenuParamView> paramViews = new ArrayList<>();
|
||||
for (ModelDepUserRolePojo userOrDep : userOrDeps) {
|
||||
List<MenuParamView> views = selectPersByRole(userOrDep.getRoleId());
|
||||
paramViews.addAll(views);
|
||||
|
||||
}
|
||||
return paramViews;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MenuParamView> selectPersByRole(String roleID) {
|
||||
if (ObjectUtils.isEmpty(roleID)) {
|
||||
throw new RuntimeException("角色为空");
|
||||
}
|
||||
ArrayList<MenuParamView> menuParamViews = new ArrayList<>();
|
||||
List<ModelRolePermissionPojo> role = businessDatabase.getBusinessDatabase()
|
||||
.eq("role_id", roleID)
|
||||
.doQuery(ModelRolePermissionPojo.class);
|
||||
List<String> perids = role.stream().map(x -> x.getPerId()).distinct().collect(Collectors.toList());
|
||||
if (ObjectUtils.isEmpty(role)) {
|
||||
throw new RuntimeException("该角色没有权限:"+roleID);
|
||||
}
|
||||
List<ModelMenuParameterPojo> menuParameters = businessDatabase.getBusinessDatabase()
|
||||
.in("id", perids)
|
||||
.doQuery(ModelMenuParameterPojo.class);
|
||||
//获取权限
|
||||
for (ModelMenuParameterPojo menuParameter : menuParameters) {
|
||||
ModelMenuDictionaryPojo modelMenuDictionaryPojo = modelMenuPermissionService.selectMenuById(menuParameter.getMenuId());
|
||||
String parameterId = menuParameter.getParameterId();
|
||||
|
||||
//查找参数 组装权限
|
||||
Parameter parameter = businessDatabase.getBusinessDatabase()
|
||||
.eq("id", parameterId)
|
||||
.doQuery(Parameter.class).get(0);
|
||||
|
||||
ParamPermissionEnum byCode = ParamPermissionEnum.getByCode(menuParameter.getParameterPer());
|
||||
if (byCode == null) {
|
||||
throw new RuntimeException("权限异常");
|
||||
}
|
||||
MenuParamView menuParamView = new MenuParamView();
|
||||
menuParamView.setId(menuParameter.getId());
|
||||
menuParamView.setMenuPath(modelMenuDictionaryPojo.getMenuDesc());
|
||||
menuParamView.setSubsystem(menuParameter.getSubsystem());
|
||||
menuParamView.setParameterName(parameter.getParameterName());
|
||||
menuParamView.setParameterPer(byCode.getDesc());
|
||||
menuParamViews.add(menuParamView);
|
||||
}
|
||||
|
||||
return menuParamViews;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeRoles(String roleID, String userID) {
|
||||
if (ObjectUtils.isEmpty(roleID)) {
|
||||
throw new RuntimeException("删除的角色为空");
|
||||
}
|
||||
businessDatabase.getBusinessDatabase()
|
||||
.update("is_enabled", 0)
|
||||
.update("last_updated_by", userID)
|
||||
.update("last_update_date", new Date())
|
||||
.eq("id", roleID)
|
||||
.doUpdate(ModelRolesPojo.class);
|
||||
businessDatabase.getBusinessDatabase()
|
||||
.update("is_enable", 0)
|
||||
.update("last_updated_by", userID)
|
||||
.update("last_update_date", new Date())
|
||||
.eq("role_id", roleID)
|
||||
.doUpdate(ModelRolePermissionPojo.class);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void userRoleBinding(List<UserRoleBindingRequest> userRoleBindingRequest) {
|
||||
//将角色绑定的老版本人员置为未启用
|
||||
List<String> roleids = userRoleBindingRequest.stream().map(x -> x.getRoleId()).distinct().collect(Collectors.toList());
|
||||
for (String roleId : roleids) {
|
||||
if (ObjectUtils.isNotEmpty(roleId)) {
|
||||
businessDatabase.getBusinessDatabase()
|
||||
.update("is_enable", 0)
|
||||
.eq("role_id", roleId)
|
||||
.doUpdate(ModelDepUserRolePojo.class);
|
||||
}
|
||||
}
|
||||
for (UserRoleBindingRequest roleBindingRequest : userRoleBindingRequest) {
|
||||
String roleId = roleBindingRequest.getRoleId();
|
||||
String userOrDeptId = roleBindingRequest.getUserOrDeptId();
|
||||
Integer isDept = roleBindingRequest.getIsDept();
|
||||
ModelDepUserRolePojo modelDepUserRolePojo = new ModelDepUserRolePojo();
|
||||
modelDepUserRolePojo.setRoleId(roleId);
|
||||
modelDepUserRolePojo.setUserOrDep(userOrDeptId);
|
||||
if (isDept != 0 && isDept != 1) {
|
||||
throw new RuntimeException("用户定位异常,非用户或部门");
|
||||
}
|
||||
modelDepUserRolePojo.setIsDep(isDept);
|
||||
|
||||
businessDatabase.getBusinessDatabase()
|
||||
.doInsert(modelDepUserRolePojo);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user