<?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.thhy.usercore.modules.sys.mpmenu.mapper.MpMenuMapper">
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
t.menu_id as menuId,
|
t.create_time as createTime,
|
t.create_user as createUser,
|
t.is_use as isUse,
|
t.menu_icon as menuIcon,
|
t.menu_name as menuName,
|
t.menu_tag as menuTag,
|
t.menu_type as menuType,
|
t.menu_url as menuUrl,
|
t.sort as sort,
|
t.update_time as updateTime,
|
t.update_user as updateUser
|
</sql>
|
|
<sql id="condition_query">
|
<where>
|
<trim suffixOverrides=" AND ">
|
t.is_use = 1 AND
|
<if test="createTime!=null">
|
t.create_time = #{createTime} AND
|
</if>
|
<if test="createUser!=null and createUser!=''">
|
t.create_user = #{createUser} AND
|
</if>
|
<if test="isUse!=null">
|
t.is_use = #{isUse} AND
|
</if>
|
<if test="menuIcon!=null and menuIcon!=''">
|
t.menu_icon = #{menuIcon} AND
|
</if>
|
<if test="menuName!=null and menuName!=''">
|
t.menu_name LIKE concat('%',#{menuName},'%') AND
|
</if>
|
<if test="menuTag!=null and menuTag!=''">
|
t.menu_tag = #{menuTag} AND
|
</if>
|
<if test="menuType!=null">
|
t.menu_type = #{menuType} AND
|
</if>
|
<if test="menuUrl!=null and menuUrl!=''">
|
t.menu_url = #{menuUrl} AND
|
</if>
|
<if test="sort!=null">
|
t.sort = #{sort} AND
|
</if>
|
<if test="updateTime!=null">
|
t.update_time = #{updateTime} AND
|
</if>
|
<if test="updateUser!=null">
|
t.update_user = #{updateUser} AND
|
</if>
|
</trim>
|
</where>
|
</sql>
|
|
<select id="queryById" resultType="com.thhy.usercore.modules.sys.mpmenu.entity.MpMenu">
|
select <include refid="Base_Column_List" />
|
from mp_menu t
|
where t.menu_id=#{menuId}
|
</select>
|
|
<select id="queryVersionById" resultType="integer">
|
select version from mp_menu
|
where menu_id=#{menuId}
|
</select>
|
|
<!--查询列表-->
|
<select id="findList" resultType="com.thhy.usercore.modules.sys.mpmenu.entity.MpMenu">
|
SELECT
|
<include refid="Base_Column_List" />,mt.tag_name as menuTagName
|
from mp_menu t
|
left join mp_menu_tag mt on mt.id = t.menu_tag
|
<include refid="condition_query" />
|
</select>
|
|
<!--查询列表-->
|
<select id="findAll" resultType="com.thhy.usercore.modules.sys.mpmenu.entity.MpMenu">
|
SELECT
|
<include refid="Base_Column_List" />
|
from mp_menu t
|
</select>
|
|
<!--插入操作-->
|
<insert id="insert">
|
insert into mp_menu
|
<trim prefix="(" suffix=")" suffixOverrides="," >
|
<if test="createTime != null">
|
create_time,
|
</if>
|
<if test="createUser != null">
|
create_user,
|
</if>
|
<if test="isUse != null">
|
is_use,
|
</if>
|
<if test="menuIcon != null">
|
menu_icon,
|
</if>
|
<if test="menuId != null">
|
menu_id,
|
</if>
|
<if test="menuName != null">
|
menu_name,
|
</if>
|
<if test="menuTag != null">
|
menu_tag,
|
</if>
|
<if test="menuType != null">
|
menu_type,
|
</if>
|
<if test="menuUrl != null">
|
menu_url,
|
</if>
|
<if test="sort != null">
|
sort,
|
</if>
|
<if test="updateTime != null">
|
update_time,
|
</if>
|
<if test="updateUser != null">
|
update_user,
|
</if>
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides="," >
|
<if test="createTime != null">
|
#{createTime},
|
</if>
|
<if test="createUser != null">
|
#{createUser},
|
</if>
|
<if test="isUse != null">
|
#{isUse},
|
</if>
|
<if test="menuIcon != null">
|
#{menuIcon},
|
</if>
|
<if test="menuId != null">
|
#{menuId},
|
</if>
|
<if test="menuName != null">
|
#{menuName},
|
</if>
|
<if test="menuTag != null">
|
#{menuTag},
|
</if>
|
<if test="menuType != null">
|
#{menuType},
|
</if>
|
<if test="menuUrl != null">
|
#{menuUrl},
|
</if>
|
<if test="sort != null">
|
#{sort},
|
</if>
|
<if test="updateTime != null">
|
#{updateTime},
|
</if>
|
<if test="updateUser != null">
|
#{updateUser},
|
</if>
|
</trim>
|
</insert>
|
|
|
<!--更新操作-->
|
<update id="update">
|
update mp_menu
|
<set>
|
<if test="createTime != null">
|
create_time=#{createTime},
|
</if>
|
<if test="createUser != null">
|
create_user=#{createUser},
|
</if>
|
<if test="isUse != null">
|
is_use=#{isUse},
|
</if>
|
<if test="menuIcon != null">
|
menu_icon=#{menuIcon},
|
</if>
|
<if test="menuName != null">
|
menu_name=#{menuName},
|
</if>
|
<if test="menuTag != null">
|
menu_tag=#{menuTag},
|
</if>
|
<if test="menuType != null">
|
menu_type=#{menuType},
|
</if>
|
<if test="menuUrl != null">
|
menu_url=#{menuUrl},
|
</if>
|
<if test="sort != null">
|
sort=#{sort},
|
</if>
|
<if test="updateTime != null">
|
update_time=#{updateTime},
|
</if>
|
<if test="updateUser != null">
|
update_user=#{updateUser},
|
</if>
|
</set>
|
where menu_id=#{menuId}
|
</update>
|
|
<!--逻辑删除-->
|
<update id="deletelogic">
|
update mp_menu
|
SET is_use = 0
|
where menu_id=#{menuId}
|
</update>
|
|
<!--根据ID删除-->
|
<delete id="deleteById">
|
delete from mp_menu
|
where menu_id=#{menuId}
|
</delete>
|
|
<select id="tagList" resultType="com.thhy.usercore.modules.sys.mpmenu.entity.MpMenuTag">
|
select id,tag_name as tagName from mp_menu_tag order by sort
|
</select>
|
|
<select id="selectList" resultType="com.thhy.usercore.modules.sys.mpmenu.entity.MpMenuSelectVo">
|
select t.menu_id as menuId,case when tag.tag_name is NULL then t.menu_name else concat(tag.tag_name,'————',t.menu_name) end as menuName,
|
(select count(id) from mp_menu_role where mp_menu_id = t.menu_id and role_id = #{roleId}) as selected
|
from mp_menu t
|
left join mp_menu_tag tag on tag.id = t.menu_tag
|
where t.menu_type = #{menuType} and t.is_use = 1
|
</select>
|
|
<select id="queryMenuTagByUserId" resultType="com.thhy.usercore.modules.sys.login.entity.MpMenuVo">
|
select tagId,tagName from
|
(select mt.id as tagId,mt.tag_name as tagName,max(mt.sort) as sort
|
from mp_menu_role t
|
left join mp_menu z on t.mp_menu_id = z.menu_id
|
left join sys_user_role sur1 on sur1.role_id = t.role_id
|
left join mp_menu_tag mt on mt.id = z.menu_tag
|
where sur1.user_id = #{userId} AND z.menu_type = 1
|
group by mt.id) a
|
order by a.sort
|
</select>
|
|
<select id="queryMenuByTagAndUser" resultType="com.thhy.usercore.modules.sys.login.entity.MpMenuListVo">
|
select DISTINCT a.menuId,a.menuName,a.menuIcon,a.menuUrl
|
from (select mm.menu_id as menuId,mm.menu_name as menuName,mm.menu_icon as menuIcon,mm.menu_url as menuUrl
|
from mp_menu_role t
|
left join mp_menu mm on t.mp_menu_id = mm.menu_id
|
left join sys_user_role sur1 on sur1.role_id = t.role_id
|
where sur1.user_id = #{userId} and mm.menu_tag = #{tagId} AND mm.menu_type = 1
|
order by mm.sort) a
|
</select>
|
|
<select id="queryMPMenu" resultType="com.thhy.usercore.modules.sys.login.entity.MpMenuVo">
|
select * from (
|
select 2 as tab,mm.menu_id as menuId,mm.menu_name as menuName,mm.menu_icon as menuIcon,mm.menu_url as menuUrl,mmt.id as tagId,mmt.sort,mm.sort as menuSort,99 as count
|
|
from mp_menu_role mmr
|
left join mp_menu mm on mmr.mp_menu_id = mm.menu_id
|
left join mp_menu_tag mmt on mmt.id = mm.menu_tag
|
left join sys_user_role sur on sur.role_id = mmr.role_id
|
where sur.user_id = #{userId} and sur.is_use = 1
|
UNION
|
|
select 1 as tab,'' as menuId,t1.tag_name as menuName,'' as menuIcon,'' as menuUrl,t1.id as tagId, sort,0 as menuSort,
|
(select count(x.id) from mp_menu_role x left join mp_menu z on x.mp_menu_id = z.menu_id left join sys_user_role sur1 on sur1.role_id = x.role_id where sur1.user_id=#{userId} and sur1.is_use = 1 and z.menu_tag = t1.id) as count
|
from mp_menu_tag t1
|
) a
|
where a.count > 0
|
order by a.sort,a.tab,a.menuSort
|
</select>
|
|
<select id="queryMPMenuLW" resultType="com.thhy.usercore.modules.sys.login.entity.MpMenuVo">
|
select DISTINCT a.* from (select mm.menu_id as menuId,mm.menu_name as menuName,mm.menu_icon as menuIcon,mm.menu_url as menuUrl,mm.sort
|
from mp_menu_role mmr
|
left join mp_menu mm on mmr.mp_menu_id = mm.menu_id
|
left join sys_user_role sur on sur.role_id = mmr.role_id
|
where sur.user_id = #{userId} and sur.is_use = 1 and mm.menu_type = 2) a order by a.sort
|
</select>
|
|
</mapper>
|