YZProjectCloud/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigMapper.xml

146 lines
6.8 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.yanzhu.manage.mapper.WxMenuConfigMapper">
<resultMap type="WxMenuConfig" id="WxMenuConfigResult">
<result property="id" column="id" />
<result property="projectId" column="project_id" />
<result property="projectName" column="project_name" />
<result property="menuName" column="menu_name" />
<result property="menuIdenti" column="menu_identi" />
<result property="menuImg" column="menu_img" />
<result property="menuUrl" column="menu_url" />
<result property="delFlag" column="del_flag" />
<result property="menuSort" column="menu_sort" />
<result property="createTime" column="create_time" />
<result property="menuType" column="menu_type" />
</resultMap>
<resultMap id="WxMenuConfigWxMenuConfigRoleResult" type="WxMenuConfig" extends="WxMenuConfigResult">
<collection property="wxMenuConfigRoleList" notNullColumn="sub_smcid" javaType="java.util.List" resultMap="WxMenuConfigRoleResult" />
</resultMap>
<resultMap type="WxMenuConfigRole" id="WxMenuConfigRoleResult">
<result property="smcid" column="sub_smcid" />
<result property="roleId" column="sub_role_id" />
<result property="userId" column="sub_user_id" />
</resultMap>
<sql id="selectWxMenuConfigVo">
select mc.id, mc.project_id, pi.project_name, mc.menu_name, mc.menu_identi, mc.menu_img, mc.menu_url, mc.del_flag, mc.menu_sort, mc.create_time, mc.menu_type from wx_menu_config mc
left join pro_project_info pi on pi.id = mc.project_id
</sql>
<select id="selectWxMenuConfigList" parameterType="WxMenuConfig" resultMap="WxMenuConfigResult">
<include refid="selectWxMenuConfigVo"/>
<where>
<if test="projectId != null "> and mc.project_id = #{projectId}</if>
<if test="activeProjectId != null "> and mc.project_id = #{activeProjectId}</if>
<if test="menuName != null and menuName != ''"> and mc.menu_name like concat('%', #{menuName}, '%')</if>
<if test="menuType != null and menuType != ''"> and mc.menu_type = #{menuType}</if>
</where>
order by mc.menu_sort
</select>
<select id="selectWxMenuConfigById" parameterType="Long" resultMap="WxMenuConfigWxMenuConfigRoleResult">
select a.id, a.project_id, a.menu_name, a.menu_identi, a.menu_img, a.menu_url, a.del_flag, a.menu_sort, a.create_time, a.menu_type,
b.smcid as sub_smcid, b.role_id as sub_role_id, b.user_id as sub_user_id
from wx_menu_config a
left join wx_menu_config_role b on b.smcid = a.id
where a.id = #{id}
</select>
<insert id="insertWxMenuConfig" parameterType="WxMenuConfig" useGeneratedKeys="true" keyProperty="id">
insert into wx_menu_config
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="projectId != null">project_id,</if>
<if test="menuName != null">menu_name,</if>
<if test="menuIdenti != null">menu_identi,</if>
<if test="menuImg != null">menu_img,</if>
<if test="menuUrl != null">menu_url,</if>
<if test="delFlag != null">del_flag,</if>
<if test="menuSort != null">menu_sort,</if>
<if test="createTime != null">create_time,</if>
<if test="menuType != null">menu_type,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="projectId != null">#{projectId},</if>
<if test="menuName != null">#{menuName},</if>
<if test="menuIdenti != null">#{menuIdenti},</if>
<if test="menuImg != null">#{menuImg},</if>
<if test="menuUrl != null">#{menuUrl},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="menuSort != null">#{menuSort},</if>
<if test="createTime != null">#{createTime},</if>
<if test="menuType != null">#{menuType},</if>
</trim>
</insert>
<update id="updateWxMenuConfig" parameterType="WxMenuConfig">
update wx_menu_config
<trim prefix="SET" suffixOverrides=",">
<if test="projectId != null">project_id = #{projectId},</if>
<if test="menuName != null">menu_name = #{menuName},</if>
<if test="menuIdenti != null">menu_identi = #{menuIdenti},</if>
<if test="menuImg != null">menu_img = #{menuImg},</if>
<if test="menuUrl != null">menu_url = #{menuUrl},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="menuSort != null">menu_sort = #{menuSort},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="menuType != null">menu_type = #{menuType},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteWxMenuConfigById" parameterType="Long">
delete from wx_menu_config where id = #{id}
</delete>
<delete id="deleteWxMenuConfigByIds" parameterType="String">
delete from wx_menu_config where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<delete id="deleteWxMenuConfigRoleBySmcids" parameterType="String">
delete from wx_menu_config_role where smcid in
<foreach item="smcid" collection="array" open="(" separator="," close=")">
#{smcid}
</foreach>
</delete>
<delete id="deleteWxMenuConfigRoleBySmcid" parameterType="Long">
delete from wx_menu_config_role where smcid = #{smcid}
</delete>
<insert id="batchWxMenuConfigRole">
insert into wx_menu_config_role( smcid, role_id, user_id) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.smcid}, #{item.roleId}, #{item.userId})
</foreach>
</insert>
<!--查询角色相关菜单-->
<select id="findUserMenuList" parameterType="WxMenuConfig" resultMap="WxMenuConfigResult">
select
distinct smc.id,
smc.menu_name,
smc.menu_identi,
smc.menu_img,
smc.menu_url,
smc.menu_sort
from
wx_menu_config smc
left join wx_menu_config_role smcr on smcr.smcid = smc.id
left join sys_user_role ur on ur.role_id = smcr.role_id
where smc.del_flag = 0
and (ur.user_id = #{currentUserId} or smcr.user_id = #{currentUserId})
<if test="activeProjectId != null"> and smc.project_id = #{activeProjectId}</if>
<if test="menuType != null and menuType != ''"> and smc.menu_type = #{menuType}</if>
order by smc.menu_sort asc
</select>
</mapper>