<?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="privilegeDAOImpl">
|
|
<select id="queryUserDefaultPrivilege" parameterType="map" resultType="map">
|
SELECT a.`p_id` pId, a.`privilege_flag` privilegeFlag, a.`user_id` userId
|
FROM p_privilege_user a
|
WHERE a.`p_id` = #{pId}
|
AND a.`user_id` = #{userId}
|
AND a.`privilege_flag` = '1'
|
AND a.`status_cd` = '0'
|
</select>
|
|
<!-- 保存属性信息 c_business_attrs -->
|
<insert id="saveUserDefaultPrivilege" parameterType="Map">
|
<![CDATA[
|
INSERT INTO p_privilege_user(p_id, privilege_flag, user_id, store_id)
|
VALUES (#{pId}, '1', #{userId}, #{storeId})
|
]]>
|
</insert>
|
|
<!-- 删除用户所有权限-->
|
<update id="deleteUserAllPrivilege" parameterType="Map">
|
UPDATE p_privilege_user a
|
SET a.`status_cd` = '1'
|
WHERE a.`user_id` = #{userId}
|
</update>
|
|
<insert id="savePrivilegeGroup" parameterType="map">
|
INSERT INTO p_privilege_group(pg_id, `name`, description, store_id, domain, seq)
|
VALUES (#{pgId}, #{name}, #{description}, #{storeId}, #{storeTypeCd}, #{seq})
|
</insert>
|
|
<update id="updatePrivilegeGroup" parameterType="Map">
|
UPDATE p_privilege_group a SET
|
<if test="name != null and name != ''">
|
a.name = #{name},
|
</if>
|
<if test="description != null and description != ''">
|
a.description = #{description}
|
</if>
|
WHERE 1= 1
|
<if test="storeId != null and storeId != ''">
|
and a.store_id = #{storeId}
|
</if>
|
and a.pg_id = #{pgId}
|
<if test="storeTypeCd != null and storeTypeCd != ''">
|
and a.domain= #{storeTypeCd}
|
</if>
|
</update>
|
|
<!-- 删除权限组 -->
|
<update id="deletePrivilegeGroup" parameterType="Map">
|
UPDATE p_privilege_group a SET a.`status_cd` = '1'
|
WHERE 1= 1
|
<if test="storeId != null and storeId != ''">
|
and a.store_id = #{storeId}
|
</if>
|
and a.pg_id = #{pgId}
|
<if test="storeTypeCd != null and storeTypeCd != ''">
|
and a.domain= #{storeTypeCd}
|
</if>
|
</update>
|
|
<!-- 删除权限组 -->
|
<update id="deletePrivilegeRel" parameterType="Map">
|
UPDATE p_privilege_rel a SET a.`status_cd` = '1'
|
WHERE 1=1
|
<if test="pgId != null and pgId != ''">
|
and a.`pg_id` = #{pgId}
|
</if>
|
<if test="pId != null and pId != ''">
|
and a.`p_id` = #{pId}
|
</if>
|
</update>
|
|
<select id="queryPrivilegeRel" parameterType="Map" resultType="Map">
|
SELECT pp.`name`,
|
pp.`domain`,
|
pp.`p_id` pId,
|
pp.`description`,
|
pp.`create_time` createTime
|
FROM p_privilege pp,
|
p_privilege_rel ppr
|
WHERE ppr.`p_id` = pp.`p_id`
|
AND ppr.`status_cd` = '0'
|
AND pp.`status_cd` = '0'
|
AND ppr.`pg_id` = #{pgId}
|
</select>
|
|
<select id="queryPrivilegeGroup" parameterType="Map" resultType="Map">
|
select ppg.pg_id pgId,ppg.name,ppg.description,ppg.create_time createTime,ppg.store_id storeId,ppg.domain
|
from p_privilege_group ppg
|
where 1=1
|
<if test="pgId !=null and pgId !=''">
|
and ppg.pg_id = #{pgId}
|
</if>
|
<if test="storeId != null and storeId != ''">
|
and ppg.store_id = #{storeId}
|
</if>
|
<if test="storeTypeCd != null and storeTypeCd != ''">
|
and ppg.domain = #{storeTypeCd}
|
</if>
|
and ppg.status_cd = '0'
|
</select>
|
|
<insert id="addPrivilegeRel" parameterType="Map">
|
insert into p_privilege_rel(p_id, pg_id)
|
values (#{pId}, #{pgId})
|
</insert>
|
|
<!-- 查询权限 -->
|
<select id="queryPrivilege" parameterType="Map" resultType="Map">
|
SELECT
|
pp.`p_id` pId,pp.`name`,pp.`description`,pp.`create_time` createTime,pp.`domain`
|
FROM p_privilege pp
|
WHERE 1= 1
|
<if test="type == null">
|
and pp.type is null
|
</if>
|
<if test="pParentId != null and pParentId != ''">
|
and pp.p_parent_id = #{pParentId}
|
</if>
|
<if test="pId != null and pId != ''">
|
and pp.p_id = #{pId}
|
</if>
|
<if test="pId != null and pId != ''">
|
AND pp.domain = '800900000003'
|
</if>
|
AND pp.`status_cd` = '0'
|
</select>
|
|
<!-- 查询用户权限 -->
|
<select id="queryUserPrivilege" parameterType="Map" resultType="Map">
|
SELECT
|
ppu.`pu_id` puId,
|
ppu.`p_id` pId,
|
ppu.`privilege_flag` privilegeFlag,
|
ppu.`user_id` userId
|
FROM
|
p_privilege_user ppu
|
WHERE 1 = 1
|
<if test="privilegeFlag != null and privilegeFlag != ''">
|
AND ppu.`privilege_flag` = #{privilegeFlag}
|
</if>
|
<if test="pId != null and pId != ''">
|
AND ppu.`p_id` = #{pId}
|
</if>
|
<if test="userId != null and userId != ''">
|
AND ppu.`user_id` = #{userId}
|
</if>
|
AND ppu.`status_cd` = '0'
|
</select>
|
|
<!-- 保存属性信息 c_business_attrs -->
|
<insert id="addUserPrivilege" parameterType="Map">
|
<![CDATA[
|
INSERT INTO p_privilege_user(p_id, privilege_flag, user_id, store_id)
|
VALUES (#{pId}, #{privilegeFlag}, #{userId}, #{storeId})
|
]]>
|
</insert>
|
|
<!-- 删除权限组 -->
|
<update id="deleteUserPrivilege" parameterType="Map">
|
update p_privilege_user ppu set ppu.status_cd = '1'
|
where 1=1
|
<if test="pId != null and pId != ''">
|
and ppu.p_id= #{pId}
|
</if>
|
<if test="privilegeFlag != null and privilegeFlag != ''">
|
and ppu.privilege_flag = #{privilegeFlag}
|
</if>
|
<if test="userId != null and userId != ''">
|
and ppu.user_id = #{userId}
|
</if>
|
and ppu.status_cd = '0'
|
</update>
|
|
<select id="queryPrivilegeUsers" parameterType="map" resultType="map">
|
select distinct t.user_id userId
|
from p_privilege_user t
|
INNER JOIN p_privilege p on t.p_id = p.p_id and p.status_cd = '0'
|
where t.privilege_flag = '0'
|
and t.status_cd = '0'
|
<if test="resource != null and resource != ''">
|
and p.resource = #{resource}
|
</if>
|
<if test="userId != null and userId != ''">
|
and t.user_id = #{userId}
|
</if>
|
<if test="storeId != null and storeId != ''">
|
and t.store_id = #{storeId}
|
</if>
|
union ALL
|
select distinct t.user_id userId
|
from p_privilege_user t
|
inner join p_privilege_group pg on t.p_id = pg.pg_id and pg.status_cd = '0' and pg.pg_id != '600201904002'
|
inner join p_privilege_rel pr on pg.pg_id = pr.pg_id and pr.status_cd ='0'
|
INNER JOIN p_privilege p on pr.p_id = p.p_id and p.status_cd = '0'
|
<if test="communityId != null and communityId != ''">
|
LEFT JOIN u_role_community rc on pg.pg_id = rc.role_id and rc.status_cd = '0'
|
</if>
|
where t.status_cd = '0'
|
and t.privilege_flag = '1'
|
<if test="resource != null and resource != ''">
|
and p.resource = #{resource}
|
</if>
|
<if test="storeId != null and storeId != ''">
|
and t.store_id = #{storeId}
|
</if>
|
<if test="userId != null and userId != ''">
|
and t.user_id = #{userId}
|
</if>
|
</select>
|
</mapper>
|