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
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>
|