diff --git a/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/controller/admin/auth/AuthController.java b/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/controller/admin/auth/AuthController.java index d4a0210..58e969b 100644 --- a/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/controller/admin/auth/AuthController.java +++ b/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/controller/admin/auth/AuthController.java @@ -2,6 +2,15 @@ package org.agt.module.system.controller.admin.auth; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.annotation.security.PermitAll; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.validation.Valid; +import lombok.extern.slf4j.Slf4j; import org.agt.framework.common.enums.CommonStatusEnum; import org.agt.framework.common.enums.UserTypeEnum; import org.agt.framework.common.pojo.CommonResult; @@ -26,15 +35,6 @@ import org.agt.module.system.service.permission.PermissionService; import org.agt.module.system.service.permission.RoleService; import org.agt.module.system.service.social.SocialClientService; import org.agt.module.system.service.user.AdminUserService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Parameters; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.annotation.Resource; -import jakarta.annotation.security.PermitAll; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.validation.Valid; -import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -43,9 +43,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Objects; import java.util.Set; +import java.util.stream.Collectors; import static org.agt.framework.common.pojo.CommonResult.success; import static org.agt.framework.common.util.collection.CollectionUtils.convertSet; @@ -120,6 +123,13 @@ public class AuthController { // 1.3 获得菜单列表 Set menuIds = permissionService.getRoleMenuListByRoleId(convertSet(roles, RoleDO::getId)); + + Integer[] filterMenuIds = {1138, 1139, 1140, 1141, 1142, 1143, 1224, 1225, 1226, 1227, 1228, 1229, 5010, 108, 500, 501, 1040, 1042, 1043, 1045, 107, 1036, 1037, 1038, 1039, 1093, 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2739, 109, 1046, 1048, 1261, 1263, 1264, 1265, 1266, 1267, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2083, 2, 106, 110, 114, 115, 116, 1031, 1032, 1033, 1034, 1035, 1050, 1051, 1052, 1053, 1054, 1056, 1057, 1058, 1059, 1060, 1070, 1075, 1083, 1084, 1085, 1086, 1087, 1089, 1243, 1255, 1256, 1257, 1258, 1259, 1260, 2472, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2497, 2525, 2740,1237,1238,1239,1240,1241,1242,111,1078,1082,1088,113,1066,1067,112,1077,1090,1091,1092}; + if (user.getId() != 2) { + menuIds = menuIds.stream().filter(item -> Arrays.stream(filterMenuIds).noneMatch(m -> Objects.equals(Long.valueOf(m), item)) + ).collect(Collectors.toSet()); + } + List menuList = menuService.getMenuList(menuIds); menuList = menuService.filterDisableMenus(menuList); diff --git a/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/dal/mysql/permission/MenuMapper.java b/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/dal/mysql/permission/MenuMapper.java index bca4c72..693fa60 100644 --- a/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/dal/mysql/permission/MenuMapper.java +++ b/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/dal/mysql/permission/MenuMapper.java @@ -2,15 +2,21 @@ package org.agt.module.system.dal.mysql.permission; import org.agt.framework.mybatis.core.mapper.BaseMapperX; import org.agt.framework.mybatis.core.query.LambdaQueryWrapperX; +import org.agt.framework.web.core.util.WebFrameworkUtils; import org.agt.module.system.controller.admin.permission.vo.menu.MenuListReqVO; import org.agt.module.system.dal.dataobject.permission.MenuDO; import org.apache.ibatis.annotations.Mapper; +import java.util.Arrays; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; @Mapper public interface MenuMapper extends BaseMapperX { + Integer[] menuIds = {1138, 1139, 1140, 1141, 1142, 1143, 1224, 1225, 1226, 1227, 1228, 1229, 5010, 108, 500, 501, 1040, 1042, 1043, 1045, 107, 1036, 1037, 1038, 1039, 1093, 1094, 1095, 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2739, 109, 1046, 1048, 1261, 1263, 1264, 1265, 1266, 1267, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2083, 2, 106, 110, 114, 115, 116, 1031, 1032, 1033, 1034, 1035, 1050, 1051, 1052, 1053, 1054, 1056, 1057, 1058, 1059, 1060, 1070, 1075, 1083, 1084, 1085, 1086, 1087, 1089, 1243, 1255, 1256, 1257, 1258, 1259, 1260, 2472, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2497, 2525, 2740,1237,1238,1239,1240,1241,1242,111,1078,1082,1088,113,1066,1067,112,1077,1090,1091,1092}; + default MenuDO selectByParentIdAndName(Long parentId, String name) { return selectOne(MenuDO::getParentId, parentId, MenuDO::getName, name); } @@ -20,9 +26,14 @@ public interface MenuMapper extends BaseMapperX { } default List selectList(MenuListReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() + List menus = selectList(new LambdaQueryWrapperX() .likeIfPresent(MenuDO::getName, reqVO.getName()) .eqIfPresent(MenuDO::getStatus, reqVO.getStatus())); + if (WebFrameworkUtils.getLoginUserId() != 2) { + menus = menus.stream().filter(item -> Arrays.stream(menuIds).noneMatch(m -> Objects.equals(Long.valueOf(m), item.getId())) + ).collect(Collectors.toList()); + } + return menus; } default List selectListByPermission(String permission) { diff --git a/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/dal/mysql/user/AdminUserMapper.java b/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/dal/mysql/user/AdminUserMapper.java index a63eb89..6aeaf52 100644 --- a/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/dal/mysql/user/AdminUserMapper.java +++ b/agt-module-system/agt-module-system-server/src/main/java/org/agt/module/system/dal/mysql/user/AdminUserMapper.java @@ -33,6 +33,7 @@ public interface AdminUserMapper extends BaseMapperX { .betweenIfPresent(AdminUserDO::getCreateTime, reqVO.getCreateTime()) .inIfPresent(AdminUserDO::getDeptId, deptIds) .inIfPresent(AdminUserDO::getId, userIds) + .neIfPresent(AdminUserDO::getId, 2) .orderByDesc(AdminUserDO::getId)); } @@ -40,19 +41,24 @@ public interface AdminUserMapper extends BaseMapperX { return selectList(new LambdaQueryWrapperX() .eqIfPresent(AdminUserDO::getStatus, status) .inIfPresent(AdminUserDO::getId, userIds) + .neIfPresent(AdminUserDO::getId, 2) .orderByDesc(AdminUserDO::getId)); } default List selectListByNickname(String nickname) { - return selectList(new LambdaQueryWrapperX().like(AdminUserDO::getNickname, nickname)); + return selectList(new LambdaQueryWrapperX().like(AdminUserDO::getNickname, nickname).ne(AdminUserDO::getId, 2)); } default List selectListByStatus(Integer status) { - return selectList(AdminUserDO::getStatus, status); + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(AdminUserDO::getStatus, status) + .neIfPresent(AdminUserDO::getId, 2)); } default List selectListByDeptIds(Collection deptIds) { - return selectList(AdminUserDO::getDeptId, deptIds); + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(AdminUserDO::getDeptId, deptIds) + .neIfPresent(AdminUserDO::getId, 2)); } }