From 7848b05e461ffc5fc771def5ca9703cddb9411d9 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Thu, 29 May 2025 15:28:31 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E5=85=BC=E5=AE=B91=EF=BC=9A2=E6=96=B0?= =?UTF-8?q?=E6=8B=93=E5=B1=95=E6=94=B6=E7=9B=8A=EF=BC=8C=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E9=A6=96=E8=B4=AD=E5=A4=8D=E8=B4=AD=E6=AF=94=E4=BE=8B=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/statis/CuBonusStatisMapper.xml | 172 +++++++-- .../statis/CuBonusVertexStatisMapper.xml | 336 ++++++++++++++---- 2 files changed, 405 insertions(+), 103 deletions(-) diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusStatisMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusStatisMapper.xml index 6aa89497..482eb21c 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusStatisMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusStatisMapper.xml @@ -23,42 +23,7 @@ @@ -235,9 +266,74 @@ / sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT + cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4) end AS totalBonusRateSum + FROM ( + SELECT + cbs.PK_BD_VERTEX pkVertex, + cbs.PK_TEAM_CODE pkTeamCode, + ver.VERTEX_NAME as vertexName, + cbs.PK_ID pkId, + cbs.PERIOD period, + cbs.CREATION_TIME creationTime, + cbs.PK_COUNTRY pkCountry, + + cbs.MAIN_REG_PV , + cbs.MAIN_UP_PV , + cbs.MAIN_REPUR_PV , + cbs.SPECIAL_REGISTER_PV , + cbs.SPECIAL_UPGRADE_PV , + cbs.SPECIAL_REPURCHASE_PV , + cbs.FICTITIOUS_PV , + cbs.MALL_PV , + cbs.COOPERATE_PV , + cbs.WELFARE_ORDER_PV , + + cbs.main_reg_amount, + cbs.main_up_amount, + cbs.main_repur_amount, + cbs.special_register_amount, + cbs.special_upgrade_amount, + cbs.special_repurchase_amount, + cbs.fictitious_amount, + cbs.mall_amount, + cbs.cooperate_amount, + cbs.welfare_order, + + cbs.introduce_bonus , + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.org_bonus + else + cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + org_bonus + end org_bonus, + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.leader_bonus + else + cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + leader_bonus + end leader_bonus, + cbs.service_bonus , + cbs.repur_range_bonus , + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.repur_org_bonus + else + cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + org_bonus + end repur_org_bonus, + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.repur_leader_bonus + else + cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + leader_bonus + end repur_leader_bonus, + cbs.repur_push_income FROM CU_BONUS_STATIS cbs left join bd_vertex ver on cbs.pk_bd_vertex = ver.pk_id - WHERE ver.DEL_FLAG = 0 + WHERE 1 = 1 + and ver.DEL_FLAG = 0 and cbs.PK_COUNTRY = #{pkCountry} @@ -253,6 +349,8 @@ and cbs.CREATION_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') + ) + cbs diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusVertexStatisMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusVertexStatisMapper.xml index fded16e1..dbd398b4 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusVertexStatisMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/statis/CuBonusVertexStatisMapper.xml @@ -2,58 +2,10 @@ - + @@ -211,18 +229,6 @@ sum (cbs.REPUR_RANGE_BONUS) repurRangeBonusSum, sum (cbs.REPUR_ORG_BONUS) repurOrgBonusSum, sum (cbs.REPUR_LEADER_BONUS) repurLeaderBonusSum, - sum (cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT) AS firstPurchaseAllSum, sum (cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER) @@ -266,6 +272,71 @@ / sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT + cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4) end AS totalBonusRateSum + from ( + SELECT + cbs.PK_BD_VERTEX , + cbs.PK_TEAM_CODE , + cm.MEMBER_CODE , + cm.MEMBER_NAME , + cbs.PK_ID , + cbs.PERIOD , + cbs.CREATION_TIME , + cbs.PK_COUNTRY , + + cbs.MAIN_REG_PV , + cbs.MAIN_UP_PV , + cbs.MAIN_REPUR_PV , + cbs.SPECIAL_REGISTER_PV , + cbs.SPECIAL_UPGRADE_PV , + cbs.SPECIAL_REPURCHASE_PV , + cbs.FICTITIOUS_PV , + cbs.MALL_PV , + cbs.COOPERATE_PV , + cbs.WELFARE_ORDER_PV , + + cbs.main_reg_amount, + cbs.main_up_amount, + cbs.main_repur_amount, + cbs.special_register_amount, + cbs.special_upgrade_amount, + cbs.special_repurchase_amount, + cbs.fictitious_amount, + cbs.mall_amount, + cbs.cooperate_amount, + cbs.welfare_order, + + cbs.introduce_bonus , + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.org_bonus + else + cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + org_bonus + end org_bonus, + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.leader_bonus + else + cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + leader_bonus + end leader_bonus, + cbs.service_bonus , + cbs.repur_range_bonus , + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.repur_org_bonus + else + cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + org_bonus + end repur_org_bonus, + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.repur_leader_bonus + else + cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + leader_bonus + end repur_leader_bonus, + cbs.repur_push_income FROM CU_BONUS_VERTEX_STATIS cbs LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX AND cm.DEL_FLAG = 0 WHERE 1 = 1 @@ -281,6 +352,7 @@ and cbs.CREATION_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') + ) cbs @@ -332,8 +404,71 @@ ELSE ROUND(#{perCent} * sum(cbs.REPUR_RANGE_BONUS + cbs.REPUR_ORG_BONUS + cbs.REPUR_PUSH_INCOME + cbs.REPUR_LEADER_BONUS) / #{rate} / sum(cbs.MAIN_REPUR_PV + cbs.MALL_PV + cbs.COOPERATE_PV + cbs.SPECIAL_REPURCHASE_PV + cbs.WELFARE_ORDER_PV), 4) end AS repurBonusPvRate + FROM + ( + SELECT + cbs.PK_BD_VERTEX , + cbs.PK_TEAM_CODE , + cbs.PK_ID , + cbs.PERIOD , + cbs.CREATION_TIME , + cbs.PK_COUNTRY , + + cbs.MAIN_REG_PV , + cbs.MAIN_UP_PV , + cbs.MAIN_REPUR_PV , + cbs.SPECIAL_REGISTER_PV , + cbs.SPECIAL_UPGRADE_PV , + cbs.SPECIAL_REPURCHASE_PV , + cbs.FICTITIOUS_PV , + cbs.MALL_PV , + cbs.COOPERATE_PV , + cbs.WELFARE_ORDER_PV , + + cbs.main_reg_amount, + cbs.main_up_amount, + cbs.main_repur_amount, + cbs.special_register_amount, + cbs.special_upgrade_amount, + cbs.special_repurchase_amount, + cbs.fictitious_amount, + cbs.mall_amount, + cbs.cooperate_amount, + cbs.welfare_order, + + cbs.introduce_bonus , + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.org_bonus + else + cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + org_bonus + end org_bonus, + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.leader_bonus + else + cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + leader_bonus + end leader_bonus, + cbs.service_bonus , + cbs.repur_range_bonus , + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.repur_org_bonus + else + cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + org_bonus + end repur_org_bonus, + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.repur_leader_bonus + else + cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + leader_bonus + end repur_leader_bonus, + cbs.repur_push_income FROM CU_BONUS_VERTEX_STATIS cbs - LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX and cm.del_flag = 0 WHERE 1 = 1 and cbs.PK_COUNTRY = #{pkCountry} @@ -347,6 +482,9 @@ and cbs.CREATION_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') + ) + cbs + LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX and cm.del_flag = 0 GROUP BY cbs.PK_BD_VERTEX, cm.MEMBER_CODE, cm.MEMBER_NAME ) ORDER BY firstPurchaseAll desc, repurchaseAllAmount desc @@ -441,13 +579,77 @@ ELSE ROUND(#{perCent} * sum(cbs.REPUR_LEADER_BONUS) / sum(cbs.MAIN_REPUR_AMOUNT + cbs.MALL_AMOUNT + cbs.COOPERATE_AMOUNT + cbs.SPECIAL_REPURCHASE_AMOUNT + cbs.WELFARE_ORDER), 4) end AS repurLeaderBonusRate + FROM ( + SELECT + cbs.PK_BD_VERTEX , + cbs.PK_TEAM_CODE , + cm.MEMBER_CODE , + cm.MEMBER_NAME , + cbs.PK_ID , + cbs.PERIOD , + cbs.CREATION_TIME , + cbs.PK_COUNTRY , + + cbs.MAIN_REG_PV , + cbs.MAIN_UP_PV , + cbs.MAIN_REPUR_PV , + cbs.SPECIAL_REGISTER_PV , + cbs.SPECIAL_UPGRADE_PV , + cbs.SPECIAL_REPURCHASE_PV , + cbs.FICTITIOUS_PV , + cbs.MALL_PV , + cbs.COOPERATE_PV , + cbs.WELFARE_ORDER_PV , + + cbs.main_reg_amount, + cbs.main_up_amount, + cbs.main_repur_amount, + cbs.special_register_amount, + cbs.special_upgrade_amount, + cbs.special_repurchase_amount, + cbs.fictitious_amount, + cbs.mall_amount, + cbs.cooperate_amount, + cbs.welfare_order, + + cbs.introduce_bonus , + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.org_bonus + else + cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + org_bonus + end org_bonus, + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.leader_bonus + else + cbs.cal_fir_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + leader_bonus + end leader_bonus, + cbs.service_bonus , + cbs.repur_range_bonus , + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.repur_org_bonus + else + cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + org_bonus + end repur_org_bonus, + case + when cbs.cal_fir_achieve = 0 and cbs.cal_rep_achieve = 0 then + cbs.repur_leader_bonus + else + cbs.cal_rep_achieve / (cbs.cal_fir_achieve + cbs.cal_rep_achieve) * + leader_bonus + end repur_leader_bonus, + cbs.repur_push_income FROM CU_BONUS_VERTEX_STATIS cbs - LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX and cm.del_flag = 0 + LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX AND cm.DEL_FLAG = 0 WHERE 1 = 1 - and cbs.PK_COUNTRY= #{pkCountry} + and cbs.PK_COUNTRY = #{pkCountry} - and cbs.PK_BD_VERTEX = #{pkVertex} @@ -457,6 +659,8 @@ and cbs.CREATION_TIME <= to_date(#{endDate} || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') + ) cbs + LEFT JOIN CU_MEMBER cm ON cm.PK_ID = cbs.PK_BD_VERTEX and cm.del_flag = 0