| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391 |
- <?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.xunmei.system.mapper.SysMenuMapper">
- <resultMap type="com.xunmei.system.domain.SysMenu" id="SysMenuResult">
- <id property="id" column="id"/>
- <result property="menuName" column="menu_name"/>
- <result property="parentId" column="parent_id"/>
- <result property="orderNum" column="order_num"/>
- <result property="path" column="path"/>
- <result property="component" column="component"/>
- <result property="query" column="query"/>
- <result property="isFrame" column="is_frame"/>
- <result property="isCache" column="is_cache"/>
- <result property="menuType" column="menu_type"/>
- <result property="visible" column="visible"/>
- <result property="status" column="status"/>
- <result property="perms" column="perms"/>
- <result property="platformType" column="platform_type"/>
- <result property="icon" column="icon"/>
- <result property="createBy" column="create_by"/>
- <result property="createTime" column="create_time"/>
- <result property="updateTime" column="update_time"/>
- <result property="updateBy" column="update_by"/>
- </resultMap>
- <sql id="selectMenuVo">
- select id,
- menu_name,
- parent_id,
- order_num,
- path,
- component,
- `query`,
- platform_type,
- is_frame,
- is_cache,
- menu_type,
- visible,
- status,
- ifnull(perms, '') as perms,
- icon,
- create_time
- from sys_menu
- </sql>
- <select id="selectMenuList" parameterType="com.xunmei.system.domain.SysMenu" resultMap="SysMenuResult">
- <include refid="selectMenuVo"/>
- <where>
- <if test="menuName != null and menuName != ''">
- AND menu_name like concat('%', #{menuName}, '%')
- </if>
- <if test="visible != null and visible != ''">
- AND visible = #{visible}
- </if>
- <if test="status != null and status != ''">
- AND status = #{status}
- </if>
- </where>
- order by parent_id, order_num
- </select>
- <select id="selectMenuTreeAll" resultMap="SysMenuResult">
- select distinct m.id,
- m.parent_id,
- m.menu_name,
- m.path,
- m.component,
- m.`query`,
- m.visible,
- m.status,
- ifnull(m.perms, '') as perms,
- m.is_frame,
- m.is_cache,
- m.menu_type,
- m.icon,
- m.order_num,
- m.create_time
- from sys_menu m
- where m.menu_type in ('M', 'C')
- and m.status = 0
- and m.platform_type = #{platformType}
- order by m.parent_id, m.order_num
- </select>
- <select id="selectMenuListByUserId" parameterType="com.xunmei.system.domain.SysMenu" resultMap="SysMenuResult">
- SELECT DISTINCT
- m.id,
- m.parent_id,
- m.menu_name,
- m.path,
- m.component,
- m.`query`,
- m.visible,
- m.`status`,
- ifnull( m.perms, '' ) AS perms,
- m.is_frame,
- m.is_cache,
- m.menu_type,
- m.icon,
- m.order_num,
- m.is_frame,
- m.create_time,
- m.perms,
- m.platform_type,
- m.image_path,
- m.create_by,
- m.create_time,
- m.update_by,
- m.update_time,m.remark
- FROM
- sys_menu m
- LEFT JOIN sys_role_menu rm ON m.id = rm.menu_id
- LEFT JOIN sys_user_role ur ON rm.role_id = ur.role_id
- LEFT JOIN sys_role ro ON ur.role_id = ro.id
- where ur.user_id = #{params.userId}
- <if test="menuName != null and menuName != ''">
- AND m.menu_name like concat('%', #{menuName}, '%')
- </if>
- <if test="visible != null and visible != ''">
- AND m.visible = #{visible}
- </if>
- <if test="status != null and status != ''">
- AND m.status = #{status}
- </if>
- <if test="platformType != null and platformType != ''">
- AND m.platform_type = #{platformType}
- </if>
- order by m.platform_type,m.parent_id, m.order_num
- </select>
- <select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult">
- SELECT DISTINCT
- m.id,
- m.parent_id,
- m.menu_name,
- m.path,
- m.component,
- m.`query`,
- m.visible,
- m.STATUS,
- ifnull( m.perms, '' ) AS perms,
- m.is_frame,
- m.is_cache,
- m.menu_type,
- m.icon,
- m.order_num,
- m.create_time
- FROM sys_menu m
- LEFT JOIN sys_role_menu rm ON m.id = rm.menu_id
- LEFT JOIN sys_user_role ur ON rm.role_id = ur.role_id
- LEFT JOIN sys_role ro ON ur.role_id = ro.id
- LEFT JOIN sys_user u ON ur.user_id = u.id
- WHERE u.id = #{userId}
- AND m.menu_type IN ('M', 'C')
- <if test="platformType != null and platformType != ''">
- AND m.platform_type = #{platformType}
- </if>
- AND m.STATUS = 0
- AND ro.STATUS = 0
- ORDER BY m.parent_id,
- m.order_num
- </select>
- <select id="selectMenuListByRoleId" resultType="Long">
- select m.id
- from sys_menu m
- left join sys_role_menu rm on m.id = rm.menu_id
- where rm.role_id = #{roleId}
- <if test="menuCheckStrictly">
- and m.id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.id = rm.menu_id and
- rm.role_id = #{roleId})
- </if>
- order by m.parent_id, m.order_num
- </select>
- <select id="selectMenuPerms" resultType="String">
- select distinct m.perms
- from sys_menu m
- left join sys_role_menu rm on m.menu_id = rm.menu_id
- left join sys_user_role ur on rm.role_id = ur.role_id
- </select>
- <select id="selectMenuPermsByUserId" parameterType="Long" resultType="String">
- SELECT DISTINCT m.perms
- FROM sys_menu m
- LEFT JOIN sys_role_menu rm ON m.id = rm.menu_id
- LEFT JOIN sys_user_role ur ON rm.role_id = ur.role_id
- LEFT JOIN sys_role r ON r.id = ur.role_id
- where m.status = '0'
- and r.status = '0'
- and ur.user_id = #{userId}
- </select>
- <select id="selectMenuPermsByRoleId" parameterType="Long" resultType="String">
- select distinct m.perms
- from sys_menu m
- left join sys_role_menu rm on m.id = rm.menu_id
- where m.status = '0'
- and rm.role_id = #{roleId}
- </select>
- <select id="selectMenuById" parameterType="Long" resultMap="SysMenuResult">
- <include refid="selectMenuVo"/>
- where id = #{id}
- </select>
- <select id="hasChildByMenuId" resultType="Integer">
- select count(1)
- from sys_menu
- where parent_id = #{menuId}
- </select>
- <select id="checkMenuNameUnique" parameterType="com.xunmei.system.domain.SysMenu" resultMap="SysMenuResult">
- <include refid="selectMenuVo"/>
- where menu_name=#{menuName} and parent_id = #{parentId} limit 1
- </select>
- <update id="updateMenu" parameterType="com.xunmei.system.domain.SysMenu">
- update sys_menu
- <set>
- <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="path != null and path != ''">
- path = #{path},
- </if>
- <if test="component != null">
- component = #{component},
- </if>
- <if test="query != null">
- `query` = #{query},
- </if>
- <if test="isFrame != null and isFrame != ''">
- is_frame = #{isFrame},
- </if>
- <if test="isCache != null and isCache != ''">
- is_cache = #{isCache},
- </if>
- <if test="menuType != null and menuType != ''">
- menu_type = #{menuType},
- </if>
- <if test="platformType != null and platformType != ''">
- platform_type = #{platformType},
- </if>
- <if test="visible != null">
- visible = #{visible},
- </if>
- <if test="status != null">
- status = #{status},
- </if>
- <if test="perms !=null">
- perms = #{perms},
- </if>
- <if test="icon !=null and icon != ''">
- icon = #{icon},
- </if>
- <if test="remark != null and remark != ''">
- remark = #{remark},
- </if>
- <if test="updateBy != null and updateBy != ''">
- update_by = #{updateBy},
- </if>
- update_time = sysdate()
- </set>
- where id = #{id}
- </update>
- <insert id="insertMenu" parameterType="com.xunmei.system.domain.SysMenu">
- insert into sys_menu(
- <if test="id != null and id != 0">
- id,
- </if>
- <if test="parentId != null and parentId != 0">
- parent_id,
- </if>
- <if test="menuName != null and menuName != ''">
- menu_name,
- </if>
- <if test="orderNum != null">
- order_num,
- </if>
- <if test="path != null and path != ''">
- path,
- </if>
- <if test="component != null and component != ''">
- component,
- </if>
- <if test="query != null and query != ''">
- `query`,
- </if>
- <if test="isFrame != null and isFrame != ''">
- is_frame,
- </if>
- <if test="isCache != null and isCache != ''">
- is_cache,
- </if>
- <if test="menuType != null and menuType != ''">
- menu_type,
- </if>
- <if test="platformType != null and platformType != ''">
- platform_type,
- </if>
- <if test="visible != null">
- visible,
- </if>
- <if test="status != null">
- status,
- </if>
- <if test="perms !=null and perms != ''">
- perms,
- </if>
- <if test="icon != null and icon != ''">
- icon,
- </if>
- <if test="remark != null and remark != ''">
- remark,
- </if>
- <if test="createBy != null and createBy != ''">
- create_by,
- </if>
- create_time
- )values(
- <if test="id != null and id != 0">
- #{id},
- </if>
- <if test="parentId != null and parentId != 0">
- #{parentId},
- </if>
- <if test="menuName != null and menuName != ''">
- #{menuName},
- </if>
- <if test="orderNum != null">
- #{orderNum},
- </if>
- <if test="path != null and path != ''">
- #{path},
- </if>
- <if test="component != null and component != ''">
- #{component},
- </if>
- <if test="query != null and query != ''">
- #{query},
- </if>
- <if test="isFrame != null and isFrame != ''">
- #{isFrame},
- </if>
- <if test="isCache != null and isCache != ''">
- #{isCache},
- </if>
- <if test="menuType != null and menuType != ''">
- #{menuType},
- </if>
- <if test="platformType != null and platformType != ''">
- #{platformType},
- </if>
- <if test="visible != null">
- #{visible},
- </if>
- <if test="status != null">
- #{status},
- </if>
- <if test="perms !=null and perms != ''">
- #{perms},
- </if>
- <if test="icon != null and icon != ''">
- #{icon},
- </if>
- <if test="remark != null and remark != ''">
- #{remark},
- </if>
- <if test="createBy != null and createBy != ''">
- #{createBy},
- </if>
- sysdate()
- )
- </insert>
- <delete id="deleteMenuById" parameterType="Long">
- delete
- from sys_menu
- where id = #{menuId}
- </delete>
- </mapper>
|