彭雪彬
2025-07-14 c1d20b425b10e8ba59f102dd1ab413055883eed0
oying-system/src/main/resources/mapper/system/RoleMapper.xml
@@ -16,10 +16,6 @@
            <result column="menu_title" property="title"/>
            <result column="menu_permission" property="permission"/>
        </collection>
        <collection property="depts" ofType="com.oying.modules.system.domain.Dept">
            <id column="dept_id" property="id"/>
            <result column="dept_name" property="name"/>
        </collection>
    </resultMap>
    <sql id="Base_Column_List">
@@ -30,10 +26,6 @@
    <sql id="Menu_Column_List">
        menu.menu_id as menu_id, menu.title as menu_title, menu.permission as menu_permission
    </sql>
    <sql id="Dept_Column_List">
        dept.dept_id as dept_id, dept.name as dept_name
    </sql>
    <sql id="Where_sql">
@@ -57,7 +49,6 @@
    <select id="findAll" resultMap="BaseResultMap">
        select role.*,
        <include refid="Dept_Column_List"/>,
        <include refid="Menu_Column_List"/>
        from (
        select
@@ -72,7 +63,6 @@
        left join sys_roles_menus srm on role.role_role_id = srm.role_id
        left join  sys_menu menu on menu.menu_id = srm.menu_id
        left join sys_roles_depts srd on role.role_role_id = srd.role_id
        left join sys_dept dept on dept.dept_id = srd.dept_id
        order by role.role_level
    </select>
@@ -90,37 +80,24 @@
    <select id="findById" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>,
        <include refid="Dept_Column_List"/>,
        <include refid="Menu_Column_List"/>
        from sys_role role
        left join sys_roles_menus srm on role.role_id = srm.role_id
        left join sys_menu menu on menu.menu_id = srm.menu_id
        left join sys_roles_depts srd on role.role_id = srd.role_id
        left join sys_dept dept on dept.dept_id = srd.dept_id
        where role.role_id = #{roleId}
    </select>
    <select id="findByUserId" resultMap="BaseResultMap">
        SELECT
        <include refid="Base_Column_List"/>,
        <include refid="Dept_Column_List"/>,
        <include refid="Menu_Column_List"/>
        from sys_role role
        left join sys_roles_menus srm on role.role_id = srm.role_id
        left join sys_menu menu on menu.menu_id = srm.menu_id
        left join sys_roles_depts srd on role.role_id = srd.role_id
        left join sys_dept dept on dept.dept_id = srd.dept_id
        left join sys_users_roles ur on role.role_id = ur.role_id
        WHERE role.role_id = ur.role_id AND ur.user_id = #{userId}
    </select>
    <select id="countByDepts" resultType="int">
        select count(*)
        from sys_role r, sys_roles_depts d
        where r.role_id = d.role_id
        and d.dept_id in
        <foreach collection="deptIds" item="deptId" open="(" separator="," close=")">
            #{deptId}
        </foreach>
    </select>
</mapper>