Your Name
2023-07-11 d7d9b601b2e4fdb663375993e2cfbdbd363df421
java110-db/src/main/resources/mapper/user/PrivilegeUserV1ServiceDaoImplMapper.xml
@@ -1,106 +1,228 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="privilegeUserV1ServiceDaoImpl">
    <!-- 保存用户权限信息 add by wuxw 2018-07-03 -->
    <insert id="savePrivilegeUserInfo" parameterType="Map">
        insert into p_privilege_user(
privilege_flag,pu_id,p_id,store_id,user_id
) values (
#{privilegeFlag},#{puId},#{pId},#{storeId},#{userId}
)
        insert into p_privilege_user(privilege_flag, pu_id, p_id, store_id, user_id)
        values (#{privilegeFlag}, #{puId}, #{pId}, #{storeId}, #{userId})
    </insert>
    <!-- 查询用户权限信息 add by wuxw 2018-07-03 -->
    <select id="getPrivilegeUserInfo" parameterType="Map" resultType="Map">
        select  t.privilege_flag,t.privilege_flag privilegeFlag,t.pu_id,t.pu_id puId,t.p_id,t.p_id pId,t.status_cd,t.status_cd statusCd,t.store_id,t.store_id storeId,t.user_id,t.user_id userId
from p_privilege_user t
where 1 =1
<if test="privilegeFlag !=null and privilegeFlag != ''">
   and t.privilege_flag= #{privilegeFlag}
</if>
<if test="puId !=null and puId != ''">
   and t.pu_id= #{puId}
</if>
<if test="pId !=null and pId != ''">
   and t.p_id= #{pId}
</if>
<if test="statusCd !=null and statusCd != ''">
   and t.status_cd= #{statusCd}
</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>
order by t.create_time desc
<if test="page != -1 and page != null ">
   limit #{page}, #{row}
</if>
        select t.privilege_flag,t.privilege_flag privilegeFlag,t.pu_id,t.pu_id puId,t.p_id,t.p_id
        pId,t.status_cd,t.status_cd statusCd,t.store_id,t.store_id storeId,t.user_id,t.user_id userId
        <if test='privilegeFlag == "1"  and userId != null and userId != ""'>
            ,pg.`name` roleName
        </if>
        from p_privilege_user t
        <if test='privilegeFlag == "1"  and userId != null and userId != ""'>
            left join p_privilege_group pg on t.p_id = pg.pg_id and pg.status_cd = '0'
        </if>
        where 1 =1
        <if test="privilegeFlag !=null and privilegeFlag != ''">
            and t.privilege_flag= #{privilegeFlag}
        </if>
        <if test="puId !=null and puId != ''">
            and t.pu_id= #{puId}
        </if>
        <if test="pId !=null and pId != ''">
            and t.p_id= #{pId}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </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>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 修改用户权限信息 add by wuxw 2018-07-03 -->
    <update id="updatePrivilegeUserInfo" parameterType="Map">
        update  p_privilege_user t set t.status_cd = #{statusCd}
<if test="newBId != null and newBId != ''">
,t.b_id = #{newBId}
</if>
<if test="privilegeFlag !=null and privilegeFlag != ''">
, t.privilege_flag= #{privilegeFlag}
</if>
<if test="pId !=null and pId != ''">
, t.p_id= #{pId}
</if>
<if test="storeId !=null and storeId != ''">
, t.store_id= #{storeId}
</if>
<if test="userId !=null and userId != ''">
, t.user_id= #{userId}
</if>
 where 1=1 <if test="puId !=null and puId != ''">
and t.pu_id= #{puId}
</if>
        update p_privilege_user t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="privilegeFlag !=null and privilegeFlag != ''">
            , t.privilege_flag= #{privilegeFlag}
        </if>
        <if test="pId !=null and pId != ''">
            , t.p_id= #{pId}
        </if>
        <if test="storeId !=null and storeId != ''">
            , t.store_id= #{storeId}
        </if>
        <if test="userId !=null and userId != ''">
            , t.user_id= #{userId}
        </if>
        where 1=1
        <if test="puId !=null and puId != ''">
            and t.pu_id= #{puId}
        </if>
    </update>
    <!-- 查询用户权限数量 add by wuxw 2018-07-03 -->
     <select id="queryPrivilegeUsersCount" parameterType="Map" resultType="Map">
        select  count(1) count
from p_privilege_user t
where 1 =1
<if test="privilegeFlag !=null and privilegeFlag != ''">
   and t.privilege_flag= #{privilegeFlag}
</if>
<if test="puId !=null and puId != ''">
   and t.pu_id= #{puId}
</if>
<if test="pId !=null and pId != ''">
   and t.p_id= #{pId}
</if>
<if test="statusCd !=null and statusCd != ''">
   and t.status_cd= #{statusCd}
</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 id="queryPrivilegeUsersCount" parameterType="Map" resultType="Map">
        select count(1) count
        from p_privilege_user t
        <if test='privilegeFlag == "1"  and userId != null and userId != ""'>
            left join p_privilege_group pg on t.p_id = pg.pg_id and pg.status_cd = '0'
        </if>
        where 1 =1
        <if test="privilegeFlag !=null and privilegeFlag != ''">
            and t.privilege_flag= #{privilegeFlag}
        </if>
        <if test="puId !=null and puId != ''">
            and t.pu_id= #{puId}
        </if>
        <if test="pId !=null and pId != ''">
            and t.p_id= #{pId}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </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>
    <!-- 查询用户权限数量 add by wuxw 2018-07-03 -->
    <select id="queryPrivilegeUserInfoCount" parameterType="Map" resultType="Map">
        select count(1) count
        from p_privilege_user t
        inner JOIN u_user uu on t.user_id = uu.user_id and uu.status_cd = '0'
        where 1 =1
        <if test="privilegeFlag !=null and privilegeFlag != ''">
            and t.privilege_flag= #{privilegeFlag}
        </if>
        <if test="puId !=null and puId != ''">
            and t.pu_id= #{puId}
        </if>
        <if test="pId !=null and pId != ''">
            and t.p_id= #{pId}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
     </select>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
        <if test="userName !=null and userName != ''">
            and uu.name like concat('%', #{userName},'%')
        </if>
    </select>
    <!-- 查询用户权限信息 add by wuxw 2018-07-03 -->
    <select id="queryPrivilegeUserInfos" parameterType="Map" resultType="Map">
        select t.privilege_flag,t.privilege_flag privilegeFlag,t.pu_id,t.pu_id puId,t.p_id,t.p_id
        pId,t.status_cd,t.status_cd statusCd,t.store_id,t.store_id storeId,t.user_id,t.user_id userId,
        uu.address,uu.sex,uu.user_id,uu.user_id userId,uu.level_cd,uu.level_cd
        levelCd,uu.location_cd,uu.location_cd locationCd,uu.score,uu.name,uu.tel,uu.email,uu.age
        from p_privilege_user t
        inner JOIN u_user uu on t.user_id = uu.user_id and uu.status_cd = '0'
        where 1 =1
        <if test="privilegeFlag !=null and privilegeFlag != ''">
            and t.privilege_flag= #{privilegeFlag}
        </if>
        <if test="puId !=null and puId != ''">
            and t.pu_id= #{puId}
        </if>
        <if test="pId !=null and pId != ''">
            and t.p_id= #{pId}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </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>
        <if test="userName !=null and userName != ''">
            and uu.name like concat('%', #{userName},'%')
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 查询用户权限数量 add by wuxw 2018-07-03 -->
    <select id="queryStaffsNoRoleCount" parameterType="Map" resultType="Map">
        <if test="orgIds != null and orgIds.length > 0">
        select count(*) count from (
        </if>
        select count(1) count
        from u_user t
        inner join s_store_user su on t.user_id = su.user_id and su.status_cd = '0'
        left join p_privilege_user pu on t.user_id = pu.user_id and pu.status_cd = '0' and pu.privilege_flag = '1' and pu.p_id = #{pId}
        <if test="orgIds != null and orgIds.length > 0">
            LEFT JOIN u_org_staff_rel uosr on t.user_id=uosr.staff_id
        </if>
        where t.status_cd = '0'
        and pu.pu_id is null
        <if test="userName !=null and userName != ''">
            and t.name like concat('%', #{userName},'%')
        </if>
        and su.store_id = #{storeId}
        <if test="orgIds != null and orgIds.length > 0">
            and uosr.org_id in
            <foreach collection="orgIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
            AND uosr.status_cd = '0'
            group by t.user_id
        </if>
        <if test="orgIds != null and orgIds.length > 0">
            )a
        </if>
    </select>
    <!-- 查询用户权限信息 add by wuxw 2018-07-03 -->
    <select id="queryStaffsNoRoleInfos" parameterType="Map" resultType="Map">
        select
        t.user_id,t.user_id userId,
        t.address,t.sex,t.user_id,t.user_id userId,t.level_cd,t.level_cd
        levelCd,t.location_cd,t.location_cd locationCd,t.score,t.name,t.tel,t.email,t.age
        from u_user t
        inner join s_store_user su on t.user_id = su.user_id and su.status_cd = '0'
        left join p_privilege_user pu on t.user_id = pu.user_id and pu.status_cd = '0' and pu.privilege_flag = '1' and pu.p_id = #{pId}
        <if test="orgIds != null and orgIds.length > 0">
            LEFT JOIN u_org_staff_rel uosr on t.user_id=uosr.staff_id
        </if>
        where t.status_cd = '0'
        and pu.pu_id is null
        <if test="userName !=null and userName != ''">
            and t.name like concat('%', #{userName},'%')
        </if>
        and su.store_id = #{storeId}
        <if test="orgIds != null and orgIds.length > 0">
            and uosr.org_id in
            <foreach collection="orgIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
            AND uosr.status_cd = '0'
            group by t.user_id
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
</mapper>