物管理后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
4.8 KiB

<?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.thing.sys.biz.mapper.SysMenuMapper">
<select id="getById" resultType="com.thing.sys.biz.entity.SysMenuEntity">
select t1.*,
(select lang.field_value from sys_language lang where lang.table_name='sys_menu' and lang.field_name='name'
and lang.table_id=t1.pid and lang.language=#{language}) as parentName,
(select lang.field_value from sys_language lang where lang.table_name='sys_menu' and lang.field_name='name'
and lang.table_id=t1.id and lang.language=#{language}) as name
from sys_menu t1
where t1.id = #{id}
</select>
<select id="getByUrl" resultType="com.thing.sys.biz.entity.SysMenuEntity">
select t1.*,
(select lang.field_value from sys_language lang where lang.table_name='sys_menu' and lang.field_name='name'
and lang.table_id=t1.pid and lang.language=#{language}) as parentName,
(select lang.field_value from sys_language lang where lang.table_name='sys_menu' and lang.field_name='name'
and lang.table_id=t1.id and lang.language=#{language}) as name
from sys_menu t1
where t1.url = #{url} limit 1
</select>
<select id="getByUrlList" resultType="com.thing.sys.biz.entity.SysMenuEntity">
select t1.*,
(select lang.field_value from sys_language lang where lang.table_name='sys_menu' and lang.field_name='name'
and lang.table_id=t1.pid and lang.language=#{language}) as parentName,
(select lang.field_value from sys_language lang where lang.table_name='sys_menu' and lang.field_name='name'
and lang.table_id=t1.id and lang.language=#{language}) as name
from sys_menu t1
where 1=1
<if test="urlList != null and urlList.size>0">
and t1.url in
<foreach item="url" collection="urlList" open="(" separator="," close=")">
#{url}
</foreach>
</if>
</select>
<select id="getMenuList" resultType="com.thing.sys.biz.entity.SysMenuEntity">
select t1.*, (select lang.field_value from sys_language lang where lang.table_name='sys_menu' and lang.field_name='name'
and lang.table_id=t1.id and lang.language=#{language}) as name
from sys_menu t1
<where>
<if test="type != null">
t1.type = #{type}
</if>
</where>
order by t1.sort asc
</select>
<select id="getSuperAdminMenuList" resultType="com.thing.sys.biz.entity.SysMenuEntity">
select DISTINCT t1.*, (select lang.field_value from sys_language lang where lang.table_name='sys_menu' and lang.field_name='name'
and lang.table_id=t1.id and lang.language=#{language}) as name
from sys_menu t1
where t1.sa_view = 1
<if test="type != null">
and t1.type = #{type}
</if>
<if test="flag == 0">
and t1.description = 'app'
</if>
<if test="flag == null">
AND t1.id not in (SELECT id FROM sys_menu WHERE description ='app')
</if>
order by t1.sort asc
</select>
<select id="getUserMenuList" resultType="com.thing.sys.biz.entity.SysMenuEntity">
select distinct t3.*, (select lang.field_value from sys_language lang where lang.table_name='sys_menu' and lang.field_name='name'
and lang.table_id=t3.id and lang.language=#{language}) as name from sys_role_user t1
inner join sys_role_menu t2 on t1.role_id = t2.role_id
inner join sys_menu t3 on t2.menu_id = t3.id
where t1.user_id = #{userId}
<if test="type != null">
and t3.type = #{type}
</if>
<if test="flag == 0">
and t3.description = 'app'
</if>
<if test="flag == null">
AND t3.id not in (SELECT id FROM sys_menu WHERE description ='app')
</if>
order by t3.sort asc
</select>
<select id="getUserPermissionsList" resultType="string">
select t3.permissions from sys_role_user t1 left join sys_role_menu t2 on t1.role_id = t2.role_id
left join sys_menu t3 on t2.menu_id = t3.id
where t1.user_id = #{userId} order by t3.sort asc
</select>
<select id="getPermissionsList" resultType="string">
select permissions from sys_menu
</select>
<select id="getListPid" resultType="com.thing.sys.biz.entity.SysMenuEntity">
select * from sys_menu where pid = #{value}
</select>
<select id="getCompanyMenuList" resultType="com.thing.sys.biz.entity.SysMenuEntity">
select t3.*, (select lang.field_value from sys_language lang where lang.table_name='sys_menu' and lang.field_name='name'
and lang.table_id=t3.id and lang.language=#{language}) as name from sys_role_user t1
left join sys_role_menu t2 on t1.role_id = t2.role_id
left join sys_menu t3 on t2.menu_id = t3.id
where t1.user_id in (select user_id from sys_tenant where tenant_code = #{tenantCode})
<if test="type != null">
and t3.type = #{type}
</if>
<if test="flag == 0">
and t3.description = 'app'
</if>
<if test="flag == null">
AND t3.id not in (SELECT id FROM sys_menu WHERE description ='app')
</if>
order by t3.sort asc
</select>
</mapper>