fix: 修改路由排序缺陷

This commit is contained in:
Bunny 2024-11-16 20:08:25 +08:00
parent 2d6bf3daab
commit 6bc4eb0cbd
2 changed files with 17 additions and 0 deletions

View File

@ -73,6 +73,7 @@ public enum ResultCodeEnum {
LOGGED_IN_FROM_ANOTHER_DEVICE(403, "没有权限访问"),
TOKEN_PARSING_FAILED(403, "token解析失败"),
FAIL_NO_ACCESS_DENIED_USER_LOCKED(403, "该账户已封禁"),
ROUTER_RANK_NEED_LARGER_THAN_THE_PARENT(219, "设置路由等级需要大于或等于父级的路由等级"),
// 系统错误 500
UNKNOWN_EXCEPTION(500, "服务异常"),

View File

@ -217,6 +217,14 @@ public class RouterServiceImpl extends ServiceImpl<RouterMapper, Router> impleme
*/
@Override
public void updateMenu(RouterUpdateDto dto) {
// 查询当前路由和父级路由
Router routerParent = getOne(Wrappers.<Router>lambdaQuery().eq(Router::getId, dto.getParentId()));
// 设置路由等级需要大于或等于父级的路由等级
if (routerParent != null && (dto.getRouterRank() < routerParent.getRouterRank())) {
throw new BunnyException(ResultCodeEnum.ROUTER_RANK_NEED_LARGER_THAN_THE_PARENT);
}
// 如果设置的不是外部页面
if (!dto.getMenuType().equals(2)) dto.setFrameSrc("");
@ -258,6 +266,14 @@ public class RouterServiceImpl extends ServiceImpl<RouterMapper, Router> impleme
// 判断更新数据是否存在
if (router == null) throw new BunnyException(ResultCodeEnum.DATA_NOT_EXIST);
// 查询当前路由和父级路由
Router routerParent = getOne(Wrappers.<Router>lambdaQuery().eq(Router::getId, router.getParentId()));
// 设置路由等级需要大于或等于父级的路由等级
if (routerParent != null && (dto.getRouterRank() < routerParent.getRouterRank())) {
throw new BunnyException(ResultCodeEnum.ROUTER_RANK_NEED_LARGER_THAN_THE_PARENT);
}
// 更新排序
router = new Router();
router.setId(dto.getId());