新增查询人员所有查询当前用户角色下属所有菜单接口

yun-zuoyi
nies 4 years ago
parent 1a7b8a3219
commit c105dec10c

@ -31,6 +31,9 @@ public interface ISysRoleService extends ICrudService<SysRole> {
@ApiOperation(value = "查信角色菜单关系", notes = "查询 ID 查询角色菜单关系")
List<SysRefRoleMenu> findSysRefRoleMenuByRoleId(Long roleId);
@ApiOperation(value = "批量查询角色所有菜单", notes = "批量查询角色所有菜单")
List<SysRefRoleMenu> findSysRefRoleMenuByRoleIdList(List<Long> idList);
@ApiOperation(value = "查信角色菜单关系", notes = "查询 ID 查询角色菜单关系")
List<SysRefRoleMenu> findSysRefRoleMenuByRoleId(Long roleId, Integer softType);
@ -55,6 +58,7 @@ public interface ISysRoleService extends ICrudService<SysRole> {
/**
* sysRole
*
* @param sysRole
* @return
*/

@ -3,11 +3,7 @@ package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.shirotoken.BaseToken;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysLogUserLogin;
import cn.estsh.i3plus.pojo.platform.bean.SysRefUserRole;
import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.bean.SysUserInfo;
import cn.estsh.i3plus.pojo.platform.bean.*;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authc.AuthenticationException;
@ -263,6 +259,15 @@ public interface ISysUserService {
List<SysRefUserRole> findSysRefUserRoleByUserId(Long userId);
/**
*
*
* @param userId
* @return
*/
@ApiOperation(value = "查询当前用户角色下属所有菜单", notes = "查询当前用户角色下属所有菜单")
List<SysRefRoleMenu> findSysRefUserRoleMenuByUserId(Long userId);
/**
*
*
* @param userLoginName

@ -23,13 +23,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.model.platform.AccountExportModel;
import cn.estsh.i3plus.pojo.model.platform.UserExportModel;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysMessage;
import cn.estsh.i3plus.pojo.platform.bean.SysRefUserDepartment;
import cn.estsh.i3plus.pojo.platform.bean.SysRefUserRole;
import cn.estsh.i3plus.pojo.platform.bean.SysRole;
import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.bean.SysUserInfo;
import cn.estsh.i3plus.pojo.platform.bean.*;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
@ -61,13 +55,13 @@ import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.sql.ResultSet;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import static java.util.stream.Collectors.toCollection;
/**
* @Description :
* @Reference :
@ -808,4 +802,20 @@ public class SysUserController extends CoreBaseController {
FileUtils.deleteQuietly(file);
}
}
@GetMapping("find-ref-role-menu/{userId}")
@ApiOperation(value = "查询人员的角色和权限信息", notes = "查询人员的角色和权限信息")
public ResultBean<SysRefRoleMenu> findUserRefRoleMenu(@PathVariable("userId") String userId) {
try {
ValidatorBean.checkNotNull(userId, "用户 id 不能为空");
List<SysRefRoleMenu> resultList = sysUserService.findSysRefUserRoleMenuByUserId(Long.parseLong(userId));
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultList(resultList);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -23,6 +23,7 @@ import cn.estsh.i3plus.pojo.platform.repository.SysRefRoleMenuRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRefUserRoleRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRoleRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import cn.estsh.i3plus.pojo.wms.bean.WmsPart;
import cn.estsh.impp.framework.base.service.CrudService;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
@ -36,11 +37,13 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static cn.estsh.i3plus.platform.common.util.PlatformConstWords.IMPP_REQUEST_ID;
import static cn.estsh.i3plus.platform.common.util.PlatformConstWords.SQL_SERVER_PARAM_MAX_MUM;
/**
@ -227,6 +230,18 @@ public class SysRoleService extends CrudService<SysRole> implements ISysRoleServ
}
@Override
public List<SysRefRoleMenu> findSysRefRoleMenuByRoleIdList(List<Long> idList) {
if (ObjectUtils.isEmpty(idList)) {
return null;
}
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getInPackList(idList, "roleId", packBean);
// LOGGER.info("hql {}",packBean.getPackedHql());
return refRoleMenuRDao.findByHqlWhere(packBean);
}
@Override
public List<SysRefRoleMenu> findSysRefRoleMenuByRoleId(Long roleId, Integer softType) {
LOGGER.info("系统角色权限关系 RefRoleMenu find By RoleId");
DdlPackBean ddlPackBean = new DdlPackBean();

@ -13,6 +13,7 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.base.shirotoken.AdminToken;
import cn.estsh.i3plus.pojo.base.shirotoken.BaseToken;
import cn.estsh.i3plus.pojo.base.shirotoken.SaAdminToken;
@ -32,6 +33,7 @@ import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.RedisCacheTool;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.CollectionUtils;
@ -46,19 +48,14 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
import static java.util.stream.Collectors.toCollection;
/**
* @Description :
@ -602,6 +599,26 @@ public class SysUserService implements ISysUserService {
}
@Override
public List<SysRefRoleMenu> findSysRefUserRoleMenuByUserId(Long userId) {
List<SysRefUserRole> roleList = findSysRefUserRoleByUserId(userId);
if (ObjectUtils.isEmpty(roleList)) {
return null;
}
List<Long> roleIdList = roleList.stream().map(el -> el.getRoleId()).collect(Collectors.toList());
List<SysRefRoleMenu> menuList = roleService.findSysRefRoleMenuByRoleIdList(roleIdList);
//去重
// Set<Long> menuIdSet = new HashSet<>();
// List<SysRefRoleMenu> resultList = new ArrayList<>();
// menuList.forEach(el -> {
// if(!menuIdSet.contains(el.getMenuId())){
// menuIdSet.add(el.getMenuId());
// resultList.add(el);
// }
// });
return menuList.stream().collect(Collectors.collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing(SysRefRoleMenu::getMenuId))), ArrayList::new));
}
@Override
@ApiOperation(value = "检查-账号登录名", notes = "判断账号是否存在")
public boolean checkSysUserLoginName(String userLoginName, long id) {
int count = 0;

Loading…
Cancel
Save