|
|
@@ -155,7 +155,7 @@ select grade,grade_name from partner_rule
|
|
|
partner_user p
|
|
|
LEFT JOIN sys_user u ON u.id = p.user_id
|
|
|
WHERE
|
|
|
- u.STATUS = 1 AND p.user_id != #{params.userId}
|
|
|
+ u.STATUS = 1
|
|
|
AND p.referrer_id = #{params.userId}
|
|
|
AND p.grade = 2),0
|
|
|
) v1,
|
|
|
@@ -164,18 +164,19 @@ select grade,grade_name from partner_rule
|
|
|
COUNT(u1.id)
|
|
|
FROM
|
|
|
partner_user u1
|
|
|
- LEFT JOIN sys_user_track u ON u.user_id = u1.user_id
|
|
|
+ LEFT JOIN sys_user u ON u.id = u1.user_id
|
|
|
WHERE
|
|
|
- u.`status` = 1 AND
|
|
|
- u1.user_id != #{params.userId} AND
|
|
|
+ u.`status` = 1 AND u1.grade = 3 AND
|
|
|
u1.referrer_id IN (
|
|
|
- SELECT
|
|
|
- user_id
|
|
|
- FROM
|
|
|
- partner_user u
|
|
|
- WHERE
|
|
|
- u.grade = 2
|
|
|
- AND u.referrer_id = #{params.userId}
|
|
|
+ SELECT
|
|
|
+ p.user_id
|
|
|
+ FROM
|
|
|
+ partner_user p
|
|
|
+ LEFT JOIN sys_user u ON u.id = p.user_id
|
|
|
+ WHERE
|
|
|
+ u.STATUS = 1
|
|
|
+ AND p.referrer_id = #{params.userId}
|
|
|
+ AND p.grade = 2
|
|
|
) ),0
|
|
|
) v2,
|
|
|
ifnull(
|
|
|
@@ -183,63 +184,92 @@ select grade,grade_name from partner_rule
|
|
|
COUNT( p.id )
|
|
|
FROM
|
|
|
partner_user p
|
|
|
- LEFT JOIN sys_user_track u ON u.user_id = p.user_id
|
|
|
+ LEFT JOIN sys_user u ON u.id = p.user_id
|
|
|
WHERE
|
|
|
- u.STATUS = 1 AND p.user_id != #{params.userId}
|
|
|
+ u.STATUS = 1
|
|
|
AND p.referrer_id = #{params.userId}
|
|
|
AND p.grade = 2
|
|
|
- AND to_days(u.approve_time) = to_days(now()) ),0
|
|
|
+ AND to_days(p.create_time) = to_days(now()) ),0
|
|
|
) v3,
|
|
|
ifnull(
|
|
|
(SELECT
|
|
|
COUNT(u1.id)
|
|
|
FROM
|
|
|
partner_user u1
|
|
|
- LEFT JOIN sys_user_track u ON u.user_id = u1.user_id
|
|
|
+ LEFT JOIN sys_user u ON u.id = u1.user_id
|
|
|
WHERE
|
|
|
-
|
|
|
- u.`status` = 1 AND to_days(u.approve_time) = to_days(now()) AND
|
|
|
- u1.user_id != #{params.userId} AND
|
|
|
+ u.`status` = 1 and u1.grade = 3 AND to_days(u1.create_time) = to_days(now()) AND
|
|
|
u1.referrer_id IN (
|
|
|
- SELECT
|
|
|
- u.user_id
|
|
|
- FROM
|
|
|
- partner_user u
|
|
|
- LEFT JOIN sys_user_track t ON t.user_id = u.user_id
|
|
|
- WHERE
|
|
|
- t.`status` = 1 AND
|
|
|
- u.grade = 2
|
|
|
- AND u.referrer_id = #{params.userId}
|
|
|
+ SELECT
|
|
|
+ u.user_id
|
|
|
+ FROM
|
|
|
+ partner_user u
|
|
|
+ LEFT JOIN sys_user t ON t.id = u.user_id
|
|
|
+ WHERE
|
|
|
+ t.`status` = 1 AND
|
|
|
+ u.grade = 2
|
|
|
+ AND u.referrer_id = #{params.userId}
|
|
|
)),0
|
|
|
) v4
|
|
|
</if>
|
|
|
<if test="grade == 2">
|
|
|
SELECT
|
|
|
ifnull(
|
|
|
- ( SELECT count(1) FROM partner_user WHERE grade = 3 and referrer_id = #{params.userId}),0
|
|
|
+ ( SELECT count(1) FROM partner_user left join sys_user on sys_user.id = partner_user.user_id WHERE partner_user.grade = 3 and partner_user.referrer_id = #{params.userId}),0
|
|
|
) v1,
|
|
|
-- 合伙人的工作室
|
|
|
ifnull(
|
|
|
- ( SELECT COUNT(1) FROM partner_user WHERE grade = 4 AND referrer_id in (
|
|
|
- SELECT user_id FROM partner_user WHERE grade = 3 and referrer_id = #{params.userId})),0
|
|
|
+ (
|
|
|
+ SELECT count(1) FROM partner_user
|
|
|
+ LEFT JOIN sys_user ON sys_user.id = partner_user.user_id
|
|
|
+ WHERE partner_user.referrer_id IN (
|
|
|
+ SELECT
|
|
|
+ user_id
|
|
|
+ FROM
|
|
|
+ partner_user
|
|
|
+ LEFT JOIN sys_user ON sys_user.id = partner_user.user_id
|
|
|
+ WHERE sys_user.`status` = 1 AND
|
|
|
+ partner_user.referrer_id = #{params.userId}
|
|
|
+ AND grade = 3
|
|
|
+ ) AND grade = 4 AND sys_user.`status` = 1
|
|
|
+ ),0
|
|
|
) v2,
|
|
|
-- 我今日新增的合伙人
|
|
|
ifnull(
|
|
|
- (SELECT count(1) FROM partner_user WHERE grade = 3 and referrer_id = #{params.userId} and to_days(create_time) = to_days(now())),0
|
|
|
- ) v3,
|
|
|
- ifnull( (
|
|
|
- SELECT COUNT(1) FROM partner_user WHERE grade = 4 and to_days(create_time) = to_days(now()) AND referrer_id in (
|
|
|
- SELECT user_id FROM partner_user WHERE grade = 3 and referrer_id = #{params.userId})
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ count( 1 )
|
|
|
+ FROM
|
|
|
+ partner_user p
|
|
|
+ LEFT JOIN sys_user u ON u.id = p.user_id
|
|
|
+ WHERE
|
|
|
+ p.grade = 3
|
|
|
+ AND p.referrer_id = #{params.userId}
|
|
|
+ AND to_days( p.create_time ) = to_days(
|
|
|
+ now())
|
|
|
),0
|
|
|
-
|
|
|
- ) v4,
|
|
|
+ ) v3,
|
|
|
+ ifnull( (SELECT
|
|
|
+ count( 1 )
|
|
|
+ FROM
|
|
|
+ partner_user p
|
|
|
+ LEFT JOIN sys_user u ON u.id = p.user_id
|
|
|
+ WHERE
|
|
|
+ p.grade = 4 and to_days(p.create_time) = to_days(now())
|
|
|
+ AND p.referrer_id IN (
|
|
|
+ SELECT
|
|
|
+ user_id
|
|
|
+ FROM
|
|
|
+ partner_user p
|
|
|
+ LEFT JOIN sys_user u ON u.id = p.user_id
|
|
|
+ WHERE
|
|
|
+ p.grade = 3
|
|
|
+ AND p.referrer_id = #{params.userId}
|
|
|
+ )),0) v4,
|
|
|
ifnull(
|
|
|
(
|
|
|
SELECT SUM(db.sumpremium) FROM (
|
|
|
- SELECT sumpremium FROM partner_premium_details WHERE to_days(create_time) = to_days(now()) AND user_id in
|
|
|
- <foreach collection="params.relatedPerList" item="item" index="index" separator="," open="(" close=")">
|
|
|
- #{item}
|
|
|
- </foreach>
|
|
|
+ SELECT sumpremium FROM partner_premium_details WHERE to_days(create_time) = to_days(now()) AND user_id = #{params.userId} and source = #{params.grade}
|
|
|
GROUP BY issuer_id,sumpremium ) db
|
|
|
),0
|
|
|
) v5,
|
|
|
@@ -249,32 +279,55 @@ select grade,grade_name from partner_rule
|
|
|
</if>
|
|
|
<if test="grade == 3">
|
|
|
SELECT
|
|
|
- ifnull((SELECT count(1) FROM partner_user WHERE grade = 4 and referrer_id = #{params.userId}),0) v1,
|
|
|
+ ifnull((SELECT count(1) FROM partner_user left join sys_user on sys_user.id = partner_user.user_id WHERE partner_user.grade = 4 and partner_user.referrer_id = #{params.userId}),0) v1,
|
|
|
ifnull((
|
|
|
- SELECT COUNT(1) FROM partner_user WHERE referrer_id IN (
|
|
|
- SELECT user_id FROM partner_user WHERE grade = 4 and referrer_id = #{params.userId} )
|
|
|
+ SELECT count(1) FROM partner_user
|
|
|
+ LEFT JOIN sys_user ON sys_user.id = partner_user.user_id
|
|
|
+ WHERE partner_user.referrer_id IN (
|
|
|
+ SELECT
|
|
|
+ user_id
|
|
|
+ FROM
|
|
|
+ partner_user
|
|
|
+ LEFT JOIN sys_user ON sys_user.id = partner_user.user_id
|
|
|
+ WHERE sys_user.`status` = 1 AND
|
|
|
+ partner_user.referrer_id = #{params.userId}
|
|
|
+ AND grade = 4
|
|
|
+ ) AND grade = 5 AND sys_user.`status` = 1
|
|
|
),0) v2,
|
|
|
- ifnull((
|
|
|
+ ifnull( (
|
|
|
SELECT
|
|
|
- COUNT( 1 )
|
|
|
+ count( 1 )
|
|
|
FROM
|
|
|
- partner_user
|
|
|
+ partner_user p
|
|
|
+ LEFT JOIN sys_user u ON u.id = p.user_id
|
|
|
WHERE
|
|
|
- grade = 4
|
|
|
- AND to_days(create_time) = to_days(now()) and referrer_id = #{params.userId}
|
|
|
+ p.grade = 4
|
|
|
+ AND p.referrer_id = #{params.userId}
|
|
|
+ AND to_days( p.create_time ) = to_days(
|
|
|
+ now())
|
|
|
),0
|
|
|
) v3,
|
|
|
- ifnull((
|
|
|
- SELECT COUNT(1) FROM partner_user WHERE to_days(create_time) = to_days(now()) and referrer_id IN (
|
|
|
- SELECT user_id FROM partner_user WHERE grade = 4 and referrer_id = #{params.userId} )
|
|
|
- ),0
|
|
|
+ ifnull( (SELECT
|
|
|
+ count( 1 )
|
|
|
+ FROM
|
|
|
+ partner_user p
|
|
|
+ LEFT JOIN sys_user u ON u.id = p.user_id
|
|
|
+ WHERE
|
|
|
+ p.grade = 5 and to_days(p.create_time) = to_days(now())
|
|
|
+ AND p.referrer_id IN (
|
|
|
+ SELECT
|
|
|
+ user_id
|
|
|
+ FROM
|
|
|
+ partner_user p
|
|
|
+ LEFT JOIN sys_user u ON u.id = p.user_id
|
|
|
+ WHERE
|
|
|
+ p.grade = 4
|
|
|
+ AND p.referrer_id = #{params.userId}
|
|
|
+ )),0
|
|
|
) v4,
|
|
|
ifnull((
|
|
|
SELECT SUM(db.sumpremium) FROM (
|
|
|
- SELECT sumpremium FROM partner_premium_details WHERE to_days(create_time) = to_days(now()) AND user_id in
|
|
|
- <foreach collection="params.relatedPerList" item="item" index="index" separator="," open="(" close=")">
|
|
|
- #{item}
|
|
|
- </foreach>
|
|
|
+ SELECT sumpremium FROM partner_premium_details WHERE to_days(create_time) = to_days(now()) AND user_id = #{params.userId} and source = #{params.grade}
|
|
|
GROUP BY issuer_id,sumpremium ) db
|
|
|
),0
|
|
|
) v5,
|
|
|
@@ -284,28 +337,53 @@ select grade,grade_name from partner_rule
|
|
|
</if>
|
|
|
<if test="grade == 4">
|
|
|
SELECT
|
|
|
- ifnull( (SELECT COUNT( 1 ) FROM partner_user WHERE grade = 5 and referrer_id = #{params.userId}),0 ) v1,
|
|
|
- ifnull( (SELECT COUNT( 1 ) FROM partner_user WHERE grade = 6 and referrer_id = #{params.userId}),0 ) v2,
|
|
|
+ ifnull((SELECT count(1) FROM partner_user left join sys_user on sys_user.id = partner_user.user_id WHERE partner_user.grade = 5 and partner_user.referrer_id = #{params.userId}),0) v1,
|
|
|
ifnull(
|
|
|
- (
|
|
|
- SELECT
|
|
|
- COUNT( 1 )
|
|
|
- FROM
|
|
|
- partner_user
|
|
|
- WHERE
|
|
|
- grade = 5
|
|
|
- AND to_days(create_time) = to_days(now())
|
|
|
- ),0
|
|
|
+ (
|
|
|
+ SELECT count(1) FROM partner_user
|
|
|
+ LEFT JOIN sys_user ON sys_user.id = partner_user.user_id
|
|
|
+ WHERE partner_user.referrer_id IN (
|
|
|
+ SELECT
|
|
|
+ user_id
|
|
|
+ FROM
|
|
|
+ partner_user
|
|
|
+ LEFT JOIN sys_user ON sys_user.id = partner_user.user_id
|
|
|
+ WHERE sys_user.`status` = 1 AND
|
|
|
+ partner_user.referrer_id = #{params.userId}
|
|
|
+ AND grade = 5
|
|
|
+ ) AND grade = 6 AND sys_user.`status` = 1
|
|
|
+ ),0
|
|
|
+ ) v2,
|
|
|
+ ifnull( (
|
|
|
+ SELECT
|
|
|
+ count( 1 )
|
|
|
+ FROM
|
|
|
+ partner_user p
|
|
|
+ LEFT JOIN sys_user u ON u.id = p.user_id
|
|
|
+ WHERE
|
|
|
+ p.grade = 5
|
|
|
+ AND p.referrer_id = #{params.userId}
|
|
|
+ AND to_days( p.create_time ) = to_days(
|
|
|
+ now())
|
|
|
+ ),0
|
|
|
) v3,
|
|
|
- ifnull((
|
|
|
- SELECT
|
|
|
- COUNT( 1 )
|
|
|
- FROM
|
|
|
- partner_user
|
|
|
- WHERE
|
|
|
- grade = 6
|
|
|
- AND to_days(create_time) = to_days(now())
|
|
|
- ),0
|
|
|
+ ifnull( (SELECT
|
|
|
+ count( 1 )
|
|
|
+ FROM
|
|
|
+ partner_user p
|
|
|
+ LEFT JOIN sys_user u ON u.id = p.user_id
|
|
|
+ WHERE
|
|
|
+ p.grade = 6 and to_days(p.create_time) = to_days(now())
|
|
|
+ AND p.referrer_id IN (
|
|
|
+ SELECT
|
|
|
+ user_id
|
|
|
+ FROM
|
|
|
+ partner_user p
|
|
|
+ LEFT JOIN sys_user u ON u.id = p.user_id
|
|
|
+ WHERE
|
|
|
+ p.grade = 5
|
|
|
+ AND p.referrer_id = #{params.userId}
|
|
|
+ )),0
|
|
|
) v4,
|
|
|
ifnull( (SELECT SUM(sumpremium) FROM partner_premium_details WHERE user_id = #{params.userId} AND to_days(create_time) = to_days(now())),0 ) v5,
|
|
|
ifnull( (SELECT SUM(extract_fee) FROM partner_premium_details WHERE user_id = #{params.userId} AND to_days(create_time) = to_days(now())),0 ) v6
|
|
|
@@ -727,21 +805,16 @@ select grade,grade_name from partner_rule
|
|
|
issuer_name agent,
|
|
|
sumpremium premium,
|
|
|
extract_fee commission,
|
|
|
- create_time issuanceTime
|
|
|
+ create_time issuanceTime,
|
|
|
+ source,
|
|
|
+ user_id userId
|
|
|
FROM
|
|
|
partner_premium_details
|
|
|
WHERE
|
|
|
- user_id = #{map.userId}
|
|
|
+ user_id = #{map.userId} and source = #{map.grade}
|
|
|
<if test="map.startTime != '' and map.startTime != null">
|
|
|
and DATE(create_time) BETWEEN #{map.startTime} AND #{map.endTime}
|
|
|
</if>
|
|
|
- GROUP BY
|
|
|
- orderno,
|
|
|
- licenseno,
|
|
|
- issuer_name,
|
|
|
- sumpremium,
|
|
|
- extract_fee,
|
|
|
- create_time
|
|
|
</select>
|
|
|
|
|
|
|
|
|
@@ -998,4 +1071,29 @@ select grade,grade_name from partner_rule
|
|
|
</select>
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <select id="getLevelAllUserId" resultType="java.lang.String">
|
|
|
+ WITH RECURSIVE cte_name AS (
|
|
|
+ SELECT
|
|
|
+ user_id,
|
|
|
+ referrer_id,
|
|
|
+ grade,
|
|
|
+ CAST(user_id AS CHAR(200)) AS path
|
|
|
+ FROM partner_user
|
|
|
+ WHERE user_id = #{userId} AND grade = (SELECT min(grade) FROM partner_user WHERE user_id = #{userId})
|
|
|
+ UNION ALL
|
|
|
+ SELECT
|
|
|
+ t.user_id,
|
|
|
+ t.referrer_id,
|
|
|
+ t.grade,
|
|
|
+ CONCAT(cte_name.path, '->', t.user_id)
|
|
|
+ FROM partner_user t INNER JOIN cte_name ON t.referrer_id = cte_name.user_id
|
|
|
+ WHERE t.grade = (cte_name.grade + 1) and cte_name.path NOT LIKE CONCAT('%->', t.user_id, '%')
|
|
|
+ )
|
|
|
+ SELECT user_id FROM cte_name
|
|
|
+ </select>
|
|
|
+
|
|
|
+
|
|
|
</mapper>
|