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.
udi-spms-java/src/main/resources/mybatis/mapper/auth/SysMenuDao.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>