This commit is contained in:
caozehui
2024-11-20 19:17:22 +08:00
parent e4fa161e5a
commit 44311fc6ec
5 changed files with 69 additions and 90 deletions

View File

@@ -12,6 +12,7 @@ import com.njcn.common.utils.LogUtil;
import com.njcn.gather.user.user.pojo.param.SysFunctionParam; import com.njcn.gather.user.user.pojo.param.SysFunctionParam;
import com.njcn.gather.user.user.pojo.param.SysRoleParam; import com.njcn.gather.user.user.pojo.param.SysRoleParam;
import com.njcn.gather.user.user.pojo.po.SysFunction; import com.njcn.gather.user.user.pojo.po.SysFunction;
import com.njcn.gather.user.user.pojo.vo.MenuVO;
import com.njcn.gather.user.user.service.ISysFunctionService; import com.njcn.gather.user.user.service.ISysFunctionService;
import com.njcn.gather.user.user.service.ISysRoleFunctionService; import com.njcn.gather.user.user.service.ISysRoleFunctionService;
import com.njcn.web.controller.BaseController; import com.njcn.web.controller.BaseController;
@@ -108,39 +109,16 @@ public class SysFunctionController extends BaseController {
} }
} }
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @GetMapping("/getFunctionById")
// @ApiOperation("菜单详情")
// @ApiImplicitParam(name = "id", value = "菜单id", required = true)
// public HttpResult<SysFunction> getFunctionById(String id) {
// String methodDescribe = getMethodDescribe("getFunctionById");
// LogUtil.njcnDebug(log, "{},菜单id为{}", methodDescribe, id);
// SysFunction function = sysFunctionService.getFunctionById(id);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, function, methodDescribe);
// }
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @GetMapping("/getButtonById")
// @ApiOperation("获取按钮")
// @ApiImplicitParam(name = "id", value = "菜单id", required = true)
// public HttpResult<List<SysFunction>> getButtonById(String id) {
// String methodDescribe = getMethodDescribe("getButtonById");
// LogUtil.njcnDebug(log, "{},菜单id为{}", methodDescribe, id);
// List<SysFunction> list = sysFunctionService.getButtonsById(id);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
// }
@OperateInfo(info = LogEnum.SYSTEM_COMMON) @OperateInfo(info = LogEnum.SYSTEM_COMMON)
@GetMapping("/getMenu") @GetMapping("/getMenu")
@ApiOperation("获取菜单") @ApiOperation("获取菜单")
public HttpResult<List<SysFunction>> getMenu(HttpServletRequest request) { public HttpResult<List<MenuVO>> getMenu(HttpServletRequest request) {
String methodDescribe = getMethodDescribe("getMenu"); String methodDescribe = getMethodDescribe("getMenu");
String tokenStr = request.getHeader(SecurityConstants.AUTHORIZATION_KEY); String tokenStr = request.getHeader(SecurityConstants.AUTHORIZATION_KEY);
if (StrUtil.isNotBlank(tokenStr)) { if (StrUtil.isNotBlank(tokenStr)) {
tokenStr.replace(SecurityConstants.AUTHORIZATION_PREFIX, Strings.EMPTY); tokenStr = tokenStr.replace(SecurityConstants.AUTHORIZATION_PREFIX, Strings.EMPTY);
String userId = (String) JwtUtil.parseToken(tokenStr).get("userId"); String userId = (String) (JwtUtil.parseToken(tokenStr).get("userId"));
List<SysFunction> list = sysFunctionService.getMenuByUserId(userId); List<MenuVO> list = sysFunctionService.getMenuByUserId(userId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
} }
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
@@ -153,13 +131,14 @@ public class SysFunctionController extends BaseController {
String methodDescribe = getMethodDescribe("getButton"); String methodDescribe = getMethodDescribe("getButton");
String tokenStr = request.getHeader(SecurityConstants.AUTHORIZATION_KEY); String tokenStr = request.getHeader(SecurityConstants.AUTHORIZATION_KEY);
if (StrUtil.isNotBlank(tokenStr)) { if (StrUtil.isNotBlank(tokenStr)) {
tokenStr.replace(SecurityConstants.AUTHORIZATION_PREFIX, Strings.EMPTY); tokenStr = tokenStr.replace(SecurityConstants.AUTHORIZATION_PREFIX, Strings.EMPTY);
String userId = (String) JwtUtil.parseToken(tokenStr).get("userId"); String userId = (String) JwtUtil.parseToken(tokenStr).get("userId");
Map<String, List<String>> map = sysFunctionService.getButtonByUserId(userId); Map<String, List<String>> map = sysFunctionService.getButtonByUserId(userId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, map, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, map, methodDescribe);
} }
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
} }
@OperateInfo(info = LogEnum.SYSTEM_COMMON) @OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/getFunctionsByRoleId") @PostMapping("/getFunctionsByRoleId")
@ApiOperation("获取角色id绑定的菜单资源") @ApiOperation("获取角色id绑定的菜单资源")

View File

@@ -8,9 +8,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.LogUtil; import com.njcn.common.utils.LogUtil;
import com.njcn.gather.user.user.pojo.param.SysRoleParam; import com.njcn.gather.user.user.pojo.param.SysRoleParam;
import com.njcn.gather.user.user.pojo.po.SysFunction;
import com.njcn.gather.user.user.pojo.po.SysRole; import com.njcn.gather.user.user.pojo.po.SysRole;
import com.njcn.gather.user.user.service.ISysRoleFunctionService;
import com.njcn.gather.user.user.service.ISysRoleService; import com.njcn.gather.user.user.service.ISysRoleService;
import com.njcn.web.controller.BaseController; import com.njcn.web.controller.BaseController;
import com.njcn.web.utils.HttpResultUtil; import com.njcn.web.utils.HttpResultUtil;
@@ -36,7 +34,6 @@ import java.util.List;
@RequiredArgsConstructor @RequiredArgsConstructor
public class SysRoleController extends BaseController { public class SysRoleController extends BaseController {
private final ISysRoleService sysRoleService; private final ISysRoleService sysRoleService;
private final ISysRoleFunctionService sysRoleFunctionService;
@OperateInfo(info = LogEnum.SYSTEM_COMMON) @OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/list") @PostMapping("/list")
@@ -94,36 +91,6 @@ public class SysRoleController extends BaseController {
} }
} }
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @PostMapping("/listRoleByIds")
// @ApiOperation("根据角色id集合查询角色信息")
// @ApiImplicitParam(name = "ids", value = "角色id集合", required = true)
// public HttpResult<List<SysRole>> listRoleByIds(@RequestBody List<String> ids) {
// String methodDescribe = getMethodDescribe("listRoleByIds");
// List<SysRole> roles = sysRoleService.list((new LambdaQueryWrapper<SysRole>().in(CollUtil.isNotEmpty(ids), SysRole::getId, ids)));
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, roles, methodDescribe);
// }
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @PostMapping("/listRoleByType")
// @ApiOperation("根据权限类型查询相关角色")
// @ApiImplicitParam(name = "type", value = "权限类型", required = true)
// public HttpResult<List<SysRole>> listRoleByType(@RequestParam("type") Integer type) {
// String methodDescribe = getMethodDescribe("listRoleByType");
// LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, type);
// List<SysRole> result = sysRoleService.listRoleByType(type);
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
// }
// @OperateInfo(info = LogEnum.SYSTEM_COMMON)
// @GetMapping("/listAllRole")
// @ApiOperation("查询所有角色")
// public HttpResult<List<SysRole>> listAllRole() {
// String methodDescribe = getMethodDescribe("listAllRole");
// List<SysRole> result = sysRoleService.listAllRole();
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
// }
@OperateInfo(info = LogEnum.SYSTEM_COMMON) @OperateInfo(info = LogEnum.SYSTEM_COMMON)
@GetMapping("/simpleList") @GetMapping("/simpleList")
@ApiOperation("查询所有角色作为下拉框") @ApiOperation("查询所有角色作为下拉框")

