|
|
@@ -4,87 +4,96 @@
|
|
|
|
|
|
|
|
|
<select id="queryPage" resultType="com.jzg.entity.vo.PartnerUserVo">
|
|
|
- SELECT
|
|
|
- db.`name`,
|
|
|
- db.partStatus,
|
|
|
- db.mobile,
|
|
|
- db.dept_id,
|
|
|
- db.grade,
|
|
|
- info.user_id,
|
|
|
- info.create_by,
|
|
|
- info.create_time,
|
|
|
- d.`name` deptName,
|
|
|
- (SELECT sa.partner_status FROM sys_user_jzg_info_salesman sa WHERE sa.type_attr = 3 AND sa.sys_user_jzg_info_id = info.id) AS `status`,
|
|
|
- info.referrer_id,
|
|
|
- info.create_time,
|
|
|
- referrer.`name` AS referrerName,
|
|
|
- info.leader_id,
|
|
|
- leader.`name` AS leaderIdName,
|
|
|
- (SELECT sum(pd.extract_fee) FROM partner_premium_details pd WHERE pd.user_id = db.user_id) kickback,
|
|
|
- (SELECT sum(distinct pr.sumpremium) FROM partner_premium_details pr WHERE pr.user_id = db.user_id) premium,
|
|
|
- ( SELECT GROUP_CONCAT( s.type_attr SEPARATOR ',' ) FROM sys_user_jzg_info_salesman s WHERE s.sys_user_jzg_info_id = info.id ) AS typeAttr
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- `name`,
|
|
|
- `status` as partStatus,
|
|
|
- mobile,
|
|
|
- user_id,
|
|
|
- dept_id,
|
|
|
- GROUP_CONCAT( grade SEPARATOR ',' ) AS grade
|
|
|
- FROM
|
|
|
- partner_user
|
|
|
- <where>
|
|
|
- grade BETWEEN 1 AND 4
|
|
|
- <if test="queryVo.name != null and queryVo.name != ''">
|
|
|
- and name like concat('%', #{queryVo.name}, '%')
|
|
|
- </if>
|
|
|
- <if test="queryVo.mobile != null and queryVo.mobile != ''">
|
|
|
- and mobile like concat('%', #{queryVo.mobile}, '%')
|
|
|
- </if>
|
|
|
- <if test="queryVo.userId != null and queryVo.userId != ''">
|
|
|
- and user_id like concat('%', #{queryVo.userId}, '%')
|
|
|
- </if>
|
|
|
- <if test="queryVo.deptId != null and queryVo.deptId != ''">
|
|
|
- and dept_id like concat('%', #{queryVo.deptId}, '%')
|
|
|
- </if>
|
|
|
- <if test="queryVo.deptName != null and queryVo.deptName != ''">
|
|
|
- and dept_name like concat('%', #{queryVo.deptName}, '%')
|
|
|
- </if>
|
|
|
- <if test="queryVo.grade != null and queryVo.grade != ''">
|
|
|
- and grade like concat('%', #{queryVo.grade}, '%')
|
|
|
- </if>
|
|
|
- <if test="queryVo.commissionRate != null and queryVo.commissionRate != ''">
|
|
|
- and commission_rate like concat('%', #{queryVo.commissionRate}, '%')
|
|
|
- </if>
|
|
|
- <if test="queryVo.referrerId != null and queryVo.referrerId != ''">
|
|
|
- and referrer_id like concat('%', #{queryVo.referrerId}, '%')
|
|
|
- </if>
|
|
|
- <if test="queryVo.isEnable != null and queryVo.isEnable != ''">
|
|
|
- and status != #{queryVo.isEnable}
|
|
|
- </if>
|
|
|
- </where>
|
|
|
- GROUP BY
|
|
|
- `name`,
|
|
|
- mobile,
|
|
|
- user_id,
|
|
|
- dept_id,
|
|
|
- `status`
|
|
|
- ) db
|
|
|
- LEFT JOIN sys_dept d ON d.id = db.dept_id
|
|
|
- LEFT JOIN sys_user_jzg_info info ON info.id = db.user_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 referrerMobile ON referrerMobile.id = referrer.user_id
|
|
|
+ SELECT tb.* FROM (
|
|
|
+ SELECT
|
|
|
+ db.`name`,
|
|
|
+ db.partStatus,
|
|
|
+ db.mobile,
|
|
|
+ db.dept_id,
|
|
|
+ db.grade,
|
|
|
+ info.user_id,
|
|
|
+ info.create_by,
|
|
|
+ info.create_time,
|
|
|
+ d.`name` deptName,
|
|
|
+ (SELECT sa.partner_status FROM sys_user_jzg_info_salesman sa WHERE sa.type_attr = 3 AND sa.sys_user_jzg_info_id = info.id) AS `status`,
|
|
|
+ info.referrer_id,
|
|
|
+ referrer.`name` AS referrerName,
|
|
|
+ info.leader_id,
|
|
|
+ leader.`name` AS leaderIdName,
|
|
|
+ (SELECT sum(pd.extract_fee) FROM partner_premium_details pd WHERE pd.user_id = db.user_id) kickback,
|
|
|
+ (SELECT sum(distinct pr.sumpremium) FROM partner_premium_details pr WHERE pr.user_id = db.user_id) premium,
|
|
|
+ ( SELECT GROUP_CONCAT( s.type_attr SEPARATOR ',' ) FROM sys_user_jzg_info_salesman s WHERE s.sys_user_jzg_info_id = info.id ) AS typeAttr
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ `name`,
|
|
|
+ `status` as partStatus,
|
|
|
+ mobile,
|
|
|
+ user_id,
|
|
|
+ dept_id,
|
|
|
+ GROUP_CONCAT(grade ORDER BY grade ASC SEPARATOR ',') AS grade
|
|
|
+ FROM
|
|
|
+ partner_user
|
|
|
+ <where>
|
|
|
+ grade BETWEEN 1 AND 4
|
|
|
+ <if test="queryVo.name != null and queryVo.name != ''">
|
|
|
+ and (name like concat('%', #{queryVo.name}, '%') or mobile like concat('%', #{queryVo.name}, '%'))
|
|
|
+ </if>
|
|
|
+ <if test="queryVo.mobile != null and queryVo.mobile != ''">
|
|
|
+ and mobile like concat('%', #{queryVo.mobile}, '%')
|
|
|
+ </if>
|
|
|
+ <if test="queryVo.userId != null and queryVo.userId != ''">
|
|
|
+ and user_id like concat('%', #{queryVo.userId}, '%')
|
|
|
+ </if>
|
|
|
+ <if test="queryVo.deptId != null and queryVo.deptId != ''">
|
|
|
+ and dept_id like concat('%', #{queryVo.deptId}, '%')
|
|
|
+ </if>
|
|
|
+ <if test="queryVo.deptName != null and queryVo.deptName != ''">
|
|
|
+ and dept_name like concat('%', #{queryVo.deptName}, '%')
|
|
|
+ </if>
|
|
|
+ <if test="queryVo.grade != null and queryVo.grade != ''">
|
|
|
+ and grade like concat('%', #{queryVo.grade}, '%')
|
|
|
+ </if>
|
|
|
+ <if test="queryVo.commissionRate != null and queryVo.commissionRate != ''">
|
|
|
+ and commission_rate like concat('%', #{queryVo.commissionRate}, '%')
|
|
|
+ </if>
|
|
|
+ <if test="queryVo.referrerId != null and queryVo.referrerId != ''">
|
|
|
+ and referrer_id like concat('%', #{queryVo.referrerId}, '%')
|
|
|
+ </if>
|
|
|
+ <if test="queryVo.isEnable != null and queryVo.isEnable != ''">
|
|
|
+ and status != #{queryVo.isEnable}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ GROUP BY
|
|
|
+ `name`,
|
|
|
+ mobile,
|
|
|
+ user_id,
|
|
|
+ dept_id,
|
|
|
+ `status`
|
|
|
+ ) db
|
|
|
+ LEFT JOIN sys_dept d ON d.id = db.dept_id
|
|
|
+ LEFT JOIN sys_user_jzg_info info ON info.id = db.user_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 referrerMobile ON referrerMobile.id = referrer.user_id
|
|
|
+ <where>
|
|
|
+ <if test="queryVo.isEnable != null and queryVo.isEnable != ''">
|
|
|
+ and info.status = #{queryVo.status}
|
|
|
+ </if>
|
|
|
+ <if test="queryVo.deptId != null and queryVo.deptId != ''">
|
|
|
+ and db.dept_id = #{queryVo.deptId}
|
|
|
+ </if>
|
|
|
+ <if test="queryVo.referrerName != null and queryVo.referrerName != ''">
|
|
|
+ and referrer.name like concat('%', #{queryVo.referrerName}, '%') or referrerMobile.mobile like concat('%', #{queryVo.referrerName}, '%')
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ order by info.create_time desc
|
|
|
+ ) tb
|
|
|
<where>
|
|
|
- <if test="queryVo.isEnable != null and queryVo.isEnable != ''">
|
|
|
- and info.status = #{queryVo.status}
|
|
|
- </if>
|
|
|
- <if test="queryVo.referrerName != null and queryVo.referrerName != ''">
|
|
|
- and referrer.name like concat('%', #{queryVo.referrerName}, '%') or referrerMobile.mobile like concat('%', #{queryVo.referrerName}, '%')
|
|
|
+ <if test="queryVo.typeAttr != null and queryVo.typeAttr != ''">
|
|
|
+ FIND_IN_SET(#{queryVo.typeAttr}, tb.typeAttr)
|
|
|
</if>
|
|
|
</where>
|
|
|
- order by info.create_time desc
|
|
|
</select>
|
|
|
|
|
|
|
|
|
@@ -614,9 +623,9 @@ SELECT
|
|
|
<select id="userCountIdsVo" resultType="java.lang.Integer">
|
|
|
SELECT count(p1.id)
|
|
|
FROM partner_user p1
|
|
|
- LEFT JOIN sys_user_jzg_info u ON u.id = p1.user_id
|
|
|
+ LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = p1.user_id
|
|
|
<where>
|
|
|
- u.STATUS = 3
|
|
|
+ sa.partner_status = 3
|
|
|
<if test="params != null">
|
|
|
<if test="params.timeFrame != null and params.timeFrame.length > 0">
|
|
|
AND p1.create_time BETWEEN #{params.timeFrame[0]} AND #{params.timeFrame[1]}
|
|
|
@@ -647,8 +656,8 @@ SELECT
|
|
|
WITH RECURSIVE sub_partners AS (
|
|
|
SELECT p1.id, p1.user_id,p1.grade
|
|
|
FROM partner_user p1
|
|
|
- LEFT JOIN sys_user_jzg_info u ON u.id = p1.user_id
|
|
|
- WHERE u.STATUS = 3 AND p1.referrer_id = #{userId} and p1.grade = #{grade}
|
|
|
+ LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = p1.user_id
|
|
|
+ WHERE sa.partner_status = 3 AND p1.referrer_id = #{userId} and p1.grade = #{grade}
|
|
|
<if test="params != null">
|
|
|
<if test="params.timeFrame != null and params.timeFrame.length > 0">
|
|
|
AND p1.create_time BETWEEN #{params.timeFrame[0]} AND #{params.timeFrame[1]}
|
|
|
@@ -668,9 +677,9 @@ SELECT
|
|
|
UNION ALL
|
|
|
SELECT p.id, p.user_id,p.grade
|
|
|
FROM partner_user p
|
|
|
- LEFT JOIN sys_user_jzg_info u1 ON u1.id = p.user_id
|
|
|
+ LEFT JOIN sys_user_jzg_info_salesman u1 ON u1.sys_user_jzg_info_id = p.user_id
|
|
|
INNER JOIN sub_partners sp ON p.referrer_id = sp.user_id
|
|
|
- WHERE u1.STATUS = 3 AND p.grade = (sp.grade + 1)
|
|
|
+ WHERE u1.partner_status = 3 AND p.grade = (sp.grade + 1)
|
|
|
<if test="params != null">
|
|
|
<if test="params.timeFrame != null and params.timeFrame.length > 0">
|
|
|
AND p.create_time BETWEEN #{params.timeFrame[0]} AND #{params.timeFrame[1]}
|
|
|
@@ -697,8 +706,8 @@ SELECT
|
|
|
p.user_id
|
|
|
FROM
|
|
|
partner_user p
|
|
|
- LEFT JOIN sys_user_jzg_info u ON u.id = p.user_id
|
|
|
- WHERE u.`status` = 3 AND p.grade = #{grade} AND p.referrer_id in
|
|
|
+ LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = p.user_id
|
|
|
+ WHERE sa.partner_status = 3 AND p.grade = #{grade} AND p.referrer_id in
|
|
|
<foreach collection="ids" item="item" index="index" separator="," open="(" close=")">
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
@@ -721,7 +730,7 @@ SELECT
|
|
|
</select>
|
|
|
|
|
|
|
|
|
- <select id="userCountVo2" resultType="java.util.Map">
|
|
|
+ <select id="userCountVo2" resultType="com.jzg.entity.vo.SummaryStatisticsVo">
|
|
|
SELECT
|
|
|
DATE_FORMAT( p.create_time, '%Y-%m-%d' ) AS createTime,
|
|
|
count( p.id ) AS total
|
|
|
@@ -761,8 +770,8 @@ SELECT
|
|
|
p.grade
|
|
|
FROM
|
|
|
partner_user p
|
|
|
- LEFT JOIN sys_user_jzg_info u ON u.id = p.user_id
|
|
|
- where u.status = 3 and p.grade = #{grade} AND p.referrer_id in
|
|
|
+ LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = p.user_id
|
|
|
+ where sa.partner_status = 3 and p.grade = #{grade} AND p.referrer_id in
|
|
|
<foreach collection="ids" item="item" index="index" separator="," open="(" close=")">
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
@@ -890,7 +899,10 @@ SELECT
|
|
|
( SELECT t.partner_review_time FROM sys_user_jzg_info_salesman t WHERE t.sys_user_jzg_info_id = u.id ORDER BY t.partner_review_time LIMIT 1 ) approve_time
|
|
|
FROM partner_user p
|
|
|
LEFT JOIN sys_user_jzg_info u ON u.id = p.user_id
|
|
|
- WHERE p.referrer_id = #{userId} AND p.grade = #{number} AND p.user_id != #{param}
|
|
|
+ WHERE p.referrer_id = #{userId} AND p.grade = #{number}
|
|
|
+ <if test="param != null and param != ''">
|
|
|
+ AND p.user_id != #{param}
|
|
|
+ </if>
|
|
|
) db
|
|
|
<where>
|
|
|
<if test="period.startDate != null and period.endDate != null">
|