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

113 lines
5.1 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="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>
<sql id="selectWxMenuConfigVo">
select id, project_id, menu_name, menu_identi, menu_img, menu_url, del_flag, menu_sort, create_time, menu_type from wx_menu_config
</sql>
<select id="selectWxMenuConfigList" parameterType="WxMenuConfig" resultMap="WxMenuConfigResult">
<include refid="selectWxMenuConfigVo"/>
<where>
<if test="projectId != null "> and project_id = #{projectId}</if>
<if test="menuName != null and menuName != ''"> and menu_name like concat('%', #{menuName}, '%')</if>
<if test="menuType != null and menuType != ''"> and menu_type = #{menuType}</if>
<if test='activeTags == "sys"'> and project_id is null </if>
and del_flag = 0
</where>
</select>
<select id="selectWxMenuConfigById" parameterType="Long" resultMap="WxMenuConfigResult">
<include refid="selectWxMenuConfigVo"/>
where 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>
<!--查询角色相关菜单-->
<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>