View File

@@ -4,14 +4,14 @@
<select id="getMenuByUserId" resultType="com.njcn.gather.user.user.pojo.vo.MenuVO"> <select id="getMenuByUserId" resultType="com.njcn.gather.user.user.pojo.vo.MenuVO">
SELECT distinct a.id as id, SELECT distinct a.id as id,
a.path as path, a.path as path,
a.name as name, a.name as name,
if(a.pId!= '0', a.component, '') as component, a.code as code,
if(a.pId = '0', a.component, '') as redirect, a.component as component,
a.icon as icon, a.icon as icon,
a.pId as pId, a.pId as pId,
a.sort as sort a.sort as sort
FROM sys_function a FROM sys_function a
inner join sys_role_function b on a.id = b.Function_Id inner join sys_role_function b on a.id = b.Function_Id
inner join sys_user_role c on b.Role_Id = c.Role_Id inner join sys_user_role c on b.Role_Id = c.Role_Id

View File

@@ -3,6 +3,7 @@ package com.njcn.gather.user.user.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.gather.user.user.pojo.param.SysFunctionParam; import com.njcn.gather.user.user.pojo.param.SysFunctionParam;
import com.njcn.gather.user.user.pojo.po.SysFunction; import com.njcn.gather.user.user.pojo.po.SysFunction;
import com.njcn.gather.user.user.pojo.vo.MenuVO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -52,28 +53,12 @@ public interface ISysFunctionService extends IService<SysFunction> {
*/ */
List<SysFunction> getFunctionTree(boolean isContainButton); List<SysFunction> getFunctionTree(boolean isContainButton);
/**
* 根据id获取菜单资源
*
* @param id 资源id
* @return 资源
*/
//SysFunction getFunctionById(String id);
/**
* 根据菜单资源id获取按钮
*
* @param id 菜单id
* @return 菜单下面所有按钮
*/
//List<SysFunction> getButtonsById(String id);
/** /**
* 根据用户id获取菜单 * 根据用户id获取菜单
* *
* @return 路由菜单 * @return 路由菜单
*/ */
List<SysFunction> getMenuByUserId(String userId); List<MenuVO> getMenuByUserId(String userId);
/** /**
* 根据用户id获取按钮 * 根据用户id获取按钮

View File

@@ -17,7 +17,6 @@ import com.njcn.gather.user.user.pojo.vo.MenuVO;
import com.njcn.gather.user.user.pojo.vo.MetaVO; import com.njcn.gather.user.user.pojo.vo.MetaVO;
import com.njcn.gather.user.user.service.ISysFunctionService; import com.njcn.gather.user.user.service.ISysFunctionService;
import com.njcn.gather.user.user.service.ISysRoleFunctionService; import com.njcn.gather.user.user.service.ISysRoleFunctionService;
import com.njcn.gather.user.user.service.ISysUserRoleService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -37,7 +36,6 @@ import java.util.stream.Collectors;
public class SysFunctionServiceImpl extends ServiceImpl<SysFunctionMapper, SysFunction> implements ISysFunctionService { public class SysFunctionServiceImpl extends ServiceImpl<SysFunctionMapper, SysFunction> implements ISysFunctionService {
private final ISysRoleFunctionService sysRoleFunctionService; private final ISysRoleFunctionService sysRoleFunctionService;
private final ISysUserRoleService sysUserRoleService;
@Override @Override
public List<SysFunction> getFunctionTreeByKeyword(String keyword) { public List<SysFunction> getFunctionTreeByKeyword(String keyword) {
@@ -119,7 +117,7 @@ public class SysFunctionServiceImpl extends ServiceImpl<SysFunctionMapper, SysFu
} }
@Override @Override
public List<SysFunction> getMenuByUserId(String userId) { public List<MenuVO> getMenuByUserId(String userId) {
List<MenuVO> menu = this.baseMapper.getMenuByUserId(userId); List<MenuVO> menu = this.baseMapper.getMenuByUserId(userId);
menu.stream().forEach(m -> { menu.stream().forEach(m -> {
MetaVO meta = new MetaVO(); MetaVO meta = new MetaVO();
@@ -131,8 +129,18 @@ public class SysFunctionServiceImpl extends ServiceImpl<SysFunctionMapper, SysFu
meta.setAffix(false); meta.setAffix(false);
meta.setKeepAlive(true); meta.setKeepAlive(true);
m.setMeta(meta); m.setMeta(meta);
m.setName(m.getCode());
}); });
return menu.stream().filter(fun -> Objects.equals(FunctionConst.FATHER_PID, fun.getPid())).peek(funS -> funS.setChildren(getChildrenList(funS, menu))).sorted(Comparator.comparingInt(SysFunction::getSort)).collect(Collectors.toList()); return menu.stream().filter(fun -> Objects.equals(FunctionConst.FATHER_PID, fun.getPid())).peek(funS -> {
List<SysFunction> childrenList = getChildrenList(funS, menu);
if (ObjectUtil.isNull(childrenList) || childrenList.size() == 0) {
funS.setRedirect(null);
} else {
funS.setRedirect(funS.getComponent());
funS.setComponent(null);
}
funS.setChildren(childrenList);
}).sorted(Comparator.comparingInt(MenuVO::getSort)).collect(Collectors.toList());
} }
@Override @Override
@@ -214,4 +222,44 @@ public class SysFunctionServiceImpl extends ServiceImpl<SysFunctionMapper, SysFu
} }
} }
// @Override
// public List<MenuVO> getMenuByUserId(String userId) {
// List<MenuVO> menu = this.baseMapper.getMenuByUserId(userId);
// HashSet<String> menuIdSet = new HashSet<>();
// menuIdSet.addAll(menu.stream().map(MenuVO::getId).collect(Collectors.toList()));
// menu.stream().forEach(m -> {
// String pids = m.getPids();
// if (StrUtil.isNotBlank(pids)) {
// String[] pidArr = pids.split(",");
// for (String pid : pidArr) {
// menuIdSet.add(pid);
// }
// }
// });
// List<MenuVO> menu this.baseMapper.getMenuByIds(menuIdSet);
// menu.stream().forEach(m -> {
// MetaVO meta = new MetaVO();
// meta.setIcon(m.getIcon());
// meta.setTitle(m.getName());
// meta.setIsLink("");
// meta.setHide(false);
// meta.setFull(false);
// meta.setAffix(false);
// meta.setKeepAlive(true);
// m.setMeta(meta);
// m.setName(m.getCode());
// });
// return menu.stream().filter(fun -> Objects.equals(FunctionConst.FATHER_PID, fun.getPid())).peek(funS -> {
// List<SysFunction> childrenList = getChildrenList(funS, menu);
// if (ObjectUtil.isNull(childrenList) || childrenList.size() == 0) {
// funS.setRedirect(null);
// } else {
// funS.setRedirect(funS.getComponent());
// funS.setComponent(null);
// }
// funS.setChildren(childrenList);
// })
// .sorted(Comparator.comparingInt(MenuVO::getSort)).collect(Collectors.toList());
// }
} }