UserV1ServiceDaoImplMapper.xml 9.2 KB
<?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="userV1ServiceDaoImpl">


    <!-- 保存用户信息 add by wuxw 2018-07-03 -->
    <insert id="saveUserInfo" parameterType="Map">
        insert into u_user(address, sex, user_id, level_cd, location_cd, score, password, name, tel, b_id, email, age)
        values (#{address}, #{sex}, #{userId}, #{levelCd}, #{locationCd}, #{score}, #{password}, #{name}, #{tel},
                #{bId}, #{email}, #{age})
    </insert>


    <!-- 查询用户信息 add by wuxw 2018-07-03 -->
    <select id="getUserInfo" parameterType="Map" resultType="Map">
        select t.address,t.sex,t.status_cd,t.status_cd statusCd,t.user_id,t.user_id userId,t.level_cd,t.level_cd
        levelCd,t.location_cd,t.location_cd locationCd,t.score,t.password,t.name,t.tel,t.b_id,t.b_id bId,t.email,t.age
        from u_user t
        where 1 =1
        <if test="address !=null and address != ''">
            and t.address= #{address}
        </if>
        <if test="sex !=null and sex != ''">
            and t.sex= #{sex}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
        <if test="levelCd !=null and levelCd != ''">
            and t.level_cd= #{levelCd}
        </if>
        <if test="locationCd !=null and locationCd != ''">
            and t.location_cd= #{locationCd}
        </if>
        <if test="score !=null and score != ''">
            and t.score= #{score}
        </if>
        <if test="password !=null and password != ''">
            and t.password= #{password}
        </if>
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="tel !=null and tel != ''">
            and t.tel= #{tel}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="email !=null and email != ''">
            and t.email= #{email}
        </if>
        <if test="age !=null and age != ''">
            and t.age= #{age}
        </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="updateUserInfo" parameterType="Map">
        update u_user t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="address !=null and address != ''">
            , t.address= #{address}
        </if>
        <if test="sex !=null and sex != ''">
            , t.sex= #{sex}
        </if>
        <if test="levelCd !=null and levelCd != ''">
            , t.level_cd= #{levelCd}
        </if>
        <if test="locationCd !=null and locationCd != ''">
            , t.location_cd= #{locationCd}
        </if>
        <if test="score !=null and score != ''">
            , t.score= #{score}
        </if>
        <if test="password !=null and password != ''">
            , t.password= #{password}
        </if>
        <if test="name !=null and name != ''">
            , t.name= #{name}
        </if>
        <if test="tel !=null and tel != ''">
            , t.tel= #{tel}
        </if>
        , t.email= #{email}
        <if test="age !=null and age != ''">
            , t.age= #{age}
        </if>
        where 1=1
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>

    </update>

    <!-- 查询用户数量 add by wuxw 2018-07-03 -->
    <select id="queryUsersCount" parameterType="Map" resultType="Map">
        select count(1) count
        from u_user t
        where 1 =1
        <if test="address !=null and address != ''">
            and t.address= #{address}
        </if>
        <if test="sex !=null and sex != ''">
            and t.sex= #{sex}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
        <if test="levelCd !=null and levelCd != ''">
            and t.level_cd= #{levelCd}
        </if>
        <if test="locationCd !=null and locationCd != ''">
            and t.location_cd= #{locationCd}
        </if>
        <if test="score !=null and score != ''">
            and t.score= #{score}
        </if>
        <if test="password !=null and password != ''">
            and t.password= #{password}
        </if>
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="tel !=null and tel != ''">
            and t.tel= #{tel}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="email !=null and email != ''">
            and t.email= #{email}
        </if>
        <if test="age !=null and age != ''">
            and t.age= #{age}
        </if>


    </select>

    <select id="queryStaffsNoInOrgCount" parameterType="Map" resultType="Map">
        select count(DISTINCT t.user_id) 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 u_org_staff_rel osr on su.user_id = osr.staff_id and osr.status_cd = '0'  and osr.org_id = #{orgId}
        where t.level_cd = '01'
        and su.store_id = #{storeId}
        and  osr.org_id is null
        <if test="staffName !=null and staffName != ''">
            and t.name like concat('%', #{staffName},'%')
        </if>
        <if test="orgIds != null and orgIds.length > 0">
            and osr.org_id in
            <foreach collection="orgIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>

    </select>

    <select id="queryStaffsNoInOrg" parameterType="Map" resultType="Map">
        select DISTINCT t.address,t.sex,t.status_cd,t.status_cd statusCd,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.b_id,t.b_id
        bId,t.email,t.age,t.create_time
        from u_user t
        inner join s_store_user su on t.user_id = su.user_id and su.status_cd = '0'
        LEFT JOIN u_org_staff_rel osr on su.user_id = osr.staff_id and osr.status_cd = '0' and osr.org_id = #{orgId}
        where t.level_cd = '01'
        and su.store_id = #{storeId}
        and  osr.org_id is null
        <if test="staffName !=null and staffName != ''">
            and t.name like concat('%', #{staffName},'%')
        </if>
        <if test="orgIds != null and orgIds.length > 0">
            and osr.org_id in
            <foreach collection="orgIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <select id="getSystemUserCount" parameterType="Map" resultType="Map">
        select count(1) count
        from u_user t
        where t.status_cd = '0'
        and t.level_cd != '00'
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
        <if test="levelCd !=null and levelCd != ''">
            and t.level_cd= #{levelCd}
        </if>
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="nameLike !=null and nameLike != ''">
            and t.name like concat('%', #{nameLike},'%')
        </if>
        <if test="tel !=null and tel != ''">
            and t.tel= #{tel}
        </if>
        <if test="email !=null and email != ''">
            and t.email= #{email}
        </if>
    </select>

    <select id="getSystemUsers" parameterType="Map" resultType="Map">
        select t.user_id userId,t.`name` userName,t.email,t.address,t.tel,t.create_time createTime,t.level_cd levelCd,
        count(oau.app_user_id) ownerCount
        from u_user t
        left join owner_app_user oau on t.user_id = oau.user_id and oau.status_cd = '0'
        where t.status_cd = '0'
        and t.level_cd != '00'
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
        <if test="levelCd !=null and levelCd != ''">
            and t.level_cd= #{levelCd}
        </if>
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="nameLike !=null and nameLike != ''">
            and t.name like concat('%', #{nameLike},'%')
        </if>
        <if test="tel !=null and tel != ''">
            and t.tel= #{tel}
        </if>
        <if test="email !=null and email != ''">
            and t.email= #{email}
        </if>
        group by t.user_id ,t.`name` ,t.email,t.address,t.tel,t.create_time ,t.level_cd
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
</mapper>