SysMenuMapper.xml 4.04 KB
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.apple.erp.mapper.SysMenuMapper">

    <resultMap type="com.apple.erp.entity.SysMenu" id="SysMenuResult">
        <id property="menuId" column="menu_id"/>
        <result property="menuName" column="menu_name"/>
        <result property="parentId" column="parent_id"/>
        <result property="sort" column="sort"/>
        <result property="path" column="path"/>
        <result property="menuType" column="menu_type"/>
        <result property="status" column="status"/>
        <result property="perms" column="perms"/>
        <result property="icon" column="icon"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
        <result property="updateBy" column="update_by"/>
        <result property="updateTime" column="update_time"/>
        <result property="delFlag" column="del_flag"/>
    </resultMap>

    <sql id="selectMenuVo">
        select menu_id, menu_name, parent_id, sort, path, menu_type, status, perms, icon, create_by, create_time, update_by, update_time, del_flag
        from t_sys_menu
    </sql>

    <select id="selectMenuPermsByUserId" parameterType="Long" resultType="String">
        select distinct m.perms
        from t_sys_menu m
        left join t_sys_role_menu rm on m.menu_id = rm.menu_id
        left join t_sys_user_role ur on rm.role_id = ur.role_id
        left join t_sys_user u on ur.user_id = u.user_id
        where u.user_id = #{userId} and m.menu_type in ('1','2') and m.status = 1 and m.del_flag = '0'
    </select>

    <select id="selectMenuPermsByRoleId" parameterType="Long" resultType="String">
        select distinct m.perms
        from t_sys_menu m
        left join t_sys_role_menu rm on m.menu_id = rm.menu_id
        where rm.role_id = #{roleId} and m.menu_type in ('1','2') and m.status = 1 and m.del_flag = '0'
    </select>

    <select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult">
        select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.menu_type, m.status, m.perms, m.icon, m.create_by, m.create_time, m.update_by, m.update_time, m.del_flag
        from t_sys_menu m
        left join t_sys_role_menu rm on m.menu_id = rm.menu_id
        left join t_sys_user_role ur on rm.role_id = ur.role_id
        left join t_sys_user u on ur.user_id = u.user_id
        where u.user_id = #{userId} and m.menu_type in ('0','1') and m.status = 1 and m.del_flag = '0'
        order by m.parent_id, m.sort
    </select>

    <select id="selectMenuTreeByRoleId" parameterType="Long" resultMap="SysMenuResult">
        select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.menu_type, m.status, m.perms, m.icon, m.create_by, m.create_time, m.update_by, m.update_time, m.del_flag
        from t_sys_menu m
        left join t_sys_role_menu rm on m.menu_id = rm.menu_id
        where rm.role_id = #{roleId} and m.menu_type in ('0','1') and m.status = 1 and m.del_flag = '0'
        order by m.parent_id, m.sort
    </select>

    <select id="selectMenuList" parameterType="com.apple.erp.entity.SysMenu" resultMap="SysMenuResult">
        <include refid="selectMenuVo"/>
        <where>
            <if test="menuName != null and menuName != ''">
                AND menu_name like concat('%', #{menuName}, '%')
            </if>
            <if test="status != null and status != ''">
                AND status = #{status}
            </if>
        </where>
        order by parent_id, sort
    </select>

    <select id="selectMenuById" parameterType="Long" resultMap="SysMenuResult">
        <include refid="selectMenuVo"/>
        where menu_id = #{menuId}
    </select>

    <select id="hasChildByMenuId" parameterType="Long" resultType="int">
        select count(1) from t_sys_menu where parent_id = #{menuId}
    </select>

    <select id="checkMenuExistRole" parameterType="Long" resultType="int">
        select count(1) from t_sys_role_menu where menu_id = #{menuId}
    </select>

</mapper>