| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 |
- <?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.jzg.organization.mapper.SysUserJzgInfoMapper">
- <resultMap id="BaseResultMap" type="com.jzg.commons.entity.dto.SysUserJzgInfoDto">
- <id column="id" jdbcType="VARCHAR" property="id"/>
- <result column="user_id" jdbcType="VARCHAR" property="userId"/>
- <result column="username" jdbcType="VARCHAR" property="username"/>
- <result column="name" jdbcType="VARCHAR" property="name"/>
- <result column="mobile" jdbcType="VARCHAR" property="mobile"/>
- <result column="work_number" jdbcType="VARCHAR" property="workNumber"/>
- <result column="dept_id" jdbcType="VARCHAR" property="deptId"/>
- <result column="dept_name" jdbcType="VARCHAR" property="deptName"/>
- <result column="type_attr" jdbcType="VARCHAR" property="typeAttr"/>
- <result column="status" jdbcType="INTEGER" property="status"/>
- <result column="is_enable" jdbcType="INTEGER" property="isEnable"/>
- <result column="leader_id" jdbcType="VARCHAR" property="leaderId"/>
- <result column="leader_name" jdbcType="VARCHAR" property="leaderName"/>
- <result column="referrer_id" jdbcType="VARCHAR" property="referrerId"/>
- <result column="referrer_name" jdbcType="VARCHAR" property="referrerName"/>
- <result column="role_name" jdbcType="VARCHAR" property="roleName"/>
- <result column="organization_id" jdbcType="VARCHAR" property="organizationId"/>
- <result column="organization_name" jdbcType="VARCHAR" property="organizationName"/>
- </resultMap>
- <update id="updatePartnerByUserId">
- UPDATE partner_user SET name = #{sysUserJzgInfo.name} WHERE user_id = #{sysUserJzgInfo.userId}
- </update>
- <update id="partnerReview">
- UPDATE sys_user_jzg_info_salesman SET partner_status = #{reviewStatus},partner_review_time = NOW(),partner_reviewer = #{userId} WHERE
- sys_user_jzg_info_id in
- <foreach item="item" index="index" collection="userInfoId" open="(" separator="," close=")">
- #{item}
- </foreach>
- </update>
- <select id="getUserInfoByIdentity" resultType="com.jzg.commons.entity.po.SysUserJzgInfo">
- SELECT
- *
- FROM
- sys_user_jzg_info suji
- left join sys_user su on su.id = suji.user_id
- WHERE
- 1=1
- <if test="identity != null and identity != ''">
- AND su.identity = #{identity}
- </if>
- <if test="userId != null and userId != ''">
- AND suji.user_id = #{userId}
- </if>
- </select>
- <select id="getUserInfoList" resultMap="BaseResultMap">
- select
- suji.id,
- suji.user_id,
- suji.work_number,
- su.username,
- su.mobile,
- suji.name,
- suji.dept_id,
- sd.name as dept_name,
- (SELECT GROUP_CONCAT( s.type_attr SEPARATOR ',' ) FROM sys_user_jzg_info_salesman s WHERE s.sys_user_jzg_info_id = suji.id ) AS type_attr,
- suji.status,
- suji.is_enable,
- suji.leader_id,
- su.username as leader_name,
- suji.referrer_id,
- su.username as referrer_name,
- GROUP_CONCAT(DISTINCT sr.name) as role_name,
- soul.organization_id as organization_id,
- so.name as organization_name,
- suji.create_time as createTime,
- suji.create_by as createBy
- from
- sys_user_jzg_info suji
- left join sys_user su on su.id = suji.user_id
- LEFT JOIN sys_user_jzg_info lsu on lsu.id = suji.leader_id
- left join sys_dept sd on sd.id = suji.dept_id
- left join sys_user_role sur on sur.user_id = su.id
- left join sys_role sr on sr.id = sur.role_id
- left join sys_organization_user_link soul on soul.user_id = suji.user_id
- left join sys_organization so on so.id = soul.organization_id
- LEFT JOIN sys_dept d ON suji.dept_id = d.id
- left join sys_user_jzg_info_salesman sujis on sujis.sys_user_jzg_info_id = suji.id
- where
- 1=1
- and suji.is_delete = 0
- <if test="sysUserInfoListVo.deptId != null and sysUserInfoListVo.deptId != ''">
- and d.route LIKE CONCAT('%', #{sysUserInfoListVo.deptId}, '%')
- </if>
- <if test="sysUserInfoListVo.deptName != null and sysUserInfoListVo.deptName != ''">
- and so.name like concat('%',#{sysUserInfoListVo.deptName},'%')
- </if>
- <if test="sysUserInfoListVo.typeAttr != null and sysUserInfoListVo.typeAttr != ''">
- and suji.type_attr = #{sysUserInfoListVo.typeAttr}
- </if>
- <if test="sysUserInfoListVo.status != null and sysUserInfoListVo.status != '-1'">
- and suji.status = #{sysUserInfoListVo.status}
- </if>
- <if test="sysUserInfoListVo.typeStatus != null and sysUserInfoListVo.typeStatus.size() > 0">
- AND suji.status IN
- <foreach item="status" collection="sysUserInfoListVo.typeStatus"
- open="(" separator="," close=")">
- #{status}
- </foreach>
- </if>
- <if test="sysUserInfoListVo.isEnable != null and sysUserInfoListVo.isEnable != ''">
- and suji.is_enable = #{sysUserInfoListVo.isEnable}
- </if>
- <if test="sysUserInfoListVo.sysOrganizationId != null and sysUserInfoListVo.sysOrganizationId != ''">
- and so.id = #{sysUserInfoListVo.sysOrganizationId}
- </if>
- <if test="sysUserInfoListVo.leaderId != null and sysUserInfoListVo.leaderId != ''">
- and (suji.leader_id = #{sysUserInfoListVo.leaderId}
- or lsu.name = #{sysUserInfoListVo.leaderId})
- </if>
- <if test="sysUserInfoListVo.salesman != null and sysUserInfoListVo.salesman != ''">
- and (suji.name like concat('%',#{sysUserInfoListVo.salesman},'%')
- or su.mobile = #{sysUserInfoListVo.salesman}
- or suji.work_number = #{sysUserInfoListVo.salesman}
- or su.id = #{sysUserInfoListVo.salesman})
- </if>
- <if test="sysUserInfoListVo.isMember!= null and sysUserInfoListVo.isMember!= ''">
- <if test="sysUserInfoListVo.isMember == 1">
- and sujis.type_attr = 2
- </if>
- <if test="sysUserInfoListVo.isMember == 2">
- and sujis.type_attr != 2 AND sujis.type_attr != 3
- </if>
- </if>
- group by suji.id, soul.organization_id, so.name
- order by suji.create_time desc
- </select>
- <select id="getUserByMobile" resultType="com.jzg.commons.entity.po.SysUserJzgInfo">
- SELECT
- *
- FROM
- sys_user_jzg_info suji
- LEFT JOIN sys_user su ON suji.user_id = su.id
- where su.mobile = #{mobile}
- </select>
- <select id="getTenantList" resultType="com.jzg.commons.entity.user.vo.SysTennatVo">
- SELECT
- ss.sys_code as system_code,
- ss.sys_name,
- sd.name as dept_name,
- suf.file_name as sys_icon
- FROM
- sys_user su
- LEFT JOIN sys_user_jzg_info suji ON su.id = suji.user_id
- LEFT JOIN sys_system ss ON suji.system_code = ss.sys_code
- LEFT JOIN sys_dept sd ON sd.id = suji.dept_id
- LEFT JOIN sys_upload_files suf on suf.id = ss.sys_icon
- WHERE
- (
- mobile = #{userId}
- OR username = #{userId})
- AND suji.system_code != 'APP'
- AND suji.is_enable = 0
- </select>
- <select id="getUserJzgInfoByUserId" resultType="com.jzg.commons.entity.po.SysUserJzgInfo">
- SELECT
- *,
- su.identity,
- su.identity_time_start,
- su.identity_time_end,
- (select GROUP_CONCAT(type_attr SEPARATOR ',' ) from sys_user_jzg_info_salesman where sys_user_jzg_info_id = suji.id) as partnerTypeAttr,
- IF(EXISTS ( SELECT id FROM sys_user_jzg_info_salesman WHERE type_attr = 3 AND sys_user_jzg_info_id = suji.id),
- (SELECT GROUP_CONCAT(grade SEPARATOR ',' ) FROM partner_user WHERE user_id = suji.user_id), NULL ) AS gradeList
- FROM
- sys_user_jzg_info suji
- LEFT JOIN sys_user su ON suji.user_id = su.id
- WHERE
- user_id = #{userId}
- </select>
- <select id="getUserInfoBySystemCodeAndUserId" resultType="com.jzg.commons.entity.vo.SalesmanVo">
- SELECT
- suji.name,
- suji.dept_Id as deptId,
- sd.name as deptName,
- suji.type_attr as typeAttr,
- su.mobile as mobile ,
- suji.dept_id as deptId,
- so.name as organizationName,
- so.id as organizationId,
- suji.system_code as systemCode,
- ss.sys_name as systemName,
- ss.short_name as systemShortName
- FROM
- sys_user_jzg_info suji
- LEFT JOIN sys_user su ON suji.user_id = su.id
- left join sys_dept sd on sd.id = suji.dept_id
- left join sys_organization_user_link soul on soul.user_id = su.id
- left join sys_organization so on so.id = soul.organization_id
- left join sys_system ss on ss.sys_code = suji.system_code
- WHERE
- suji.user_id = #{userId}
- </select>
- <select id="selectByUserNameAndMobile" resultType="com.jzg.commons.entity.vo.PartnerRecommenderVo">
- SELECT
- p.grade,
- info.id user_id,
- info.dept_id,
- info.`name`,
- u.mobile,
- ( SELECT GROUP_CONCAT( sa.type_attr SEPARATOR ',' ) FROM sys_user_jzg_info_salesman sa WHERE sa.sys_user_jzg_info_id = p.user_id ) AS typeAttr
- FROM
- partner_user p
- LEFT JOIN sys_user_jzg_info info ON info.id = p.user_id
- LEFT JOIN sys_user u ON u.id = info.user_id
- WHERE
- p.grade = #{grade}
- GROUP BY
- p.grade,
- info.`name`,
- u.mobile,
- info.dept_id,
- p.user_id
- </select>
- <select id="selectPartnerReviewVo" resultType="com.jzg.commons.entity.vo.PartnerReviewVo">
- SELECT
- info.id userInfoId,
- info.`name`,
- info.dept_id,
- info.create_time,
- info.leader_id,
- info.referrer_id,
- u.mobile,
- d.`name` deptName,
- referrer.`name` AS referrerName,
- leader.`name` AS leaderIdName,
- sa.partner_review_time,
- pa.`name` partner_reviewer,
- (SELECT GROUP_CONCAT(grade SEPARATOR ',' ) FROM partner_user p WHERE p.user_id = info.id) gradeList
- FROM
- sys_user_jzg_info info
- LEFT JOIN sys_user u ON u.id = info.user_id
- LEFT JOIN sys_dept d ON d.id = info.dept_id
- LEFT JOIN sys_user_jzg_info referrer ON referrer.id = info.referrer_id
- LEFT JOIN sys_user_jzg_info leader ON leader.id = info.leader_id
- LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = info.id
- LEFT JOIN sys_user_jzg_info pa ON pa.user_id = sa.partner_reviewer
- WHERE
- sa.type_attr = 3
- AND sa.partner_status = #{partnerReviewParam.partnerStatus}
- </select>
- <select id="isPartnerPresent" resultType="java.lang.Boolean">
- SELECT
- IF(COUNT(*) > 0, 1, 0)
- FROM sys_user_jzg_info_salesman
- WHERE type_attr = 3
- AND sys_user_jzg_info_id = #{id};
- </select>
- <select id="isGeneration" resultType="java.lang.Boolean">
- SELECT
- IF(COUNT(*) > 0, 1, 0)
- FROM sys_user_jzg_info_salesman
- WHERE type_attr = 6
- AND sys_user_jzg_info_id = #{id};
- </select>
- <select id="selectByUserIdInfo" resultType="com.jzg.commons.entity.po.SysUserJzgInfo">
- SELECT info.*
- FROM sys_user_jzg_info info
- INNER JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = info.id
- WHERE sa.type_attr = 3 AND info.user_id = #{userId}
- </select>
- <select id="selectTypeAttrs" resultType="java.lang.String">
- SELECT
- sjis.type_attr
- FROM
- sys_user_jzg_info_salesman sjis
- INNER JOIN sys_user_jzg_info suji ON sjis.sys_user_jzg_info_id = suji.id
- WHERE
- suji.user_id = #{userId}
- AND suji.is_delete = 0
- AND suji.is_enable = 0
- AND sjis.sys_user_jzg_info_id IS NOT NULL
- </select>
- </mapper>
|