智慧保安后台管理-外网项目备份
角色查询修改,只查询当前角色下级角色,用户查询排除超级管理员查询,角色数查询除超级管理员查询查全部外,其他角色只查询当有有的权限菜单
8 files modified
86 ■■■■■ changed files
src/main/java/org/springblade/modules/system/controller/MenuController.java 25 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/TenantController.java 9 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/UserController.java 7 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/RoleMapper.xml 13 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml 18 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/MenuServiceImpl.java 3 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/RoleServiceImpl.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/vo/RoleParam.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/MenuController.java
@@ -25,6 +25,7 @@
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.support.Kv;
@@ -173,8 +174,8 @@
    @GetMapping("/routes")
    @ApiOperationSupport(order = 8)
    @ApiOperation(value = "前端菜单数据", notes = "前端菜单数据")
    public R<List<MenuVO>> routes(BladeUser user, Long topMenuId) {
        List<MenuVO> list = menuService.routes((user == null) ? null : user.getRoleId(), topMenuId);
    public R<List<MenuVO>> routes(Long topMenuId) {
        List<MenuVO> list = menuService.routes(AuthUtil.getUser().getRoleId(), topMenuId);
        return R.data(list);
    }
@@ -184,8 +185,8 @@
    @GetMapping("/routes-ext")
    @ApiOperationSupport(order = 9)
    @ApiOperation(value = "前端菜单数据", notes = "前端菜单数据")
    public R<List<MenuVO>> routesExt(BladeUser user, Long topMenuId) {
        List<MenuVO> list = menuService.routesExt(user.getRoleId(), topMenuId);
    public R<List<MenuVO>> routesExt(Long topMenuId) {
        List<MenuVO> list = menuService.routesExt(AuthUtil.getUser().getRoleId(), topMenuId);
        return R.data(list);
    }
@@ -195,8 +196,8 @@
    @GetMapping("/buttons")
    @ApiOperationSupport(order = 10)
    @ApiOperation(value = "前端按钮数据", notes = "前端按钮数据")
    public R<List<MenuVO>> buttons(BladeUser user) {
        List<MenuVO> list = menuService.buttons(user.getRoleId());
    public R<List<MenuVO>> buttons() {
        List<MenuVO> list = menuService.buttons(AuthUtil.getUser().getRoleId());
        return R.data(list);
    }
@@ -217,7 +218,8 @@
    @GetMapping("/grant-tree")
    @ApiOperationSupport(order = 12)
    @ApiOperation(value = "权限分配树形结构", notes = "权限分配树形结构")
    public R<GrantTreeVO> grantTree(BladeUser user) {
    public R<GrantTreeVO> grantTree() {
        BladeUser user = AuthUtil.getUser();
        GrantTreeVO vo = new GrantTreeVO();
        vo.setMenu(menuService.grantTree(user));
        vo.setDataScope(menuService.grantDataScopeTree(user));
@@ -245,7 +247,8 @@
    @GetMapping("/grant-top-tree")
    @ApiOperationSupport(order = 14)
    @ApiOperation(value = "顶部菜单树形结构", notes = "顶部菜单树形结构")
    public R<GrantTreeVO> grantTopTree(BladeUser user) {
    public R<GrantTreeVO> grantTopTree() {
        BladeUser user = AuthUtil.getUser();
        GrantTreeVO vo = new GrantTreeVO();
        vo.setMenu(menuService.grantTopTree(user));
        return R.data(vo);
@@ -269,7 +272,8 @@
    @GetMapping("/top-menu")
    @ApiOperationSupport(order = 16)
    @ApiOperation(value = "顶部菜单数据", notes = "顶部菜单数据")
    public R<List<TopMenu>> topMenu(BladeUser user) {
    public R<List<TopMenu>> topMenu() {
        BladeUser user = AuthUtil.getUser();
        if (Func.isEmpty(user)) {
            return null;
        }
@@ -283,7 +287,8 @@
    @GetMapping("auth-routes")
    @ApiOperationSupport(order = 17)
    @ApiOperation(value = "菜单的角色权限")
    public R<List<Kv>> authRoutes(BladeUser user) {
    public R<List<Kv>> authRoutes() {
        BladeUser user = AuthUtil.getUser();
        if (Func.isEmpty(user)) {
            return null;
        }
src/main/java/org/springblade/modules/system/controller/TenantController.java
@@ -20,6 +20,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.qiniu.util.Auth;
import io.swagger.annotations.*;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
@@ -29,6 +30,7 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.annotation.PreAuth;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant;
@@ -99,9 +101,12 @@
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "下拉数据源", notes = "传入tenant")
    //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
    public R<List<Tenant>> select(Tenant tenant, BladeUser bladeUser) {
    public R<List<Tenant>> select() {
        BladeUser user = AuthUtil.getUser();
        Tenant tenant = new Tenant();
        tenant.setTenantId(AuthUtil.getTenantId());
        QueryWrapper<Tenant> queryWrapper = Condition.getQueryWrapper(tenant);
        List<Tenant> list = tenantService.list((!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Tenant::getTenantId, bladeUser.getTenantId()) : queryWrapper);
        List<Tenant> list = tenantService.list((!user.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Tenant::getTenantId, user.getTenantId()) : queryWrapper);
        return R.data(list);
    }
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -199,11 +199,8 @@
    })
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "列表", notes = "传入account和realName")
    //@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
    public R<IPage<UserVO>> page(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) {
        System.out.println("在线更新代码.... ");
        IPage<UserVO> pages = userService.selectUserPage(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId()));
        System.out.println("=================在线更新代码==================");
    public R<IPage<UserVO>> page(@ApiIgnore User user, Query query, Long deptId) {
        IPage<UserVO> pages = userService.selectUserPage(Condition.getPage(query), user, deptId, (AuthUtil.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : AuthUtil.getTenantId()));
        return R.data(pages);
    }
src/main/java/org/springblade/modules/system/mapper/RoleMapper.xml
@@ -97,12 +97,17 @@
            SELECT * FROM
            (
                SELECT t1.*,IF( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild FROM
                ( SELECT id, parent_id,role_name FROM blade_role t where is_deleted =0 ORDER BY parent_id, id ) t1,
                ( SELECT id, parent_id,role_name,role_alias FROM blade_role t where is_deleted =0 ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{roleParam.roleId} ) t2
            ) t3
            WHERE
            ischild != 0
        ) on br.id = t3.id
            WHERE id != 1123598816738675201 and id != #{roleParam.roleId}
            <if test="roleParam.roleName!=null and roleParam.roleName!=''">
                and role_name like concat('%',#{roleParam.roleName},'%')
            </if>
            <if test="roleParam.roleAlias!=null and roleParam.roleAlias!=''">
                and role_alias like concat('%',#{roleParam.roleAlias},'%')
            </if>
        ) t4 on br.id = t4.id
        <if test="roleParam.isNowLevel==0">
            union all
            (
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -344,21 +344,13 @@
        </if>
    </select>
    <!--用户列表信息-->
    <select id="selectUserPage" resultMap="userResultMap">
        select bu.* from blade_user bu
        left join
        blade_dept bd
        on
        bd.id = bu.dept_id
        left join
        sys_jurisdiction sj
        on
        sj.id = bu.jurisdiction
        left join
        blade_role br
        on
        br.id = bu.role_id
        where bu.is_deleted = 0
        left join blade_dept bd on bd.id = bu.dept_id
        left join sys_jurisdiction sj on sj.id = bu.jurisdiction
        left join blade_role br on br.id = bu.role_id
        where bu.is_deleted = 0 and bu.id != 1123598821738675201
        <if test="user.tenantId!=null and user.tenantId != ''">
            and tenant_id = #{user.tenantId}
        </if>
src/main/java/org/springblade/modules/system/service/impl/MenuServiceImpl.java
@@ -24,6 +24,7 @@
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.constant.RoleConstant;
import org.springblade.core.tool.node.ForestNodeMerger;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.Func;
@@ -154,7 +155,7 @@
    @Override
    public List<MenuVO> grantTree(BladeUser user) {
        return ForestNodeMerger.merge(user.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? baseMapper.grantTree() : baseMapper.grantTreeByRole(Func.toLongList(user.getRoleId())));
        return ForestNodeMerger.merge(AuthUtil.getUser().getRoleName().equals(RoleConstant.ADMINISTRATOR) ? baseMapper.grantTree() : baseMapper.grantTreeByRole(Func.toLongList(user.getRoleId())));
    }
    @Override
src/main/java/org/springblade/modules/system/service/impl/RoleServiceImpl.java
@@ -198,6 +198,7 @@
            }
            role.setTenantId(parent.getTenantId());
        }
        role.setParentId(Long.parseLong(AuthUtil.getUser().getRoleId()));
        role.setIsDeleted(BladeConstant.DB_NOT_DELETED);
        return saveOrUpdate(role);
    }
src/main/java/org/springblade/modules/system/vo/RoleParam.java
@@ -50,4 +50,14 @@
     * 角色id
     */
    private String roleId;
    /**
     * 角色名称
     */
    private String roleName;
    /**
     * 角色别名
     */
    private String roleAlias;
}