|
@@ -313,64 +313,6 @@ select grade,grade_name from partner_rule
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
- <select id="selectRelatedPerList" resultType="java.lang.String">
|
|
|
|
|
- WITH RECURSIVE sub_partners AS (
|
|
|
|
|
- SELECT DISTINCT
|
|
|
|
|
- p1.user_id,
|
|
|
|
|
- p1.user_id AS path
|
|
|
|
|
- FROM
|
|
|
|
|
- partner_user p1
|
|
|
|
|
- LEFT JOIN sys_user u ON u.id = p1.user_id
|
|
|
|
|
- WHERE
|
|
|
|
|
- u.STATUS = 1 AND p1.referrer_id = #{userId}
|
|
|
|
|
- <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]}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test="params.countCycle != null">
|
|
|
|
|
- <if test="params.countCycle == 'Day'">
|
|
|
|
|
- AND DATE(p1.create_time) = CURDATE()
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test="params.countCycle == 'Week'">
|
|
|
|
|
- AND YEARWEEK(p1.create_time, 1) = YEARWEEK(CURDATE(), 1)
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test="params.countCycle == 'Month'">
|
|
|
|
|
- AND YEAR(p1.create_time) = YEAR(CURDATE()) AND MONTH(p1.create_time) = MONTH(CURDATE())
|
|
|
|
|
- </if>
|
|
|
|
|
- </if>
|
|
|
|
|
- </if>
|
|
|
|
|
- UNION ALL
|
|
|
|
|
- SELECT
|
|
|
|
|
- p.user_id,
|
|
|
|
|
- CONCAT( sp.path, ',', p.user_id )
|
|
|
|
|
- FROM
|
|
|
|
|
- partner_user p
|
|
|
|
|
- LEFT JOIN sys_user u1 ON u1.id = p.user_id
|
|
|
|
|
- INNER JOIN sub_partners sp ON p.referrer_id = sp.user_id
|
|
|
|
|
- WHERE
|
|
|
|
|
- u1.STATUS = 1
|
|
|
|
|
- AND INSTR( sp.path, p.user_id ) = 0
|
|
|
|
|
- <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]}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test="params.countCycle != null">
|
|
|
|
|
- <if test="params.countCycle == 'Day'">
|
|
|
|
|
- AND DATE(p.create_time) = CURDATE()
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test="params.countCycle == 'Week'">
|
|
|
|
|
- AND YEARWEEK(p.create_time, 1) = YEARWEEK(CURDATE(), 1)
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test="params.countCycle == 'Month'">
|
|
|
|
|
- AND YEAR(p.create_time) = YEAR(CURDATE()) AND MONTH(p.create_time) = MONTH(CURDATE())
|
|
|
|
|
- </if>
|
|
|
|
|
- </if>
|
|
|
|
|
- </if>
|
|
|
|
|
- )
|
|
|
|
|
- SELECT DISTINCT user_id AS total FROM sub_partners
|
|
|
|
|
- </select>
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
<resultMap id="SelectUserVo" type="com.ydtech.modules.partner.model.vo.SelectUserVo">
|
|
<resultMap id="SelectUserVo" type="com.ydtech.modules.partner.model.vo.SelectUserVo">
|
|
|
<result property="grade" column="grade"/>
|
|
<result property="grade" column="grade"/>
|
|
|
<result property="gradeName" column="grade_name"/>
|
|
<result property="gradeName" column="grade_name"/>
|
|
@@ -527,7 +469,7 @@ select grade,grade_name from partner_rule
|
|
|
|
|
|
|
|
<select id="userCountVo" resultType="java.lang.Integer">
|
|
<select id="userCountVo" resultType="java.lang.Integer">
|
|
|
WITH RECURSIVE sub_partners AS (
|
|
WITH RECURSIVE sub_partners AS (
|
|
|
- SELECT p1.id, p1.user_id
|
|
|
|
|
|
|
+ SELECT p1.id, p1.user_id, CAST(p1.user_id AS CHAR(200)) AS path
|
|
|
FROM partner_user p1
|
|
FROM partner_user p1
|
|
|
LEFT JOIN sys_user u ON u.id = p1.user_id
|
|
LEFT JOIN sys_user u ON u.id = p1.user_id
|
|
|
WHERE u.STATUS = 1 AND p1.referrer_id = #{userId}
|
|
WHERE u.STATUS = 1 AND p1.referrer_id = #{userId}
|
|
@@ -548,11 +490,11 @@ select grade,grade_name from partner_rule
|
|
|
</if>
|
|
</if>
|
|
|
</if>
|
|
</if>
|
|
|
UNION ALL
|
|
UNION ALL
|
|
|
- SELECT p.id, p.user_id
|
|
|
|
|
|
|
+ SELECT p.id, p.user_id,CONCAT(sp.path, '->', p.user_id)
|
|
|
FROM partner_user p
|
|
FROM partner_user p
|
|
|
LEFT JOIN sys_user u1 ON u1.id = p.user_id
|
|
LEFT JOIN sys_user u1 ON u1.id = p.user_id
|
|
|
INNER JOIN sub_partners sp ON p.referrer_id = sp.user_id
|
|
INNER JOIN sub_partners sp ON p.referrer_id = sp.user_id
|
|
|
- WHERE u1.STATUS = 1
|
|
|
|
|
|
|
+ WHERE u1.STATUS = 1 AND sp.path NOT LIKE CONCAT('%->', p.user_id, '%')
|
|
|
<if test="params != null">
|
|
<if test="params != null">
|
|
|
<if test="params.timeFrame != null and params.timeFrame.length > 0">
|
|
<if test="params.timeFrame != null and params.timeFrame.length > 0">
|
|
|
AND p.create_time BETWEEN #{params.timeFrame[0]} AND #{params.timeFrame[1]}
|
|
AND p.create_time BETWEEN #{params.timeFrame[0]} AND #{params.timeFrame[1]}
|
|
@@ -831,15 +773,27 @@ select grade,grade_name from partner_rule
|
|
|
</if>
|
|
</if>
|
|
|
AND p.referrer_id IN (
|
|
AND p.referrer_id IN (
|
|
|
WITH RECURSIVE cte_name AS (
|
|
WITH RECURSIVE cte_name AS (
|
|
|
-
|
|
|
|
|
- SELECT user_id,referrer_id,grade
|
|
|
|
|
- FROM partner_user
|
|
|
|
|
- WHERE user_id = #{userId}
|
|
|
|
|
- UNION ALL
|
|
|
|
|
- SELECT t.user_id, t.referrer_id,t.grade
|
|
|
|
|
- FROM partner_user t
|
|
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ user_id,
|
|
|
|
|
+ referrer_id,
|
|
|
|
|
+ grade,
|
|
|
|
|
+ CAST(
|
|
|
|
|
+ user_id AS CHAR ( 200 )) AS path
|
|
|
|
|
+ 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.user_id = cte_name.referrer_id
|
|
INNER JOIN cte_name ON t.user_id = cte_name.referrer_id
|
|
|
- WHERE t.grade = '4'
|
|
|
|
|
|
|
+ WHERE
|
|
|
|
|
+ cte_name.path NOT LIKE CONCAT( '%->', t.user_id, '%' )
|
|
|
|
|
+ AND t.grade = '4'
|
|
|
)
|
|
)
|
|
|
SELECT user_id FROM cte_name WHERE grade = 4
|
|
SELECT user_id FROM cte_name WHERE grade = 4
|
|
|
)
|
|
)
|
|
@@ -876,37 +830,28 @@ select grade,grade_name from partner_rule
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- <select id="getIssuerId" resultType="java.lang.String">
|
|
|
|
|
- WITH RECURSIVE cte_name AS (
|
|
|
|
|
-
|
|
|
|
|
- SELECT user_id,referrer_id,grade
|
|
|
|
|
- FROM partner_user
|
|
|
|
|
- WHERE user_id = #{issuerId}
|
|
|
|
|
-
|
|
|
|
|
- UNION ALL
|
|
|
|
|
- SELECT t.user_id, t.referrer_id,t.grade
|
|
|
|
|
- FROM partner_user t
|
|
|
|
|
- INNER JOIN cte_name ON t.user_id = cte_name.referrer_id
|
|
|
|
|
- WHERE t.grade = '4'
|
|
|
|
|
- )
|
|
|
|
|
- SELECT user_id FROM cte_name WHERE grade = 4
|
|
|
|
|
- </select>
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
<select id="queryManager" resultType="java.lang.String">
|
|
<select id="queryManager" resultType="java.lang.String">
|
|
|
WITH RECURSIVE cte_name AS (
|
|
WITH RECURSIVE cte_name AS (
|
|
|
-
|
|
|
|
|
- SELECT user_id,referrer_id,grade
|
|
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ user_id,
|
|
|
|
|
+ referrer_id,
|
|
|
|
|
+ grade,
|
|
|
|
|
+ CAST(user_id AS CHAR(200)) AS path
|
|
|
FROM partner_user
|
|
FROM partner_user
|
|
|
WHERE user_id = #{issuerId}
|
|
WHERE user_id = #{issuerId}
|
|
|
|
|
|
|
|
UNION ALL
|
|
UNION ALL
|
|
|
- SELECT t.user_id, t.referrer_id,t.grade
|
|
|
|
|
- FROM partner_user t
|
|
|
|
|
- INNER JOIN cte_name ON t.user_id = cte_name.referrer_id
|
|
|
|
|
|
|
|
|
|
|
|
+ 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.user_id = cte_name.referrer_id
|
|
|
|
|
+ WHERE
|
|
|
|
|
+ cte_name.path NOT LIKE CONCAT('%->', t.user_id, '%')
|
|
|
)
|
|
)
|
|
|
SELECT user_id FROM cte_name WHERE grade = 3
|
|
SELECT user_id FROM cte_name WHERE grade = 3
|
|
|
</select>
|
|
</select>
|
|
@@ -916,16 +861,26 @@ select grade,grade_name from partner_rule
|
|
|
|
|
|
|
|
<select id="getGzsList" resultType="java.lang.String">
|
|
<select id="getGzsList" resultType="java.lang.String">
|
|
|
WITH RECURSIVE cte_name AS (
|
|
WITH RECURSIVE cte_name AS (
|
|
|
-
|
|
|
|
|
- SELECT user_id,referrer_id,grade
|
|
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ user_id,
|
|
|
|
|
+ referrer_id,
|
|
|
|
|
+ grade,
|
|
|
|
|
+ CAST(user_id AS CHAR(200)) AS path
|
|
|
FROM partner_user
|
|
FROM partner_user
|
|
|
- WHERE user_id = #{issuerId}
|
|
|
|
|
|
|
+ WHERE user_id = #{issuerId}
|
|
|
|
|
|
|
|
UNION ALL
|
|
UNION ALL
|
|
|
- SELECT t.user_id, t.referrer_id,t.grade
|
|
|
|
|
- FROM partner_user t
|
|
|
|
|
- INNER JOIN cte_name ON t.user_id = cte_name.referrer_id
|
|
|
|
|
|
|
|
|
|
|
|
+ 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.user_id = cte_name.referrer_id
|
|
|
|
|
+ WHERE
|
|
|
|
|
+ cte_name.path NOT LIKE CONCAT('%->', t.user_id, '%')
|
|
|
)
|
|
)
|
|
|
SELECT user_id FROM cte_name WHERE grade = 3
|
|
SELECT user_id FROM cte_name WHERE grade = 3
|
|
|
</select>
|
|
</select>
|
|
@@ -934,16 +889,26 @@ select grade,grade_name from partner_rule
|
|
|
|
|
|
|
|
<select id="getTdList" resultType="java.lang.String">
|
|
<select id="getTdList" resultType="java.lang.String">
|
|
|
WITH RECURSIVE cte_name AS (
|
|
WITH RECURSIVE cte_name AS (
|
|
|
-
|
|
|
|
|
- SELECT user_id,referrer_id,grade
|
|
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ user_id,
|
|
|
|
|
+ referrer_id,
|
|
|
|
|
+ grade,
|
|
|
|
|
+ CAST(user_id AS CHAR(200)) AS path
|
|
|
FROM partner_user
|
|
FROM partner_user
|
|
|
- WHERE user_id = #{issuerId}
|
|
|
|
|
|
|
+ WHERE user_id = #{issuerId}
|
|
|
|
|
|
|
|
UNION ALL
|
|
UNION ALL
|
|
|
- SELECT t.user_id, t.referrer_id,t.grade
|
|
|
|
|
- FROM partner_user t
|
|
|
|
|
- INNER JOIN cte_name ON t.user_id = cte_name.referrer_id
|
|
|
|
|
|
|
|
|
|
|
|
+ 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.user_id = cte_name.referrer_id
|
|
|
|
|
+ WHERE
|
|
|
|
|
+ cte_name.path NOT LIKE CONCAT('%->', t.user_id, '%')
|
|
|
)
|
|
)
|
|
|
SELECT user_id FROM cte_name WHERE grade = 4
|
|
SELECT user_id FROM cte_name WHERE grade = 4
|
|
|
</select>
|
|
</select>
|