FrontMenuMapper.xml 8.46 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.lhcredit.project.business.frontMenu.mapper.FrontMenuMapper">

    <resultMap type="FrontMenu" id="FrontMenuResult">
        <result property="menuId"    column="menu_id"    />
        <result property="menuName"    column="menu_name"    />
        <result property="parentId"    column="parent_id"    />
        <result property="parentName"    column="parent_name"    />
        <result property="orderNum"    column="order_num"    />
        <result property="url"    column="url"    />
        <result property="target"    column="target"    />
        <result property="menuType"    column="menu_type"    />
        <result property="visible"    column="visible"    />
        <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="remark"    column="remark"    />
        <result property="route"    column="route"    />
    </resultMap>

	<sql id="selectFrontMenuVo">
        select menu_id, menu_name, parent_id, order_num,route, url, target, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark from front_menu
    </sql>

    <select id="selectFrontMenuList" parameterType="FrontMenu" resultMap="FrontMenuResult">
        <include refid="selectFrontMenuVo"/>
        <where>
            <if test="menuId != null "> and menu_id = #{menuId}</if>
            <if test="menuName != null  and menuName != '' "> and menu_name = #{menuName}</if>
            <if test="parentId != null "> and parent_id = #{parentId}</if>
            <if test="orderNum != null "> and order_num = #{orderNum}</if>
            <if test="route != null  and route != '' "> and route = #{route}</if>
            <if test="url != null  and url != '' "> and url = #{url}</if>
            <if test="target != null  and target != '' "> and target = #{target}</if>
            <if test="menuType != null  and menuType != '' "> and menu_type = #{menuType}</if>
            <if test="visible != null  and visible != '' "> and visible = #{visible}</if>
            <if test="perms != null  and perms != '' "> and perms = #{perms}</if>
            <if test="icon != null  and icon != '' "> and icon = #{icon}</if>
            <if test="createBy != null  and createBy != '' "> and create_by = #{createBy}</if>
            <if test="createTime != null "> and create_time = #{createTime}</if>
            <if test="updateBy != null  and updateBy != '' "> and update_by = #{updateBy}</if>
            <if test="updateTime != null "> and update_time = #{updateTime}</if>
            <if test="remark != null  and remark != '' "> and remark = #{remark}</if>
        </where>
    </select>

    <select id="selectFrontMenuById" parameterType="Long" resultMap="FrontMenuResult">
        <include refid="selectFrontMenuVo"/>
        where menu_id = #{menuId}
    </select>

    <insert id="insertFrontMenu" parameterType="FrontMenu" useGeneratedKeys="true" keyProperty="menuId">
        insert into front_menu
		<trim prefix="(" suffix=")" suffixOverrides=",">
			<if test="menuName != null  and menuName != ''  ">menu_name,</if>
			<if test="parentId != null  ">parent_id,</if>
			<if test="orderNum != null  ">order_num,</if>
            <if test="route != null  and route != '' "> route ,</if>
			<if test="url != null  and url != ''  ">url,</if>
			<if test="target != null  and target != ''  ">target,</if>
			<if test="menuType != null  and menuType != ''  ">menu_type,</if>
			<if test="visible != null  and visible != ''  ">visible,</if>
			<if test="perms != null  and perms != ''  ">perms,</if>
			<if test="icon != null  and icon != ''  ">icon,</if>
			<if test="createBy != null  and createBy != ''  ">create_by,</if>
			<if test="createTime != null  ">create_time,</if>
			<if test="updateBy != null  and updateBy != ''  ">update_by,</if>
			<if test="updateTime != null  ">update_time,</if>
			<if test="remark != null  and remark != ''  ">remark,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
			<if test="menuName != null  and menuName != ''  ">#{menuName},</if>
			<if test="parentId != null  ">#{parentId},</if>
			<if test="orderNum != null  ">#{orderNum},</if>
            <if test="route != null  and route != '' ">#{route},</if>
			<if test="url != null  and url != ''  ">#{url},</if>
			<if test="target != null  and target != ''  ">#{target},</if>
			<if test="menuType != null  and menuType != ''  ">#{menuType},</if>
			<if test="visible != null  and visible != ''  ">#{visible},</if>
			<if test="perms != null  and perms != ''  ">#{perms},</if>
			<if test="icon != null  and icon != ''  ">#{icon},</if>
			<if test="createBy != null  and createBy != ''  ">#{createBy},</if>
			<if test="createTime != null  ">#{createTime},</if>
			<if test="updateBy != null  and updateBy != ''  ">#{updateBy},</if>
			<if test="updateTime != null  ">#{updateTime},</if>
			<if test="remark != null  and remark != ''  ">#{remark},</if>
         </trim>
    </insert>

    <update id="updateFrontMenu" parameterType="FrontMenu">
        update front_menu
        <trim prefix="SET" suffixOverrides=",">
            <if test="menuName != null  and menuName != ''  ">menu_name = #{menuName},</if>
            <if test="parentId != null  ">parent_id = #{parentId},</if>
            <if test="orderNum != null  ">order_num = #{orderNum},</if>
            <if test="route != null  and route != '' ">route = #{route},</if>
            <if test="url != null  and url != ''  ">url = #{url},</if>
            <if test="target != null  and target != ''  ">target = #{target},</if>
            <if test="menuType != null  and menuType != ''  ">menu_type = #{menuType},</if>
            <if test="visible != null  and visible != ''  ">visible = #{visible},</if>
            <if test="perms != null  and perms != ''  ">perms = #{perms},</if>
            <if test="icon != null  and icon != ''  ">icon = #{icon},</if>
            <if test="createBy != null  and createBy != ''  ">create_by = #{createBy},</if>
            <if test="createTime != null  ">create_time = #{createTime},</if>
            <if test="updateBy != null  and updateBy != ''  ">update_by = #{updateBy},</if>
            <if test="updateTime != null  ">update_time = #{updateTime},</if>
            <if test="remark != null  and remark != ''  ">remark = #{remark},</if>
        </trim>
        where menu_id = #{menuId}
    </update>

	<delete id="deleteFrontMenuById" parameterType="Long">
        delete from front_menu where menu_id = #{menuId}
    </delete>

    <delete id="deleteFrontMenuByIds" parameterType="String">
        delete from front_menu where menu_id in
        <foreach item="menuId" collection="array" open="(" separator="," close=")">
            #{menuId}
        </foreach>
    </delete>

    <select id="selectMenuById" parameterType="Long" resultMap="FrontMenuResult">
		SELECT t.menu_id, t.parent_id, t.menu_name, t.order_num, t.route,t.url, t.target, t.menu_type, t.visible, t.perms, t.icon, t.remark,
			(SELECT menu_name FROM front_menu WHERE menu_id = t.parent_id) parent_name
		FROM front_menu t
		where t.menu_id = #{menuId}
	</select>

    <select id="checkMenuNameUnique" parameterType="FrontMenu" resultMap="FrontMenuResult">
        <include refid="selectFrontMenuVo"/>
        where menu_name=#{menuName} and parent_id = #{parentId}
    </select>

    <select id="selectMenuAll" resultMap="FrontMenuResult">
        <include refid="selectFrontMenuVo"/>
        order by parent_id, order_num
    </select>

    <select id="selectMenuAllByUserId" parameterType="Long" resultMap="FrontMenuResult">
	SELECT fm.* FROM `front_user_role` r LEFT JOIN `front_role_menu` m ON r.role_id=m.role_id
                                  LEFT JOIN `front_menu` fm ON m.menu_id=fm.menu_id
                                  WHERE r.user_id=#{userId}
                                        and fm.menu_id IS NOT NULL
	</select>


    <select id="selectMenuTree" parameterType="Long" resultType="String">
		select concat(m.menu_id, ifnull(m.perms,'')) as perms
		from front_menu m
			left join front_role_menu rm on m.menu_id = rm.menu_id
		where rm.role_id = #{roleId}
		order by m.parent_id, m.order_num
	</select>
</mapper>