lizijie
2021-04-09 35bb808ab141e6a3092031ae7ee29028b833e521
screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
@@ -2,17 +2,144 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.moral.api.mapper.ManageMenuMapper">
        <!-- 通用查询映射结果 -->
        <resultMap id="BaseResultMap" type="com.moral.api.entity.ManageMenu">
                    <id column="id" property="id" />
                    <result column="name" property="name" />
                    <result column="url" property="url" />
                    <result column="icon" property="icon" />
                    <result column="parent_id" property="parentId" />
                    <result column="order" property="order" />
                    <result column="create_time" property="createTime" />
                    <result column="update_time" property="updateTime" />
                    <result column="is_delete" property="isDelete" />
        </resultMap>
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.moral.api.entity.ManageMenu">
        <id column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="url" property="url"/>
        <result column="icon" property="icon"/>
        <result column="parent_id" property="parentId"/>
        <result column="order" property="order"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
        <result column="is_delete" property="isDelete"/>
    </resultMap>
    <sql id="Base_Column_List">
        mm.id,mm.name,mm.url,mm.icon,mm.parent_id,mm.order,mm.create_time,mm.update_time,mm.is_delete
    </sql>
    <!--根据角色查询父子结构的菜单-->
    <select id="getAllMenusByRoles" resultMap="BaseResultMap">
        select
        DISTINCT
        <include refid="Base_Column_List"></include>
        from
        manage_menu mm
        join
        manage_role_menu mrm
        on
        mm.`id` = mrm.`menu_id` and mm.`is_delete`=0
        join
        manage_role mr
        on
        mr.`id` = mrm.`role_id` and mr.`id` IN
        <foreach collection="list" separator="," open="(" close=")" item="role">
            #{role.id}
        </foreach>
        where
        mm.`is_delete`=0
    </select>
    <select id="getManageMenuByName" resultMap="BaseResultMap">
        select * from manage_menu
        where name = #{name}
        and is_delete = 0
    </select>
    <select id="getManageMenuById" resultMap="BaseResultMap">
        select * from manage_menu
        where id = #{id}
        and is_delete = 0
    </select>
    <insert id="insertOne" parameterType="java.util.Map">
        INSERT INTO manage_menu
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="name != null">
                name,
            </if>
            <if test="url != null">
                url,
            </if>
            <if test="icon != null">
                icon,
            </if>
            <if test="parent_id != null">
                parent_id,
            </if>
            <if test="order != null">
                `order`,
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="name != null">
                #{name},
            </if>
            <if test="url != null">
                #{url},
            </if>
            <if test="icon != null">
                #{icon},
            </if>
            <if test="parent_id != null">
                #{parent_id},
            </if>
            <if test="order != null">
                #{order},
            </if>
        </trim>
    </insert>
    <update id="updateManageMenuById" parameterType="java.util.Map">
        update manage_menu
        <set>
            <if test="name != null">
                name = #{name},
            </if>
            <if test="url != null">
                url = #{url},
            </if>
            <if test="icon != null">
                icon = #{icon},
            </if>
            <if test="parent_id != null">
                parent_id = #{parent_id},
            </if>
            <if test="order != null">
                `order` = #{order},
            </if>
            <if test="is_delete != null">
                is_delete = #{is_delete},
            </if>
        </set>
        where id = #{id}
    </update>
    <select id="getDataWithPage" parameterType="java.util.Map" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"></include>
        from manage_menu mm
        where mm.is_delete = 0
        limit #{start},#{number}
    </select>
    <select id="getAll" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"></include>
        from manage_menu mm
        where mm.is_delete = 0
    </select>
    <select id="getManageRoleByNameFuzzy" parameterType="java.util.Map" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"></include>
        from manage_menu mm
        where mm.name like concat('%',#{name},'%')
        and mm.is_delete = 0
        limit #{start},#{number}
    </select>
</mapper>