zrj
2024-06-06 292ee9532758985fb944edc5c7324f7a33d178e6
角色查询修改
7 files modified
1 files added
113 ■■■■■ changed files
blade-auth/src/main/java/org/springblade/common/cache/SysCache.java 3 ●●●● patch | view | raw | blame | history
blade-auth/src/main/java/org/springblade/system/controller/RoleController.java 12 ●●●●● patch | view | raw | blame | history
blade-auth/src/main/java/org/springblade/system/mapper/RoleMapper.java 9 ●●●●● patch | view | raw | blame | history
blade-auth/src/main/java/org/springblade/system/mapper/RoleMapper.xml 26 ●●●●● patch | view | raw | blame | history
blade-auth/src/main/java/org/springblade/system/service/IRoleService.java 8 ●●●●● patch | view | raw | blame | history
blade-auth/src/main/java/org/springblade/system/service/impl/RoleServiceImpl.java 14 ●●●●● patch | view | raw | blame | history
blade-auth/src/main/java/org/springblade/system/vo/RoleParam.java 39 ●●●●● patch | view | raw | blame | history
blade-auth/src/main/java/org/springblade/system/wrapper/RoleWrapper.java 2 ●●● patch | view | raw | blame | history
blade-auth/src/main/java/org/springblade/common/cache/SysCache.java
@@ -229,7 +229,8 @@
     * @return Role
     */
    public static Role getRole(Long id) {
        return CacheUtil.get(SYS_CACHE, ROLE_ID, id, () -> roleService.getById(id));
//        return CacheUtil.get(SYS_CACHE, ROLE_ID, id, () -> roleService.getById(id));
        return roleService.getById(id);
    }
    /**
blade-auth/src/main/java/org/springblade/system/controller/RoleController.java
@@ -19,6 +19,7 @@
import org.springblade.system.user.cache.UserCache;
import org.springblade.system.user.entity.User;
import org.springblade.system.vo.GrantVO;
import org.springblade.system.vo.RoleParam;
import org.springblade.system.vo.RoleVO;
import org.springblade.system.wrapper.RoleWrapper;
import org.springframework.web.bind.annotation.*;
@@ -151,4 +152,15 @@
        return R.data(list);
    }
    /**
     * 自定义列表(只获取当前角色下级角色)
     * @param roleParam
     * @return
     */
    @GetMapping("/getRoleList")
    public R<List<RoleVO>> getRoleList(RoleParam roleParam) {
        List<Role> list = roleService.getRoleList(roleParam);
        return R.data(RoleWrapper.build().listNodeVO(list));
    }
}
blade-auth/src/main/java/org/springblade/system/mapper/RoleMapper.java
@@ -18,7 +18,9 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.system.entity.Role;
import org.springblade.system.vo.RoleParam;
import org.springblade.system.vo.RoleVO;
import java.util.List;
@@ -64,4 +66,11 @@
     */
    List<String> getRoleAliases(Long[] ids);
    /**
     * 自定义列表(只获取当前角色下级角色)
     *
     * @param roleParam
     * @return
     */
    List<Role> getRoleList(@Param("roleParam") RoleParam roleParam);
}
blade-auth/src/main/java/org/springblade/system/mapper/RoleMapper.xml
@@ -60,4 +60,30 @@
        and is_deleted = 0
    </select>
    <!--角色查询-->
    <select id="getRoleList" resultType="org.springblade.system.entity.Role">
        SELECT br.* FROM blade_role br
        inner join (
        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,role_alias FROM blade_role t where is_deleted =0 ORDER BY parent_id, id ) t1,
        ( SELECT @pids := #{roleParam.roleId} ) t2
        ) t3
        WHERE id != 1123598816738675201
        <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
            (
            SELECT * FROM blade_role where id = #{roleParam.roleId}
            )
        </if>
    </select>
</mapper>
blade-auth/src/main/java/org/springblade/system/service/IRoleService.java
@@ -19,6 +19,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.system.entity.Role;
import org.springblade.system.vo.RoleParam;
import org.springblade.system.vo.RoleVO;
import javax.validation.constraints.NotEmpty;
@@ -109,4 +110,11 @@
     */
    boolean removeRole(String ids);
    /**
     * 自定义列表(只获取当前角色下级角色)
     * @param roleParam
     * @return
     */
    List<Role> getRoleList(RoleParam roleParam);
}
blade-auth/src/main/java/org/springblade/system/service/impl/RoleServiceImpl.java
@@ -35,6 +35,7 @@
import org.springblade.system.service.IRoleMenuService;
import org.springblade.system.service.IRoleScopeService;
import org.springblade.system.service.IRoleService;
import org.springblade.system.vo.RoleParam;
import org.springblade.system.vo.RoleVO;
import org.springblade.system.wrapper.RoleWrapper;
import org.springframework.stereotype.Service;
@@ -227,4 +228,17 @@
        return removeByIds(Func.toLongList(ids));
    }
    /**
     * 自定义列表(只获取当前角色下级角色)
     *
     * @param roleParam
     * @return
     */
    @Override
    public List<Role> getRoleList(RoleParam roleParam) {
        roleParam.setRoleId(AuthUtil.getUser().getRoleId());
        return baseMapper.getRoleList(roleParam);
    }
}
blade-auth/src/main/java/org/springblade/system/vo/RoleParam.java
New file
@@ -0,0 +1,39 @@
package org.springblade.system.vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.system.entity.Role;
/**
 * 视图实体类
 *
 * @author Chill
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "RoleVO对象", description = "RoleVO对象")
public class RoleParam extends Role {
    private static final long serialVersionUID = 1L;
    /**
     * 是否返回当前层级 0:是  1:否
     */
    private Integer isNowLevel;
    /**
     * 角色id
     */
    private String roleId;
    /**
     * 角色名称
     */
    private String roleName;
    /**
     * 角色别名
     */
    private String roleAlias;
}
blade-auth/src/main/java/org/springblade/system/wrapper/RoleWrapper.java
@@ -21,7 +21,7 @@
import org.springblade.core.tool.node.ForestNodeMerger;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.cache.SysCache;
import org.springblade.common.cache.SysCache;
import org.springblade.system.entity.Role;
import org.springblade.system.vo.RoleVO;