用户默认分页配置功能开发

用户获取首页插件Bug 修复
yun-zuoyi
wei.peng 6 years ago
parent 66a68731c9
commit 09a4d94143

@ -147,7 +147,7 @@ public interface ICoreMemTreeService {
List<SysMenu> packTreeSysMenu(List<SysMenu> list,Long parentId); List<SysMenu> packTreeSysMenu(List<SysMenu> list,Long parentId);
@ApiOperation(value = "分装功能树",notes = "根据用户功能关系分装功能树") @ApiOperation(value = "分装功能树",notes = "根据用户功能关系分装功能树")
List<SysMenu> packTreeSysMenuBySysRefUserOrganize(List<SysMenu> list, List<SysRefRoleMenu> refList); List<SysMenu> packTreeSysMenuBySysRefRoleMenu(List<SysMenu> list, List<SysRefRoleMenu> refList);
@ApiOperation(value = "分装功能树",notes = "根据制定IDS分装功能树") @ApiOperation(value = "分装功能树",notes = "根据制定IDS分装功能树")
List<SysMenu> packTreeSysMenuByIds(List<SysMenu> list, List<Long> ids); List<SysMenu> packTreeSysMenuByIds(List<SysMenu> list, List<Long> ids);
@ -164,6 +164,9 @@ public interface ICoreMemTreeService {
@ApiOperation(value = "查询功能子节点",notes = "根据用户ID 和 节点ID 查询功能树") @ApiOperation(value = "查询功能子节点",notes = "根据用户ID 和 节点ID 查询功能树")
List<SysMenu> packTreeSysMenuByUserIdAndParentId(Long userId,Long parentId); List<SysMenu> packTreeSysMenuByUserIdAndParentId(Long userId,Long parentId);
@ApiOperation(value = "查询功能子节点",notes = "根据父节点ID 和 菜单类型 查询功能树")
List<SysMenu> packTreeSysMenuByParentIdAndMenuType(List<SysMenu> list,Long parentId,Integer menuType);
@ApiOperation(value = "查询功能子节点",notes = "根据用户ID 查询功能树") @ApiOperation(value = "查询功能子节点",notes = "根据用户ID 查询功能树")
List<SysMenu> packTreeSysMenu(); List<SysMenu> packTreeSysMenu();

@ -249,6 +249,9 @@ public interface ISysUserService {
@ApiOperation(value = "封装用户信息",notes = "封装登录完成后的用户信息(角色、权限、部门、组织、岗位)") @ApiOperation(value = "封装用户信息",notes = "封装登录完成后的用户信息(角色、权限、部门、组织、岗位)")
SessionUser packSessionUser(SessionUser sessionUser, SysUser user, Integer userType,Integer loginPlatform, String languageCode, String deviceId); SessionUser packSessionUser(SessionUser sessionUser, SysUser user, Integer userType,Integer loginPlatform, String languageCode, String deviceId);
@ApiOperation(value = "封装用户信息",notes = "封装用户列表分页信息")
SessionUser packPageSessionUser(SessionUser sessionUser, SysUser user);
/** /**
* id * id
* @param ids id * @param ids id

@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.apiservice.controller.base;
import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService; import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService;
import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.SysLocaleLanguageService; import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.SysLocaleLanguageService;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
@ -119,21 +120,8 @@ public class AuthController extends CoreBaseController {
@GetMapping(value = "/menu/find-home-list") @GetMapping(value = "/menu/find-home-list")
@ApiOperation(value = "获取登录用户功能权限信息", notes = "获取首页权限信息") @ApiOperation(value = "获取登录用户功能权限信息", notes = "获取首页权限信息")
public ResultBean findHomeList() { public ResultBean findHomeList() {
List<SysMenu> list = new ArrayList<>(); List<SysMenu> menuList = memTreeService.packTreeSysMenuByUserId(getSessionUser().getUser().getId());
SysUser user = getSessionUser().getUser(); List<SysMenu> list = memTreeService.packTreeSysMenuByParentIdAndMenuType(menuList, CommonConstWords.SYSTEM_MENU_ROOT_ID, CommonEnumUtil.METHOD_LEVEL.PLUGIN.getValue());
if (user != null) {
List<SysMenu> menus = user.getMenuList();
if (menus != null) {
for (SysMenu menu : menus) {
if (menu != null) {
if (menu.getMenuType().equals(CommonEnumUtil.METHOD_LEVEL.PLUGIN.getValue()) && menu.getParentId().longValue() != -1) {
list.add(menu);
}
}
}
}
}
if (list != null && list.size() > 0) { if (list != null && list.size() > 0) {
// 内存排序 Sort 降序 code 升序 // 内存排序 Sort 降序 code 升序
@ -142,7 +130,6 @@ public class AuthController extends CoreBaseController {
} else { } else {
return ResultBean.fail("操作失败").setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()).setErrorMsg("菜单信息不存在"); return ResultBean.fail("操作失败").setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()).setErrorMsg("菜单信息不存在");
} }
} }
/** /**

@ -548,7 +548,7 @@ public class CoreMemTreeService implements ICoreMemTreeService {
} }
@Override @Override
public List<SysMenu> packTreeSysMenuBySysRefUserOrganize(List<SysMenu> list, List<SysRefRoleMenu> refList) { public List<SysMenu> packTreeSysMenuBySysRefRoleMenu(List<SysMenu> list, List<SysRefRoleMenu> refList) {
List<Long> ids = new ArrayList<>(refList.size()); List<Long> ids = new ArrayList<>(refList.size());
if(refList != null && refList.size() > 0){ if(refList != null && refList.size() > 0){
@ -623,13 +623,31 @@ public class CoreMemTreeService implements ICoreMemTreeService {
List<SysMenu> menuList = personnelService.findSysMenuList(); List<SysMenu> menuList = personnelService.findSysMenuList();
List<SysMenu> menuRootTree = packTreeSysMenu(menuList, parentId); List<SysMenu> menuRootTree = packTreeSysMenu(menuList, parentId);
return packTreeSysMenuBySysRefUserOrganize(menuRootTree, refRoleMenuList); return packTreeSysMenuBySysRefRoleMenu(menuRootTree, refRoleMenuList);
} }
} }
return null; return null;
} }
@Override @Override
public List<SysMenu> packTreeSysMenuByParentIdAndMenuType(List<SysMenu> list,Long parentId, Integer menuType) {
List<SysMenu> result = new ArrayList<>();
if(list != null && list.size() > 0){
for (SysMenu menu : list) {
if(menu.getChildList() != null && menu.getChildList().size() > 0){
result.addAll(packTreeSysMenuByParentIdAndMenuType(menu.getChildList(), parentId, menuType));
}
if(menu.getParentId().equals(parentId) && menu.getMenuType().equals(menuType)){
result.add(menu);
}
}
}
return result;
}
@Override
public List<SysMenu> packTreeSysMenu() { public List<SysMenu> packTreeSysMenu() {
List<SysMenu> menuList = personnelService.findSysMenuList(); List<SysMenu> menuList = personnelService.findSysMenuList();
return packTreeSysMenu(menuList, CommonEnumUtil.PARENT.DEFAULT.getValue()); return packTreeSysMenu(menuList, CommonEnumUtil.PARENT.DEFAULT.getValue());

@ -28,6 +28,7 @@ import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ImppRedis; import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.RedisUtilTool;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationException;
@ -105,6 +106,9 @@ public class SysUserService implements ISysUserService {
@Autowired @Autowired
private IPersonnelService personnelService; private IPersonnelService personnelService;
@Resource(name = CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes;
/** /**
* *
*/ */
@ -125,6 +129,7 @@ public class SysUserService implements ISysUserService {
throw new CredentialsException("用户不存在"); throw new CredentialsException("用户不存在");
} }
packSessionUser(sessionUser, user, user.getUserType(),loginPlatform, languageCode,deviceId); packSessionUser(sessionUser, user, user.getUserType(),loginPlatform, languageCode,deviceId);
packPageSessionUser(sessionUser, user);
AuthUtil.setSessionUser(sessionUser); AuthUtil.setSessionUser(sessionUser);
refreshUserLoginInformation(user.getId()); refreshUserLoginInformation(user.getId());
AuthUtil.online(sessionUser); AuthUtil.online(sessionUser);
@ -606,6 +611,37 @@ public class SysUserService implements ISysUserService {
} }
@Override @Override
public SessionUser packPageSessionUser(SessionUser sessionUser, SysUser user) {
SysConfig configPageList = RedisUtilTool.getSysConfigByConfigCode(redisRes, CommonConstWords.CONFIG_PAGE_SIZE_LIST);
try {
if(configPageList != null && StringUtils.isNotBlank(configPageList.getConfigValue())){
String[] split = configPageList.getConfigValue().split(",");
int[] ints = Arrays.stream(split).mapToInt(Integer::parseInt).toArray();
sessionUser.setPageSizeArray(Arrays.stream(ints).boxed().toArray(Integer[]::new));
}
}catch (Exception e){
}
if(sessionUser.getPageSizeArray() == null){
sessionUser.setPageSizeArray(CommonConstWords.CONFIG_PAGE_SIZE_LIST_DEFAULT);
}
SysConfig configPageSize = RedisUtilTool.getSysConfigByConfigCode(redisRes, CommonConstWords.CONFIG_PAGE_DEFAULT_SIZE);
try {
if(configPageSize != null && StringUtils.isNotBlank(configPageSize.getConfigValue())){
sessionUser.setPageDefaultSize(Integer.parseInt(configPageSize.getConfigValue()));
}
}catch (Exception e){
}
if(sessionUser.getPageDefaultSize() == null || sessionUser.getPageDefaultSize() <= 0){
sessionUser.setPageDefaultSize(CommonConstWords.CONFIG_PAGE_DEFAULT);
}
return sessionUser;
}
@Override
public List<SysUser> findSysUserByIds(Long[] ids) { public List<SysUser> findSysUserByIds(Long[] ids) {
DdlPackBean ddlPackBean = new DdlPackBean(); DdlPackBean ddlPackBean = new DdlPackBean();
DdlPreparedPack.getInPackArray(ids, "id", ddlPackBean); DdlPreparedPack.getInPackArray(ids, "id", ddlPackBean);

Loading…
Cancel
Save