| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321 |
- <?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.mapper.PartnerUserMapper">
- <resultMap id="BaseMapper" type="com.jzg.entity.param.PartnerRuleEntity">
- <id property="id" column="id"/>
- <result property="upgrade" column="upgrade"/>
- <result property="relegation" column="relegation"/>
- <result property="gradeName" column="grade_name"/>
- <result property="grade" column="grade"/>
- <result property="appraise" column="appraise"/>
- <result property="relSatisfy" column="rel_satisfy"/>
- <result property="strategy" column="strategy"/>
- <result property="khDays" column="kh_days"/>
- <result property="fallTick" column="fall_tick"/>
- <result property="fallAmount" column="fall_amount"/>
- <result property="systemCode" column="system_code"/>
- <association property="cycle" column="id=id" select="selectCycle" />
- <collection property="strategyArray" column="id=id" select="selectStrategy" />
- <collection property="requirement" column="id=id" select="selectRequirement" />
- </resultMap>
- <resultMap id="partner_attribute" type="com.jzg.entity.PartnerAttribute">
- <result property="id" column="id"/>
- <result property="min" column="min"/>
- <result property="max" column="max"/>
- <result property="satisfy" column="satisfy"/>
- <result property="ruleId" column="rule_id"/>
- <result property="cycle" column="cycle"/>
- <result property="requirement" column="requirement"/>
- <result property="strategy" column="strategy"/>
- <result property="type" column="type"/>
- <result property="checked" column="checked"/>
- <result property="fixedDays" column="fixed_days"/>
- <result property="taskDays" column="task_days"/>
- </resultMap>
- <select id="queryPage" resultType="com.jzg.entity.vo.PartnerUserVo">
- 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,
- sa.partner_status 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 AND pd.is_delete = 0) kickback,
- (SELECT sum(distinct pr.sumpremium) FROM partner_premium_details pr WHERE pr.user_id = db.user_id AND pr.is_delete = 0) premium,
- ( SELECT GROUP_CONCAT( s.type_attr SEPARATOR ',' ) FROM sys_user_jzg_info_salesman s WHERE s.type_attr in (3,6) and s.sys_user_jzg_info_id = info.id AND s.is_delete = 0 ) 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>
- is_delete = 0
- AND 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 AND d.is_delete = 0
- LEFT JOIN sys_user_jzg_info info ON info.id = db.user_id AND info.is_delete = 0
- LEFT JOIN sys_user_jzg_info referrer ON referrer.id = info.referrer_id AND referrer.is_delete = 0
- LEFT JOIN sys_user_jzg_info leader ON leader.id = info.leader_id AND leader.is_delete = 0
- LEFT JOIN sys_user referrerMobile ON referrerMobile.id = referrer.user_id AND referrerMobile.is_delete = 0
- LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = db.user_id AND sa.is_delete = 0
- <where>
- and sa.type_attr = 3
- <if test="queryVo.status != null and queryVo.status != ''">
- and sa.partner_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.typeAttr != null and queryVo.typeAttr != ''">
- FIND_IN_SET(#{queryVo.typeAttr}, tb.typeAttr)
- </if>
- </where>
- </select>
- <select id="selectRecommender" resultType="java.util.Map">
- SELECT
- user_id userId,
- `name`
- FROM
- partner_user
- <where>
- AND is_delete = 0
- AND grade = #{level}
- </where>
- </select>
- <select id="selectByUserId" resultType="com.jzg.entity.vo.RelationalVo">
- WITH RECURSIVE cte_name AS (
- SELECT
- p.id,
- p.NAME AS userName,
- p.mobile,
- p.user_id,
- p.dept_id,
- (SELECT `name` FROM sys_dept d WHERE d.id = p.dept_id AND d.is_delete = 0) AS deptName,
- (SELECT name FROM partner_user u WHERE u.user_id = p.referrer_id AND u.is_delete = 0) AS suggestName,
- p.grade AS type,
- p.referrer_id,
- p.create_time
- FROM
- partner_user p
- WHERE p.user_id = #{id} AND grade = #{grade}
- UNION ALL
- SELECT
- pu.id,
- pu.NAME AS userName,
- pu.mobile,
- pu.user_id,
- pu.dept_id,
- (SELECT `name` FROM sys_dept d WHERE d.id = pu.dept_id AND d.is_delete = 0) AS deptName,
- (SELECT name FROM partner_user u WHERE u.user_id = pu.referrer_id AND u.is_delete = 0) AS suggestName,
- pu.grade AS type,
- pu.referrer_id,
- pu.create_time
- FROM
- partner_user pu
- INNER JOIN cte_name rt ON pu.referrer_id = rt.user_id
- WHERE pu.grade = (rt.type + 1)
- )
- SELECT * FROM cte_name
- </select>
- <select id="selectTodayOverview" resultType="com.jzg.entity.vo.TodayOverview">
- SELECT
- ifnull((
- SELECT COUNT(DISTINCT company_id) FROM partner_premium_details WHERE is_delete = 0 AND status = 1 AND user_id IN
- <foreach collection="params.relatedPerList" item="item" index="index" separator="," open="(" close=")">
- #{item}
- </foreach>
- <if test="params.startTime != null and params.endTime != null">
- AND create_time BETWEEN #{params.startTime} AND #{params.endTime}
- </if>
- ),0) numberOrders,
- ifnull(
- (SELECT count(id) FROM partner_user WHERE is_delete = 0 AND user_id IN
- <foreach collection="params.relatedPerList" item="item" index="index" separator="," open="(" close=")">
- #{item}
- </foreach>
- <if test="params.startTime != null and params.endTime != null">
- AND create_time BETWEEN #{params.startTime} AND #{params.endTime}
- </if> ),0
- ) addPerNumber,
- ifnull((
- SELECT SUM(db.sumpremium) FROM (SELECT DISTINCT company_id,sumpremium FROM partner_premium_details
- WHERE is_delete = 0 AND status = 1 AND user_id IN
- <foreach collection="params.relatedPerList" item="item" index="index" separator="," open="(" close=")">
- #{item}
- </foreach>
- <if test="params.startTime != null and params.endTime != null">
- AND create_time BETWEEN #{params.startTime} AND #{params.endTime}
- </if>
- ) db
- ),0
- ) premium,
- ifnull(
- (SELECT SUM(extract_fee) FROM partner_premium_details where is_delete = 0 AND status = 1 AND user_id = #{params.userId}
- <if test="params.startTime != null and params.endTime != null">
- AND create_time BETWEEN #{params.startTime} AND #{params.endTime}
- </if> ),0
- ) commission
- </select>
- <resultMap id="homeVo" type="com.jzg.entity.vo.TeamOverviewVo">
- <result property="grade" column="grade"/>
- <result property="gradeName" column="grade_name"/>
- </resultMap>
- <select id="selectTeamOverview" resultMap="homeVo">
- SELECT
- grade,
- grade_name
- FROM
- partner_rule
- <where>
- AND is_delete = 0
- AND grade != 5
- </where>
- </select>
- <select id="selectStatisticsMap" resultType="java.util.Map">
- SELECT
- ifnull(
- (
- SELECT COUNT( p.id) FROM partner_user p LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = p.user_id AND sa.is_delete = 0 WHERE p.is_delete = 0 AND sa.partner_status = 3 AND p.referrer_id = #{params.userId} AND p.grade = (#{grade} + 1)
- <if test="params.startTime != null and params.endTime != null">
- and DATE(p.create_time) BETWEEN #{params.startTime} AND #{params.endTime}
- </if>
- ),0
- ) v1,
- ifnull(
- ( SELECT COUNT(p.id) FROM partner_user p LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = p.user_id AND sa.is_delete = 0 WHERE p.is_delete = 0 AND sa.partner_status = 3 AND grade = (#{grade} + 2 )
- AND p.referrer_id IN( SELECT user_id FROM partner_user WHERE is_delete = 0 AND referrer_id = #{params.userId} AND grade = (#{grade} + 1) )
- <if test="params.startTime != null and params.endTime != null">
- and DATE(p.create_time) BETWEEN #{params.startTime} AND #{params.endTime}
- </if>
- ),0
- ) v2,
- ifnull(
- ( SELECT
- COUNT( p.id )
- FROM
- partner_user p
- LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = p.user_id AND sa.is_delete = 0
- WHERE
- p.is_delete = 0 AND sa.partner_status = 3
- AND p.referrer_id = #{params.userId}
- AND p.grade = (#{grade} + 1)
- AND to_days(p.create_time) = to_days(now()) ),0
- ) v3,
- ifnull(
- (SELECT
- COUNT(u1.id)
- FROM
- partner_user u1
- LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id =u1.user_id AND sa.is_delete = 0
- WHERE
- u1.is_delete = 0 AND sa.partner_status = 3 and u1.grade = (#{grade} + 2) 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_jzg_info_salesman sa ON sa.sys_user_jzg_info_id =u.user_id AND sa.is_delete = 0
- WHERE
- u.is_delete = 0 AND sa.partner_status = 3 AND
- u.grade = (#{grade} + 1)
- AND u.referrer_id = #{params.userId}
- )),0
- ) v4,
- ifnull((SELECT sum(sumpremium) FROM partner_premium_details WHERE is_delete = 0 AND status = 1 AND to_days(create_time) = to_days(now()) AND user_id = #{params.userId} and source = #{grade}),0
- ) v5,
- ifnull(
- (SELECT SUM(extract_fee) FROM partner_premium_details WHERE is_delete = 0 AND status = 1 AND source = #{grade} AND to_days(create_time) = to_days(now()) AND user_id = #{params.userId}),0
- ) v6
- </select>
- <select id="selectStatistics" resultType="java.util.Map">
- <if test="grade == 1">
- SELECT
- ifnull(
- (SELECT
- COUNT( p.id )
- FROM
- partner_user p
- LEFT JOIN sys_user_jzg_info u ON u.id = p.user_id AND u.is_delete = 0
- WHERE
- p.is_delete = 0 AND u.STATUS = 3
- AND p.referrer_id = #{params.userId}
- AND p.grade = 2),0
- ) v1,
- ifnull(
- ( SELECT
- COUNT(u1.id)
- FROM
- partner_user u1
- LEFT JOIN sys_user_jzg_info u ON u.id = u1.user_id AND u.is_delete = 0
- WHERE
- u1.is_delete = 0 AND u.`status` = 3 AND u1.grade = 3 AND
- u1.referrer_id IN (
- SELECT
- p.user_id
- FROM
- partner_user p
- LEFT JOIN sys_user_jzg_info u ON u.id = p.user_id AND u.is_delete = 0
- WHERE
- p.is_delete = 0 AND u.STATUS = 3
- AND p.referrer_id = #{params.userId}
- AND p.grade = 2
- ) ),0
- ) v2,
- ifnull(
- ( SELECT
- COUNT( p.id )
- FROM
- partner_user p
- LEFT JOIN sys_user_jzg_info u ON u.id = p.user_id AND u.is_delete = 0
- WHERE
- p.is_delete = 0 AND u.STATUS = 3
- AND p.referrer_id = #{params.userId}
- AND p.grade = 2
- AND to_days(p.create_time) = to_days(now()) ),0
- ) v3,
- ifnull(
- (SELECT
- COUNT(u1.id)
- FROM
- partner_user u1
- LEFT JOIN sys_user_jzg_info u ON u.id = u1.user_id AND u.is_delete = 0
- WHERE
- u1.is_delete = 0 AND u.`status` = 3 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_jzg_info t ON t.id = u.user_id AND t.is_delete = 0
- WHERE
- t.`status` = 3 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 pu
- LEFT JOIN sys_user su ON su.id = pu.user_id AND su.is_delete = 0
- WHERE pu.is_delete = 0
- AND pu.grade = 3
- AND pu.referrer_id = #{params.userId}
- ), 0) AS v1,
- IFNULL((
- SELECT COUNT(1)
- FROM partner_user pu
- LEFT JOIN sys_user su ON su.id = pu.user_id AND su.is_delete = 0
- LEFT JOIN sys_user_jzg_info jzg ON jzg.id = pu.user_id AND jzg.is_delete = 0
- WHERE pu.is_delete = 0
- AND pu.grade = 4
- AND jzg.`status` = 3
- AND pu.referrer_id IN (
- SELECT pu2.user_id
- FROM partner_user pu2
- LEFT JOIN sys_user_jzg_info jzg2 ON jzg2.id = pu2.user_id AND jzg2.is_delete = 0
- WHERE pu2.is_delete = 0
- AND pu2.referrer_id = #{params.userId}
- AND pu2.grade = 3
- AND jzg2.`status` = 3
- )
- ), 0) AS v2,
- IFNULL((
- SELECT COUNT(1)
- FROM partner_user pu
- LEFT JOIN sys_user su ON su.id = pu.user_id AND su.is_delete = 0
- WHERE pu.is_delete = 0
- AND pu.grade = 3
- AND pu.referrer_id = #{params.userId}
- AND TO_DAYS(pu.create_time) = TO_DAYS(NOW())
- ), 0) AS v3,
- IFNULL((
- SELECT COUNT(1)
- FROM partner_user pu
- LEFT JOIN sys_user su ON su.id = pu.user_id AND su.is_delete = 0
- WHERE pu.is_delete = 0
- AND pu.grade = 4
- AND TO_DAYS(pu.create_time) = TO_DAYS(NOW())
- AND pu.referrer_id IN (
- SELECT user_id
- FROM partner_user pu2
- LEFT JOIN sys_user su2 ON su2.id = pu2.user_id AND su2.is_delete = 0
- WHERE pu2.is_delete = 0
- AND pu2.grade = 3
- AND pu2.referrer_id = #{params.userId}
- )
- ), 0) AS v4,
- IFNULL((
- SELECT SUM(sumpremium)
- FROM partner_premium_details pd
- WHERE pd.is_delete = 0
- AND pd.status = 1
- AND TO_DAYS(pd.create_time) = TO_DAYS(NOW())
- AND pd.user_id = #{params.userId}
- AND pd.source = #{grade}
- ), 0) AS v5,
- IFNULL((
- SELECT SUM(extract_fee)
- FROM partner_premium_details pd
- WHERE pd.is_delete = 0
- AND pd.status = 1
- AND TO_DAYS(pd.create_time) = TO_DAYS(NOW())
- AND pd.user_id = #{params.userId}
- AND pd.source = #{grade}
- ), 0) AS v6
- </if>
- <if test="grade == 3">
- SELECT
- IFNULL((
- SELECT COUNT(1)
- FROM partner_user pu
- LEFT JOIN sys_user su
- ON su.id = pu.user_id AND su.is_delete = 0
- WHERE pu.is_delete = 0
- AND pu.grade = 4
- AND pu.referrer_id = #{params.userId}
- ), 0) AS v1,
- IFNULL((
- SELECT COUNT(1)
- FROM partner_user pu
- LEFT JOIN sys_user su
- ON su.id = pu.user_id AND su.is_delete = 0
- LEFT JOIN sys_user_jzg_info jzg
- ON jzg.id = pu.user_id AND jzg.is_delete = 0
- WHERE pu.is_delete = 0
- AND pu.grade = 5
- AND jzg.`status` = 3
- AND pu.referrer_id IN (
- SELECT pu2.user_id
- FROM partner_user pu2
- LEFT JOIN sys_user_jzg_info jzg2
- ON jzg2.id = pu2.user_id AND jzg2.is_delete = 0
- WHERE pu2.is_delete = 0
- AND pu2.referrer_id = #{params.userId}
- AND pu2.grade = 4
- AND jzg2.`status` = 3
- )
- ), 0) AS v2,
- IFNULL((
- SELECT COUNT(1)
- FROM partner_user pu
- LEFT JOIN sys_user su
- ON su.id = pu.user_id AND su.is_delete = 0
- WHERE pu.is_delete = 0
- AND pu.grade = 4
- AND pu.referrer_id = #{params.userId}
- AND TO_DAYS(pu.create_time) = TO_DAYS(NOW())
- ), 0) AS v3,
- IFNULL((
- SELECT COUNT(1)
- FROM partner_user pu
- LEFT JOIN sys_user su
- ON su.id = pu.user_id AND su.is_delete = 0
- WHERE pu.is_delete = 0
- AND pu.grade = 5
- AND TO_DAYS(pu.create_time) = TO_DAYS(NOW())
- AND pu.referrer_id IN (
- SELECT pu2.user_id
- FROM partner_user pu2
- LEFT JOIN sys_user su2
- ON su2.id = pu2.user_id AND su2.is_delete = 0
- WHERE pu2.is_delete = 0
- AND pu2.grade = 4
- AND pu2.referrer_id = #{params.userId}
- )
- ), 0) AS v4,
- IFNULL((
- SELECT SUM(pd.sumpremium)
- FROM partner_premium_details pd
- WHERE pd.is_delete = 0
- AND pd.status = 1
- AND TO_DAYS(pd.create_time) = TO_DAYS(NOW())
- AND pd.user_id = #{params.userId}
- AND pd.source = #{grade}
- ), 0) AS v5,
- IFNULL((
- SELECT SUM(pd.extract_fee)
- FROM partner_premium_details pd
- WHERE pd.is_delete = 0
- AND pd.status = 1
- AND TO_DAYS(pd.create_time) = TO_DAYS(NOW())
- AND pd.user_id = #{params.userId}
- AND pd.source = #{grade}
- ), 0) AS v6
- </if>
- <if test="grade == 4">
- SELECT
- IFNULL((
- SELECT COUNT(1)
- FROM partner_user pu
- LEFT JOIN sys_user su
- ON su.id = pu.user_id AND su.is_delete = 0
- WHERE pu.is_delete = 0
- AND pu.grade = 5
- AND pu.referrer_id = #{params.userId}
- ), 0) AS v1,
- IFNULL((
- SELECT COUNT(1)
- FROM partner_user pu
- LEFT JOIN sys_user su
- ON su.id = pu.user_id AND su.is_delete = 0
- LEFT JOIN sys_user_jzg_info jzg
- ON jzg.id = pu.user_id AND jzg.is_delete = 0
- WHERE pu.is_delete = 0
- AND pu.grade = 6
- AND jzg.`status` = 3
- AND pu.referrer_id IN (
- SELECT pu2.user_id
- FROM partner_user pu2
- LEFT JOIN sys_user_jzg_info jzg2
- ON jzg2.id = pu2.user_id AND jzg2.is_delete = 0
- WHERE pu2.is_delete = 0
- AND pu2.referrer_id = #{params.userId}
- AND pu2.grade = 5
- AND jzg2.`status` = 3
- )
- ), 0) AS v2,
- IFNULL((
- SELECT COUNT(1)
- FROM partner_user pu
- LEFT JOIN sys_user su
- ON su.id = pu.user_id AND su.is_delete = 0
- WHERE pu.is_delete = 0
- AND pu.grade = 5
- AND pu.referrer_id = #{params.userId}
- AND TO_DAYS(pu.create_time) = TO_DAYS(NOW())
- ), 0) AS v3,
- IFNULL((
- SELECT COUNT(1)
- FROM partner_user pu
- LEFT JOIN sys_user su
- ON su.id = pu.user_id AND su.is_delete = 0
- WHERE pu.is_delete = 0
- AND pu.grade = 6
- AND TO_DAYS(pu.create_time) = TO_DAYS(NOW())
- AND pu.referrer_id IN (
- SELECT pu2.user_id
- FROM partner_user pu2
- LEFT JOIN sys_user su2
- ON su2.id = pu2.user_id AND su2.is_delete = 0
- WHERE pu2.is_delete = 0
- AND pu2.grade = 5
- AND pu2.referrer_id = #{params.userId}
- )
- ), 0) AS v4,
- IFNULL((
- SELECT SUM(pd.sumpremium)
- FROM partner_premium_details pd
- WHERE pd.is_delete = 0
- AND pd.status = 1
- AND pd.source = #{grade}
- AND pd.user_id = #{params.userId}
- AND TO_DAYS(pd.create_time) = TO_DAYS(NOW())
- ), 0) AS v5,
- IFNULL((
- SELECT SUM(pd.extract_fee)
- FROM partner_premium_details pd
- WHERE pd.is_delete = 0
- AND pd.status = 1
- AND pd.source = #{grade}
- AND pd.user_id = #{params.userId}
- AND TO_DAYS(pd.create_time) = TO_DAYS(NOW())
- ), 0) AS v6
- </if>
- </select>
- <resultMap id="SelectUserVo" type="com.jzg.entity.vo.SelectUserVo">
- <result property="grade" column="grade"/>
- <result property="gradeName" column="grade_name"/>
- <result property="userId" column="userId"/>
- <collection property="userVoList" column="{userId = userId,grade = grade}" select="userVoList" />
- </resultMap>
- <resultMap id="UserVoListVo" type="com.jzg.entity.vo.MyUserVo">
- <result property="userName" column="userName"/>
- <result property="userId" column="userId"/>
- <result property="grade" column="grade"/>
- <association property="partnerTotal" column="{userId = userId}" select="selectPartnerTotal" />
- </resultMap>
- <select id="userVoList" resultMap="UserVoListVo" >
- SELECT
- p.`name` AS userName,
- p.user_id AS userId,
- #{grade} AS grade
- FROM partner_user p
- LEFT JOIN sys_user_jzg_info t
- ON t.user_id = p.user_id
- AND t.is_delete = 0
- AND t.`status` = 3
- <where>
- p.is_delete = 0
- AND p.grade = #{grade}
- AND p.referrer_id = #{userId}
- </where>
- </select>
- <select id="selectUser" resultMap="SelectUserVo">
- select grade,grade_name,#{userId} as userId from partner_rule
- <where>
- is_delete = 0
- AND grade = #{grade}
- </where>
- </select>
- <!-- 该sql不能使用 -->
- <select id="selectPartnerTotal" resultType="java.util.Map">
- SELECT (
- SELECT
- COUNT(p1.user_id)
- FROM
- partner_user p1
- LEFT JOIN sys_user u ON u.id = p1.user_id AND u.is_delete = 0
- WHERE
- p1.is_delete = 0
- AND u.STATUS = 1
- AND p1.referrer_id = #{userId}
- ) partnerSum,
- (
- SELECT
- (
- COALESCE ( SUM( jq_premium ), 0 ) + COALESCE ( SUM( sy_premium ), 0 ) + COALESCE ( SUM( no_premium ), 0 )) AS total_sum
- FROM
- ins_fee_order_new
- WHERE
- is_delete = 0
- AND user_id IN (
- SELECT
- p1.user_id AS userId
- FROM
- partner_user p1
- LEFT JOIN sys_user u ON u.id = p1.user_id AND u.is_delete = 0
- WHERE
- p1.is_delete = 0
- AND u.STATUS = 1
- AND p1.referrer_id = #{userId}
- )
- ) premium,
- (
- SELECT COUNT(1) FROM partner_user WHERE is_delete = 0
- ) commission
- </select>
- <select id="userCountIdsVo" resultType="java.lang.Integer">
- SELECT count(p1.id)
- FROM partner_user p1
- LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = p1.user_id AND sa.is_delete = 0
- <where>
- p1.is_delete = 0
- AND 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]}
- </if>
- <if test="params.countCycle != null">
- <if test="params.countCycle == 'Day'">
- AND DATE(p1.create_time) = CURDATE()
- </if>
- <if test="params.countCycle == 'Week'">
- AND DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(p1.create_time)
- </if>
- <if test="params.countCycle == 'Month'">
- AND YEAR(p1.create_time) = YEAR(CURDATE()) AND MONTH(p1.create_time) = MONTH(CURDATE())
- </if>
- </if>
- </if>
- <if test="ids != null and ids.size() > 0">
- AND p1.user_id in
- <foreach collection="ids" item="item" index="index" separator="," open="(" close=")">
- #{item}
- </foreach>
- </if>
- </where>
- </select>
- <select id="userCountVo" resultType="java.lang.Integer">
- WITH RECURSIVE sub_partners AS (
- SELECT p1.id, p1.user_id,p1.grade
- FROM partner_user p1
- LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = p1.user_id AND sa.is_delete = 0
- WHERE p1.is_delete = 0 AND 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]}
- </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.id, p.user_id,p.grade
- FROM partner_user p
- LEFT JOIN sys_user_jzg_info_salesman u1 ON u1.sys_user_jzg_info_id = p.user_id AND u1.is_delete = 0
- INNER JOIN sub_partners sp ON p.referrer_id = sp.user_id
- WHERE p.is_delete = 0 AND 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]}
- </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 count(1) AS total FROM sub_partners
- </select>
- <select id="selectJuniorList" resultType="java.lang.String">
- SELECT
- p.user_id
- FROM
- partner_user p
- LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = p.user_id AND sa.is_delete = 0
- <where>
- p.is_delete = 0
- AND 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>
- <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 DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(p.create_time)
- </if>
- </if>
- </if>
- </where>
- </select>
- <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
- FROM
- partner_user p
- <where>
- p.is_delete = 0
- AND p.user_id in
- <foreach collection="userId" item="item" index="index" separator="," open="(" close=")">
- #{item}
- </foreach>
- <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 DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(p.create_time)
- </if>
- <if test="params.countCycle == 'Month'">
- AND YEAR(p.create_time) = YEAR(CURDATE()) AND MONTH(p.create_time) = MONTH(CURDATE())
- </if>
- </if>
- </if>
- </where>
- GROUP BY
- createTime
- </select>
- <select id="selectJuniorListUser" resultType="com.jzg.entity.PartnerUser">
- SELECT
- p.id,
- p.user_id,
- p.`name`,
- p.grade
- FROM
- partner_user p
- LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = p.user_id AND sa.is_delete = 0
- <where>
- p.is_delete = 0
- AND 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>
- <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(create_time) = MONTH(CURDATE())
- </if>
- </if>
- </if>
- </where>
- </select>
- <select id="selectByReferrerId" resultType="com.jzg.entity.vo.RelationalVo">
- SELECT
- p.id,
- p.NAME AS userName,
- p.mobile,
- p.user_id,
- p.dept_id,
- (SELECT `name` FROM sys_dept d WHERE d.id = p.dept_id AND d.is_delete = 0) AS deptName,
- (SELECT `name` FROM sys_user_jzg_info u WHERE u.id = p.referrer_id AND u.is_delete = 0) AS suggestName,
- p.grade AS type,
- p.referrer_id,
- p.create_time
- FROM
- partner_user p
- LEFT JOIN sys_user_jzg_info u ON u.id = p.user_id AND u.is_delete = 0
- <where>
- p.is_delete = 0
- AND p.referrer_id = #{userId}
- AND p.grade = #{grade}
- </where>
- </select>
- <select id="selectQuerySuperiors" resultType="com.jzg.entity.vo.RelationalVo">
- SELECT
- p.id,
- p.NAME AS userName,
- p.mobile,
- p.user_id,
- p.dept_id,
- (SELECT `name` FROM sys_dept d WHERE d.id = p.dept_id AND d.is_delete = 0) AS deptName,
- (SELECT username FROM sys_user u WHERE u.id = p.referrer_id AND u.is_delete = 0) AS suggestName,
- p.grade AS type,
- p.referrer_id,
- p.create_time
- FROM
- partner_user p
- LEFT JOIN sys_user_jzg_info u ON u.id = p.user_id AND u.is_delete = 0
- <where>
- p.is_delete = 0
- AND p.user_id = #{userId}
- AND p.grade = #{grade}
- </where>
- </select>
- <select id="myPerformanceTotal" resultType="com.alibaba.fastjson.JSONObject">
- select
- (select count(DISTINCT company_id) from partner_premium_details WHERE is_delete = 0 AND user_id in
- <foreach collection="list" item="item" index="index" separator="," open="(" close=")">
- #{item}
- </foreach>
- <if test="map.startTime != '' and map.startTime != null">
- and DATE(create_time) BETWEEN #{map.startTime} AND #{map.endTime}
- </if>
- ) numberOrders,
- IFNULL((
- SELECT SUM(db.sumpremium) FROM (
- SELECT sumpremium FROM partner_premium_details WHERE is_delete = 0 AND user_id in
- <foreach collection="list" item="item" index="index" separator="," open="(" close=")">
- #{item}
- </foreach>
- <if test="map.startTime != '' and map.startTime != null">
- and DATE(create_time) BETWEEN #{map.startTime} AND #{map.endTime}
- </if>
- GROUP BY issuer_id,sumpremium ) db
- ),0
- ) totalPremium,
- IFNULL((
- SELECT SUM(extract_fee) FROM partner_premium_details WHERE is_delete = 0 AND user_id = #{map.userId}
- <if test="map.startTime != '' and map.startTime != null">
- and DATE(create_time) BETWEEN #{map.startTime} AND #{map.endTime}
- </if>
- ),0
- ) commission
- </select>
- <select id="queryDataList" resultType="com.alibaba.fastjson.JSONObject">
- SELECT
- orderno ordersNo,
- licenseno carId,
- issuer_name agent,
- sumpremium premium,
- extract_fee commission,
- create_time issuanceTime,
- source,
- user_id userId,
- app_status appStatus
- FROM
- partner_premium_details
- <where>
- is_delete = 0
- AND status = 1
- AND 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>
- <if test="map.appStatus != null">
- and app_status = #{map.appStatus}
- </if>
- </where>
- </select>
- <select id="selectNumber" resultType="java.lang.Integer">
- SELECT COUNT(1) FROM (
- SELECT
- p.user_id,
- p.grade,
- p.referrer_id,
- sa.partner_status,
- sa.partner_review_time AS approve_time
- FROM
- partner_user p
- LEFT JOIN sys_user_jzg_info_salesman sa ON p.user_id = sa.sys_user_jzg_info_id AND sa.is_delete = 0
- WHERE p.is_delete = 0 AND sa.type_attr = 3 AND sa.partner_status = 3 AND 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">
- db.approve_time BETWEEN #{period.startDate} AND #{period.endDate}
- </if>
- </where>
- </select>
- <select id="selectNumber4" resultType="java.lang.Integer">
- SELECT
- COUNT( p.user_id )
- FROM
- partner_user p
- LEFT JOIN sys_user_jzg_info t ON t.user_id = p.user_id AND t.is_delete = 0
- <where>
- p.is_delete = 0
- AND t.`status` = 3
- AND grade = #{number}
- <if test="period.startDate != null and period.endDate != null">
- AND t.approve_time BETWEEN #{period.startDate} AND #{period.endDate}
- </if>
- AND p.referrer_id = #{userId}
- </where>
- </select>
- <select id="selectByUserIdNumber" resultType="java.lang.Integer">
- SELECT
- COUNT( p.user_id )
- FROM
- partner_user p
- LEFT JOIN sys_user_jzg_info t ON t.user_id = p.user_id AND t.is_delete = 0
- <where>
- p.is_delete = 0
- AND t.`status` = 3
- AND grade = #{number}
- <if test="period.startDate != null and period.endDate != null">
- AND t.approve_time BETWEEN #{period.startDate} AND #{period.endDate}
- </if>
- AND p.referrer_id = #{userId}
- </where>
- </select>
- <select id="queryUser" resultType="com.jzg.entity.PartnerUser">
- SELECT * from partner_user
- <where>
- is_delete = 0
- AND user_id = #{referrerId}
- AND grade = #{grade}
- </where>
- </select>
- <select id="queryByUserId" resultType="com.jzg.entity.PartnerUser">
- SELECT * from partner_user
- <where>
- is_delete = 0
- AND grade < 5
- AND user_id = #{referrerId}
- </where>
- order by grade desc
- </select>
- <select id="assessment" resultType="java.lang.Integer">
- SELECT
- COUNT( 1 ) AS total_count
- FROM
- partner_user u
- LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = u.user_id AND sa.is_delete = 0
- <where>
- u.is_delete = 0
- AND sa.type_attr = 3
- AND sa.partner_status = 3
- AND u.grade = #{grade}
- AND u.referrer_id = #{userId}
- <if test="period.startDate != null and period.endDate != null">
- AND sa.partner_review_time BETWEEN #{period.startDate} AND #{period.endDate}
- </if>
- </where>
- </select>
- <select id="querySuperiors" resultType="java.lang.String">
- WITH RECURSIVE cte_name AS (
- SELECT
- user_id,
- referrer_id,
- grade
- FROM
- partner_user
- WHERE
- is_delete = 0
- AND user_id = #{userId}
- AND grade = #{original}
- 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.is_delete = 0
- AND t.grade = (cte_name.grade - 1)
- )
- SELECT user_id FROM cte_name where grade = #{grade};
- </select>
- <select id="querySubordinateUserId" resultType="java.lang.String">
- WITH RECURSIVE cte_name AS (
- SELECT
- user_id,
- referrer_id,
- grade
- FROM partner_user
- WHERE is_delete = 0 AND referrer_id = #{levelUserId} AND grade = '5'
- UNION ALL
- SELECT
- t.user_id,
- t.referrer_id,
- t.grade
- FROM partner_user t INNER JOIN cte_name ON t.referrer_id = cte_name.user_id
- WHERE t.is_delete = 0 AND t.grade = (cte_name.grade + 1)
- )
- SELECT user_id FROM cte_name
- </select>
- <select id="querySubordinate" resultType="java.lang.String">
- WITH RECURSIVE cte_name AS (
- SELECT
- user_id,
- referrer_id,
- grade
- FROM partner_user
- WHERE is_delete = 0 AND referrer_id IN(SELECT user_id FROM partner_user WHERE is_delete = 0 AND referrer_id = #{levelUserId} AND grade = '4') AND grade = '5'
- UNION ALL
- SELECT
- t.user_id,
- t.referrer_id,
- t.grade
- FROM partner_user t INNER JOIN cte_name ON t.referrer_id = cte_name.user_id
- WHERE t.is_delete = 0 AND t.grade = (cte_name.grade + 1)
- )
- SELECT user_id FROM cte_name
- </select>
- <select id="getLevelAllUserId" resultType="java.lang.String">
- WITH RECURSIVE cte_name AS (
- SELECT
- user_id,
- referrer_id,
- grade
- FROM partner_user
- WHERE is_delete = 0 AND user_id = #{userId} AND grade = (SELECT min(grade) FROM partner_user WHERE is_delete = 0 AND user_id = #{userId})
- UNION ALL
- SELECT
- t.user_id,
- t.referrer_id,
- t.grade
- FROM partner_user t INNER JOIN cte_name ON t.referrer_id = cte_name.user_id
- WHERE t.is_delete = 0 AND t.grade = (cte_name.grade + 1)
- )
- SELECT DISTINCT user_id FROM cte_name WHERE grade < 5
- </select>
- <select id="queryUserRuleVo" resultType="com.jzg.entity.vo.UserRuleVo">
- SELECT (
- SELECT COUNT(1) FROM partner_user WHERE is_delete = 0 AND referrer_id = '99140105M36001' AND grade = '4'
- ) AS invitationsNumber,
- (
- SELECT SUM(db.sumpremium) FROM (
- SELECT DISTINCT orderno,sumpremium FROM partner_premium_details WHERE is_delete = 0 AND (user_id,source) IN (
- WITH RECURSIVE cte_name AS (
- SELECT
- user_id,
- referrer_id,
- grade,
- CAST(user_id AS CHAR(1000)) AS path
- FROM
- partner_user
- WHERE
- is_delete = 0
- AND user_id = '99140105M36001' and grade = 1
- UNION ALL
- SELECT
- t.user_id,
- t.referrer_id,
- t.grade,
- CONCAT(cte_name.path, ',', t.user_id) AS path
- FROM
- partner_user t
- INNER JOIN cte_name ON t.referrer_id = cte_name.user_id AND t.grade = (cte_name.grade + 1)
- WHERE
- t.is_delete = 0
- AND FIND_IN_SET(t.user_id, cte_name.path) = 0
- )
- SELECT user_id,grade FROM cte_name
- )
- ) db
- ) AS memberPremium,
- (
- SELECT SUM(da.sumpremium) FROM (
- SELECT DISTINCT orderno,sumpremium FROM partner_premium_details WHERE is_delete = 0 AND user_id = '99140105M36001'
- ) da
- ) AS yourPremium
- </select>
- <select id="selectOwnSumPremium" resultType="java.math.BigDecimal">
- SELECT SUM(db.sumpremium) AS premium FROM (
- SELECT DISTINCT orderno,sumpremium FROM partner_premium_details WHERE is_delete = 0 AND status = 1 AND user_id IN(
- SELECT user_id FROM partner_user WHERE is_delete = 0 AND user_id IN(
- SELECT id FROM sys_user WHERE is_delete = 0 AND identity = (SELECT identity FROM sys_user WHERE is_delete = 0 AND id = #{userId})
- ) AND grade > 4
- )
- <if test="period.startDate != null and period.endDate != null">
- AND create_time BETWEEN #{period.startDate} AND #{period.endDate}
- </if>
- ) db
- </select>
- <select id="subordinateMembersInsurancePremiums" resultType="java.math.BigDecimal">
- SELECT SUM(db.sumpremium) FROM (
- SELECT DISTINCT orderno,sumpremium FROM partner_premium_details WHERE is_delete = 0 AND status = 1 AND user_id IN(
- WITH RECURSIVE cte_name AS (
- SELECT user_id,referrer_id, grade FROM partner_user WHERE is_delete = 0 and user_id = #{userId} AND grade = #{grade}
- UNION ALL
- SELECT t.user_id, t.referrer_id, t.grade FROM partner_user t
- INNER JOIN cte_name ON t.referrer_id = cte_name.user_id
- WHERE t.is_delete = 0 and t.grade = (cte_name.grade + 1)
- ) SELECT DISTINCT user_id FROM cte_name WHERE user_id != #{userId} )
- <if test="period.startDate != null and period.endDate != null">
- AND create_time BETWEEN #{period.startDate} AND #{period.endDate}
- </if>
- ) db
- </select>
- <select id="partnerDetails" resultType="com.jzg.entity.vo.PartnerDetailsVo">
- SELECT
- info.*,
- referrer.`name` AS referrerName,
- leader.`name` AS leaderIdName,
- (SELECT
- GROUP_CONCAT(p.grade SEPARATOR ',')
- FROM
- partner_user p
- WHERE
- p.is_delete = 0
- AND p.user_id = info.user_id) AS gradeList
- FROM
- sys_user_jzg_info info
- LEFT JOIN sys_user_jzg_info_salesman s ON s.sys_user_jzg_info_id = info.id AND s.is_delete = 0
- LEFT JOIN sys_user_jzg_info referrer ON referrer.user_id = info.referrer_id AND referrer.is_delete = 0
- LEFT JOIN sys_user_jzg_info leader ON leader.user_id = info.leader_id AND leader.is_delete = 0
- <where>
- info.is_delete = 0
- AND s.type_attr = 3
- and info.user_id = #{userId}
- </where>
- </select>
- <select id="selectLoginList" resultType="com.jzg.entity.PartnerUser">
- SELECT id,grade,user_id FROM partner_user
- <where>
- is_delete = 0
- AND user_id = #{userId}
- AND grade < 5
- </where>
- </select>
- <select id="queryAppUserInfoVoByUserId" resultType="com.jzg.entity.vo.AppUserInfoVo">
- SELECT
- u.id user_id,u.mobile,info.id as userInfoId
- FROM
- sys_user u
- LEFT JOIN sys_user_jzg_info info ON info.user_id = u.id AND info.is_delete = 0
- <where>
- u.is_delete = 0
- AND u.id = #{userId}
- </where>
- </select>
- <select id="selectListByUserId" resultType="com.jzg.entity.PartnerUser">
- SELECT * FROM partner_user
- <where>
- is_delete = 0
- AND user_id = (
- SELECT
- info.id
- FROM sys_user_jzg_info info
- INNER JOIN sys_user_jzg_info_salesman sa
- ON sa.sys_user_jzg_info_id = info.id AND sa.is_delete = 0
- WHERE
- info.is_delete = 0
- AND sa.type_attr = 3
- AND sa.partner_status = 3
- AND info.user_id = #{userId}
- )
- </where>
- </select>
- <select id="selectFee" resultType="com.jzg.entity.vo.SysPartnerAccount">
- SELECT
- COALESCE(SUM(CASE WHEN 1=1 THEN extract_fee END), 0) AS totalAmount,
- COALESCE(SUM(CASE WHEN 1=1 THEN history_fee END), 0) AS transferAmount,
- COALESCE(SUM(CASE WHEN 1=1 THEN expired_amount END), 0) AS expiredAmount,
- COALESCE(SUM(CASE WHEN 1=1 THEN cash_fee - expired_amount END), 0) AS unreportedAmount
- FROM partner_partner_account
- <where>
- is_delete = 0
- AND user_id = (
- SELECT
- info.id
- FROM
- sys_user_jzg_info info
- INNER JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = info.id AND sa.is_delete = 0
- WHERE
- info.is_delete = 0
- AND sa.type_attr = 3
- AND sa.partner_status = 3
- AND info.user_id = #{userId}
- )
- </where>
- </select>
- <select id="distinctSystemCode" resultType="java.lang.String">
- SELECT DISTINCT system_code FROM partner_user
- <where>
- is_delete = 0
- AND system_code is not null
- AND system_code != ''
- </where>
- </select>
- </mapper>
|