添加权限数据清洗接口

权限接口优化
角色服务
yun-zuoyi
汪云昊 5 years ago
parent da9e91b89d
commit 1a072e7db3

@ -234,6 +234,62 @@ public class AuthController extends CoreBaseController {
}
}
/************************************ 权限分配是使用接口 ******************************************/
/**
*
*
* @return
*/
@GetMapping(value = "/menu/module-list")
@ApiOperation(value = "获取登录用户功能权限信息", notes = "获取首页权限信息")
public ResultBean findModuleList() {
List<SysMenu> list = null;
if (AuthUtil.getUserType().equals(CommonEnumUtil.USER_TYPE.ADMIN)) {
SysMenu sysMenu = new SysMenu();
sysMenu.setMenuType(CommonEnumUtil.METHOD_LEVEL.PLUGIN.getValue());
list = sysMenuService.findAllByBean(sysMenu);
} else {
List<SysMenu> menuList = memTreeService.packTreeSysMenuByUserId(getSessionUser().getUser().getId());
list = memTreeService.packTreeSysMenuByParentIdAndMenuType(menuList, CommonConstWords.SYSTEM_MENU_ROOT_ID, CommonEnumUtil.METHOD_LEVEL.PLUGIN.getValue());
}
if (list != null && list.size() > 0) {
// 内存排序 Sort 降序 code 升序
list.sort(Comparator.comparing(SysMenu::getMenuSort).reversed().thenComparing(SysMenu::getMenuCode));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list);
} else {
return ResultBean.fail("操作失败").setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()).setErrorMsg("菜单信息不存在");
}
}
/**
*
*
* @return
*/
@GetMapping(value = "/menu/module-menu-list")
@ApiOperation(value = "获取登录用户功能权限信息", notes = "获取首页权限信息")
public ResultBean findMenuListByModule() {
List<SysMenu> list = null;
if (AuthUtil.getUserType().equals(CommonEnumUtil.USER_TYPE.ADMIN)) {
SysMenu sysMenu = new SysMenu();
sysMenu.setMenuType(CommonEnumUtil.METHOD_LEVEL.PLUGIN.getValue());
sysMenuService.findAllByBean(sysMenu);
} else {
List<SysMenu> menuList = memTreeService.packTreeSysMenuByUserId(getSessionUser().getUser().getId());
list = memTreeService.packTreeSysMenuByParentIdAndMenuType(menuList, CommonConstWords.SYSTEM_MENU_ROOT_ID, CommonEnumUtil.METHOD_LEVEL.PLUGIN.getValue());
}
if (list != null && list.size() > 0) {
// 内存排序 Sort 降序 code 升序
list.sort(Comparator.comparing(SysMenu::getMenuSort).reversed().thenComparing(SysMenu::getMenuCode));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list);
} else {
return ResultBean.fail("操作失败").setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()).setErrorMsg("菜单信息不存在");
}
}
// /**
// * 根据递归获取所有父节点 ID 获取所有 菜单

@ -2,12 +2,16 @@ package cn.estsh.i3plus.core.apiservice.controller.base;
import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService;
import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService;
import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysMenuService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.model.license.ImppLicense;
import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
import cn.estsh.i3plus.pojo.platform.bean.SysRefRoleMenu;
import cn.estsh.i3plus.pojo.platform.bean.SysRole;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
@ -23,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description :
@ -47,6 +52,11 @@ public class BackstageController extends CoreBaseController {
@Autowired
private ICoreMemTreeService memTreeService;
@Autowired
private ISysRoleService sysRoleService;
@Autowired
private IPersonnelService penfindSysRefUserRole;
@GetMapping(value = "/redis-put-all")
@ApiOperation(value = "重新加载所有缓存数据",notes = "重新加载所有缓存数据")
@ -190,4 +200,33 @@ public class BackstageController extends CoreBaseController {
}
}
@GetMapping(value = "/update-clean-ref-role-menu")
@ApiOperation(value = "更新并清理角色功能数据", notes = "更新并清理角色功能数据")
public ResultBean updateRefRoleMenu(){
try {
List<Long> roleIdList = sysRoleService.findAll().stream().map(SysRole::getId).collect(Collectors.toList());
Map<Long,Set<Long>> roleMenuMap = new HashMap<>();
for (SysRefRoleMenu refRoleMenu : penfindSysRefUserRole.findSysRefRoleMenuByRoleIds(roleIdList)) {
if (!roleMenuMap.containsKey(refRoleMenu.getRoleId())) {
roleMenuMap.put(refRoleMenu.getRoleId(), new HashSet<>());
}
roleMenuMap.get(refRoleMenu.getRoleId()).add(refRoleMenu.getMenuId());
}
for (Map.Entry<Long, Set<Long>> longSetEntry : roleMenuMap.entrySet()) {
sysRoleService.refreshSysRoleRef(
longSetEntry.getKey(),
longSetEntry.getValue().toArray(new Long[longSetEntry.getValue().size()]),
"清理垃圾数据"
);
}
return ResultBean.success("操作成功");
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ResultBean.fail(e).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
}

@ -564,9 +564,8 @@ public class WhiteController extends CoreBaseController {
}
}
@PostMapping(value = "/license")
@ApiOperation(value = "缺失资源开关", notes = "缺失资源开关")
@ApiOperation(value = "更新授权", notes = "更新授权")
public ResultBean updateLicense(String content){
try {
ImppLicense license = ImppLicenseDecoder.getLicenseDecoder(content);

@ -137,7 +137,7 @@ public class SysRoleService extends CacheCrudService<SysRole> implements ISysRol
ref.setMenuId(menu.getId());
ref.setSoftType(menu.getSoftType());
ref.setMenuTypeRdd(menu.getMenuType());
ConvertBean.serviceModelInitialize(ref, AuthUtil.getSessionUser());
ConvertBean.serviceModelInitialize(ref, userName);
refRoleMenuRDao.insert(ref);
}

Loading…
Cancel
Save