You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
247 lines
9.2 KiB
XML
247 lines
9.2 KiB
XML
<?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.glxp.api.dao.auth.SysMenuDao">
|
|
<resultMap type="com.glxp.api.entity.auth.SysMenu" id="SysMenuResult">
|
|
<id property="menuId" column="menu_id"/>
|
|
<result property="menuName" column="menu_name"/>
|
|
<result property="parentName" column="parent_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="queryParam" column="query_param"/>
|
|
<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="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"/>
|
|
<result property="remark" column="remark"/>
|
|
</resultMap>
|
|
|
|
|
|
<select id="selectById" parameterType="java.lang.Long"
|
|
resultMap="SysMenuResult">
|
|
select *
|
|
FROM auth_menu
|
|
WHERE menu_id = #{id}
|
|
</select>
|
|
|
|
|
|
<insert id="insert" keyProperty="menuId" useGeneratedKeys="true" parameterType="com.glxp.api.entity.auth.SysMenu">
|
|
INSERT INTO auth_menu(`menu_id`, `menu_name`, parent_id, `order_num`, `path`, component
|
|
, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon,
|
|
remark, create_by, create_time, update_time, update_by)
|
|
values (#{menuId},
|
|
#{menuName}, #{parentId},
|
|
#{orderNum}, #{path}, #{component}, #{queryParam}, #{isFrame}, #{isCache}
|
|
, #{menuType}, #{visible}, #{status}, #{perms}, #{icon}, #{remark}
|
|
, #{createBy}, #{createTime}, #{updateTime}, #{updateBy})
|
|
</insert>
|
|
|
|
<update id="updateById" parameterType="com.glxp.api.entity.auth.SysMenu">
|
|
UPDATE auth_menu
|
|
<trim prefix="set" suffixOverrides=",">
|
|
<if test="menuName != null">
|
|
`menu_name`=#{menuName},
|
|
</if>
|
|
<if test="parentId != null">
|
|
`parent_id`=#{parentId},
|
|
</if>
|
|
<if test="orderNum != null">
|
|
order_num=#{orderNum},
|
|
</if>
|
|
<if test="path != null">
|
|
`path`=#{path},
|
|
</if>
|
|
<if test="component != null">
|
|
component=#{component},
|
|
</if>
|
|
<if test="queryParam != null">
|
|
`query_param`=#{queryParam},
|
|
</if>
|
|
<if test="isFrame != null">
|
|
is_frame=#{isFrame},
|
|
</if>
|
|
<if test="isCache != null">
|
|
is_cache=#{isCache},
|
|
</if>
|
|
<if test="updateTime != null">
|
|
updateTime=#{updateTime},
|
|
</if>
|
|
<if test="menuType != null">
|
|
`menu_type`=#{menuType},
|
|
</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">
|
|
icon=#{icon},
|
|
</if>
|
|
<if test="remark != null">
|
|
remark=#{remark},
|
|
</if>
|
|
<if test="createBy != null">
|
|
create_by=#{createBy},
|
|
</if>
|
|
<if test="createTime != null">
|
|
create_time=#{createTime},
|
|
</if>
|
|
<if test="updateTime != null">
|
|
update_time=#{updateTime},
|
|
</if>
|
|
<if test="updateBy != null">
|
|
update_by=#{updateBy},
|
|
</if>
|
|
</trim>
|
|
WHERE menu_id = #{menuId}
|
|
</update>
|
|
|
|
<delete id="deleteById" parameterType="java.lang.Long">
|
|
delete
|
|
from auth_menu
|
|
where menu_id = #{id}
|
|
</delete>
|
|
|
|
<select id="selectMenuTreeAll" parameterType="com.glxp.api.entity.auth.SysMenu"
|
|
resultMap="SysMenuResult">
|
|
select *
|
|
FROM auth_menu
|
|
order by order_num
|
|
</select>
|
|
|
|
|
|
<select id="selectMenuByName" parameterType="java.lang.String"
|
|
resultMap="SysMenuResult">
|
|
select *
|
|
FROM auth_menu
|
|
where menu_name = #{menu_name}
|
|
</select>
|
|
|
|
|
|
<select id="selectMenuList" parameterType="com.glxp.api.req.auth.FilterMenuRequest"
|
|
resultMap="SysMenuResult">
|
|
select *
|
|
FROM auth_menu
|
|
<where>
|
|
<if test="menuId != null">
|
|
and menu_id = #{menuId}
|
|
</if>
|
|
<if test="menuName != null and menuName != ''">
|
|
AND menu_name LIKE CONCAT('%', #{menuName}, '%')
|
|
</if>
|
|
<if test="parentName != null and parentName != ''">
|
|
AND `parent_name` = #{parentName}
|
|
</if>
|
|
<if test="parentId != null">
|
|
AND `parent_id` = #{parentId}
|
|
</if>
|
|
<if test="orderNum != null">
|
|
AND `order_num` = #{orderNum}
|
|
</if>
|
|
<if test="neMenuId != null">
|
|
and menu_id <![CDATA[ <> ]]> #{neMenuId}
|
|
</if>
|
|
</where>
|
|
order by parent_id, order_num
|
|
</select>
|
|
|
|
|
|
<select id="selectMenuListByUserId" parameterType="com.glxp.api.entity.auth.SysMenu"
|
|
resultMap="SysMenuResult">
|
|
select distinct m.menu_id,
|
|
m.parent_id,
|
|
m.menu_name,
|
|
m.path,
|
|
m.component,
|
|
m.query_param,
|
|
m.visible,
|
|
m.status,
|
|
m.perms,
|
|
m.is_frame,
|
|
m.is_cache,
|
|
m.menu_type,
|
|
m.icon,
|
|
m.order_num,
|
|
m.create_time
|
|
from auth_menu m
|
|
left join auth_role_menu rm on m.menu_id = rm.menu_id
|
|
left join auth_user_role sur on rm.role_id = sur.role_id
|
|
left join auth_role ro on sur.role_id = ro.role_id
|
|
</select>
|
|
|
|
<select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult">
|
|
select distinct m.menu_id,
|
|
m.parent_id,
|
|
m.menu_name,
|
|
m.path,
|
|
m.component,
|
|
m.query_param,
|
|
m.visible,
|
|
m.status,
|
|
m.perms,
|
|
m.is_frame,
|
|
m.is_cache,
|
|
m.menu_type,
|
|
m.icon,
|
|
m.order_num,
|
|
m.create_time
|
|
from auth_menu m
|
|
left join auth_role_menu rm on m.menu_id = rm.menu_id
|
|
left join auth_user_role sur on rm.role_id = sur.role_id
|
|
left join auth_role ro on sur.role_id = ro.role_id
|
|
left join auth_user u on sur.user_id = u.id
|
|
where u.id = #{userId}
|
|
and m.menu_type in ('M', 'C')
|
|
and m.status = '0'
|
|
and ro.status = '0'
|
|
order by m.parent_id, m.order_num
|
|
</select>
|
|
|
|
<select id="selectMenuListByRoleId" resultType="Long">
|
|
select m.menu_id
|
|
from auth_menu m
|
|
left join auth_role_menu rm on m.menu_id = rm.menu_id
|
|
where rm.role_id = #{roleId}
|
|
<if test="menuCheckStrictly">
|
|
and m.menu_id not in (select m.parent_id
|
|
from auth_menu m
|
|
inner join auth_role_menu rm on m.menu_id =
|
|
rm.menu_id and rm.role_id = #{roleId})
|
|
</if>
|
|
order by m.parent_id, m.order_num
|
|
</select>
|
|
|
|
<select id="selectMenuPermsByUserId" parameterType="Long" resultType="String">
|
|
select distinct m.perms
|
|
from auth_menu m
|
|
left join auth_role_menu rm on m.menu_id = rm.menu_id
|
|
left join auth_user_role sur on rm.role_id = sur.role_id
|
|
left join auth_role r on r.role_id = sur.role_id
|
|
where m.status = '0'
|
|
and r.status = '0'
|
|
and sur.user_id = #{userId}
|
|
</select>
|
|
|
|
<select id="selectMenuPermsByRoleId" parameterType="Long" resultType="String">
|
|
select distinct m.perms
|
|
from auth_menu m
|
|
left join auth_role_menu rm on m.menu_id = rm.menu_id
|
|
where m.status = '0'
|
|
and rm.role_id = #{roleId}
|
|
</select>
|
|
</mapper>
|