| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263 |
- <?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.lc.ibps.platform.dao.PartyRoleProviderDao">
- <select id="getUserRoleJobByUserId" parameterType="string" resultType="string">
- select JOB_ from IBPS_PARTY_EMPLOYEE where ID_ = #{userId}
- </select>
- <update id="updateUserRoleJobByUserId" parameterType="string">
- update IBPS_PARTY_EMPLOYEE set JOB_ = #{job} where ID_ = #{userId}
- </update>
- <resultMap id="PartyRole" type="com.lc.ibps.org.party.persistence.entity.PartyRolePo">
- <id property="id" column="ID_" jdbcType="VARCHAR"/>
- <result property="name" column="NAME_" jdbcType="VARCHAR"/>
- <result property="roleNote" column="ROLE_NOTE_" jdbcType="BLOB"/>
- <result property="roleAlias" column="ROLE_ALIAS_" jdbcType="VARCHAR"/>
- <result property="roleType" column="ROLE_TYPE_" jdbcType="VARCHAR"/>
- <result property="subSystemName" column="SYSTEM_NAME_" jdbcType="VARCHAR"/>
- <result property="subSystemId" column="SYSTEM_ID_" jdbcType="VARCHAR"/>
- <result property="subSystemAlias" column="ALIAS_" jdbcType="VARCHAR"/>
- <result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR"/>
- </resultMap>
- <select id="getRoleByName" resultMap="PartyRole" parameterType="string">
- SELECT
- t1.ID_,
- t1.NAME_,
- t1.ROLE_NOTE_,
- t1.ROLE_ALIAS_,
- t1.TENANT_ID_,
- t1.ROLE_TYPE_,
- t2.SYSTEM_ID_
- FROM IBPS_PARTY_ROLE as t1
- LEFT JOIN (
- select
- SYSTEM_ID_,
- ROLE_ID_,
- NAME_ as SYSTEM_NAME_
- from IBPS_AUTH_ROLE_SYSTEM
- left join IBPS_AUTH_SUBSYS a on a.ID_ = SYSTEM_ID_
- )as t2 on t2.ROLE_ID_ = t1.ID_
- <if test="name != null and name != ''">
- WHERE t1.NAME_ LIKE CONCAT('%',#{name},'%')
- </if>
- </select>
- <resultMap id="Resources" type="com.lc.ibps.org.auth.persistence.entity.ResourcesPo">
- <id property="id" column="ID_" jdbcType="VARCHAR"/>
- <result property="name" column="NAME_" jdbcType="VARCHAR"/>
- <result property="alias" column="ALIAS_" jdbcType="VARCHAR"/>
- <result property="desc" column="DESC_" jdbcType="VARCHAR"/>
- <result property="sn" column="SN_" jdbcType="NUMERIC"/>
- <result property="icon" column="ICON_" jdbcType="VARCHAR"/>
- <result property="resourceType" column="RESOURCE_TYPE_" jdbcType="VARCHAR"/>
- <result property="parentId" column="PARENT_ID_" jdbcType="VARCHAR"/>
- <result property="defaultUrl" column="DEFAULT_URL_" jdbcType="VARCHAR"/>
- <result property="isFolder" column="IS_FOLDER_" jdbcType="CHAR"/>
- <result property="displayInMenu" column="DISPLAY_IN_MENU_" jdbcType="CHAR"/>
- <result property="isOpen" column="IS_OPEN_" jdbcType="CHAR"/>
- <result property="systemId" column="SYSTEM_ID_" jdbcType="VARCHAR"/>
- <result property="path" column="PATH_" jdbcType="VARCHAR"/>
- <result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR"/>
- <result property="tenantType" column="TENANT_TYPE_" jdbcType="VARCHAR"/>
- <result property="createBy" column="CREATE_BY_" jdbcType="VARCHAR"/>
- <result property="createTime" column="CREATE_TIME_" jdbcType="TIMESTAMP"/>
- </resultMap>
- <select id="getResourcesByName" resultMap="Resources" parameterType="string">
- SELECT
- DISTINCT r.*
- FROM IBPS_AUTH_RES AS r
- <choose>
- <when test="name != null and name != ''">
- WHERE (
- EXISTS (
- SELECT 1
- FROM ibps_auth_res m
- WHERE m.NAME_ LIKE CONCAT('%',#{name},'%')
- AND m.ID_ NOT IN (
- select ID_ from IBPS_AUTH_RES
- where PATH_ LIKE CONCAT('%', (select ID_ from IBPS_AUTH_RES where NAME_ = '系统管理' limit 1), '%')
- )
- AND (
- r.PATH_ LIKE CONCAT('%', m.ID_, '%')
- OR
- m.PATH_ LIKE CONCAT('%', r.ID_, '%')
- )
- )
- )
- </when>
- <otherwise>
- where 1=1
- </otherwise>
- </choose>
- AND DISPLAY_IN_MENU_ = 'Y'
- AND ID_ NOT IN (select ID_ from IBPS_AUTH_RES where PATH_ LIKE CONCAT('%', (select ID_ from IBPS_AUTH_RES where NAME_ = '系统管理' limit 1), '%'))
- ORDER BY SN_
- </select>
- <select id="getRoleIdsByResourcesId" parameterType="string" resultType="string">
- SELECT ROLE_ID_ FROM IBPS_AUTH_ROLE_RES
- WHERE RES_ID_ = #{id}
- </select>
- <delete id="deleteRoleResourcesByResourcesId" parameterType="string">
- DELETE FROM IBPS_AUTH_ROLE_RES
- WHERE RES_ID_ = #{pageId}
- AND ROLE_ID_ = (select ID_ from IBPS_PARTY_ROLE where NAME_ = #{roleName} LIMIT 1)
- </delete>
- <insert id="insertRoleResources" parameterType="string">
- insert into IBPS_AUTH_ROLE_RES (ID_, ROLE_ID_, RES_ID_,SYSTEM_ID_)
- values
- (
- (select max(CONVERT(ID_, SIGNED))+1 from IBPS_AUTH_ROLE_RES as t1),
- (select ID_ from IBPS_PARTY_ROLE where NAME_ = #{roleName} LIMIT 1),
- #{resId},
- (select SYSTEM_ID_ from IBPS_AUTH_ROLE_SYSTEM where ROLE_ID_ = (select ID_ from IBPS_PARTY_ROLE where NAME_ = #{roleName} LIMIT 1))
- )
- </insert>
- <!-- RoleDO 结果映射 -->
- <resultMap id="RoleDOMap" type="com.lc.ibps.org.party.persistence.entity.RoleDO">
- <id property="id" column="ID_" jdbcType="VARCHAR"/>
- <result property="name" column="NAME_" jdbcType="VARCHAR"/>
- </resultMap>
- <!-- 查询所有角色 -->
- <select id="getAllRoles" resultMap="RoleDOMap">
- SELECT
- ID_,
- NAME_
- FROM IBPS_PARTY_ROLE
- ORDER BY NAME_
- </select>
- <!-- 查询有效资源并构建显示名称和排序路径,同时过滤父级不显示的菜单 -->
- <select id="getResourcesWithPathPaging" resultType="com.lc.ibps.org.party.persistence.entity.ResourceDO">
- SELECT
- r.ID_ AS id,
- r.NAME_ AS name,
- r.SN_ AS sn,
- r.PARENT_ID_ AS parentId,
- r.PATH_ AS path,
- (
- SELECT GROUP_CONCAT(parent.NAME_ ORDER BY FIND_IN_SET(parent.ID_, REPLACE(r.PATH_, '.', ',')) SEPARATOR '/')
- FROM IBPS_AUTH_RES parent
- WHERE FIND_IN_SET(parent.ID_, REPLACE(r.PATH_, '.', ','))
- ) AS displayName,
- (
- SELECT GROUP_CONCAT(LPAD(parent.SN_, 10, '0') ORDER BY FIND_IN_SET(parent.ID_, REPLACE(r.PATH_, '.', ',')) SEPARATOR '.')
- FROM IBPS_AUTH_RES parent
- WHERE FIND_IN_SET(parent.ID_, REPLACE(r.PATH_, '.', ','))
- ) AS sortPath
- FROM IBPS_AUTH_RES r
- WHERE r.DISPLAY_IN_MENU_ = 'Y'
- AND NOT EXISTS (
- SELECT 1
- FROM (
- SELECT
- SUBSTRING_INDEX(SUBSTRING_INDEX(r.PATH_, '.', numbers.n), '.', -1) AS pid
- FROM (
- SELECT 1 n UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5
- UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10
- ) numbers
- WHERE numbers.n <![CDATA[ <= ]]> (LENGTH(r.PATH_) - LENGTH(REPLACE(r.PATH_, '.', '')) + 1)
- ) path_ids
- LEFT JOIN IBPS_AUTH_RES parent_res ON parent_res.ID_ = path_ids.pid
- WHERE parent_res.ID_ IS NULL OR parent_res.DISPLAY_IN_MENU_ != 'Y'
- )
- <if test="resourceNameFilter != null and resourceNameFilter != ''">
- AND displayName LIKE CONCAT('%', #{resourceNameFilter}, '%')
- </if>
- ORDER BY sortPath
- LIMIT #{offset}, #{limit}
- </select>
- <!-- 统计有效资源总数 -->
- <select id="countResources" resultType="int">
- SELECT COUNT(*)
- FROM (
- SELECT
- r.ID_,
- (
- SELECT GROUP_CONCAT(parent.NAME_ ORDER BY FIND_IN_SET(parent.ID_, REPLACE(r.PATH_, '.', ',')) SEPARATOR '/')
- FROM IBPS_AUTH_RES parent
- WHERE FIND_IN_SET(parent.ID_, REPLACE(r.PATH_, '.', ','))
- ) AS displayName
- FROM IBPS_AUTH_RES r
- WHERE r.DISPLAY_IN_MENU_ = 'Y'
- AND NOT EXISTS (
- SELECT 1
- FROM (
- SELECT
- SUBSTRING_INDEX(SUBSTRING_INDEX(r.PATH_, '.', numbers.n), '.', -1) AS pid
- FROM (
- SELECT 1 n UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5
- UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10
- ) numbers
- WHERE numbers.n <![CDATA[ <= ]]> (LENGTH(r.PATH_) - LENGTH(REPLACE(r.PATH_, '.', '')) + 1)
- ) path_ids
- LEFT JOIN IBPS_AUTH_RES parent_res ON parent_res.ID_ = path_ids.pid
- WHERE parent_res.ID_ IS NULL OR parent_res.DISPLAY_IN_MENU_ != 'Y'
- )
- ) t
- <if test="resourceNameFilter != null and resourceNameFilter != ''">
- WHERE t.displayName LIKE CONCAT('%', #{resourceNameFilter}, '%')
- </if>
- </select>
- <!-- 查询有效的角色-资源权限关系 -->
- <select id="getValidRoleResources" resultType="com.lc.ibps.org.party.persistence.entity.RoleResourceDO">
- SELECT DISTINCT
- rr.ROLE_ID_ AS roleId,
- rr.RES_ID_ AS resId
- FROM IBPS_AUTH_ROLE_RES rr
- WHERE EXISTS (
- SELECT 1 FROM IBPS_PARTY_ROLE r WHERE r.ID_ = rr.ROLE_ID_
- )
- AND EXISTS (
- SELECT 1 FROM IBPS_AUTH_RES r WHERE r.ID_ = rr.RES_ID_ AND r.DISPLAY_IN_MENU_ = 'Y'
- )
- </select>
- <select id="getAllDisplayableResources" resultType="com.lc.ibps.org.party.persistence.entity.ResourceRawDO">
- SELECT
- ID_ AS id,
- NAME_ AS name,
- SN_ AS sn,
- PARENT_ID_ AS parentId,
- PATH_ AS path,
- DISPLAY_IN_MENU_ AS displayInMenu
- FROM IBPS_AUTH_RES
- WHERE DISPLAY_IN_MENU_ = 'Y'
- AND ID_ NOT IN (
- select ID_ from IBPS_AUTH_RES
- where PATH_ LIKE CONCAT('%', (select ID_ from IBPS_AUTH_RES where NAME_ = '系统管理' limit 1), '%')
- )
- </select>
- <select id="getAllUsers" resultType="com.lc.ibps.org.party.persistence.entity.UserDO">
- SELECT
- ID_ AS id,
- NAME_ AS name,
- JOB_ AS job
- FROM IBPS_PARTY_EMPLOYEE
- WHERE STATUS_ != 'deleted'
- <if test="userName != null and userName != ''">
- AND NAME_ LIKE CONCAT('%', #{userName}, '%')
- </if>
- ORDER BY NAME_
- </select>
- </mapper>
|