From 87ed7b6e32d23789204499a81c77b78de2cefa97 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Wed, 11 Jun 2025 09:25:26 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E5=A5=96=E9=87=91=E6=8B=A8=E6=AF=94?= =?UTF-8?q?=E6=B1=87=E6=80=BB=E6=9C=8D=E5=8A=A1=E8=A1=A5=E8=B4=B4=E6=8B=A8?= =?UTF-8?q?=E6=AF=94=E8=B0=83=E6=95=B4=EF=BC=8C=E4=B8=8D=E7=AE=97=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/CuBonusVertexStatisTotalController.java | 8 ++++++-- .../hzs/member/statis/vo/CuBonusVertexStaticTotalVO.java | 5 +++++ .../mapper/member/statis/CuBonusVertexStatisMapper.xml | 5 +++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/controller/manager/CuBonusVertexStatisTotalController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/controller/manager/CuBonusVertexStatisTotalController.java index 32a60204..7e0ecada 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/controller/manager/CuBonusVertexStatisTotalController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/controller/manager/CuBonusVertexStatisTotalController.java @@ -106,7 +106,9 @@ public class CuBonusVertexStatisTotalController extends BaseController { itm.setIntroduceBonusRate(itm.getIntroduceBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP)); itm.setOrgBonusRate(itm.getOrgBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP)); itm.setLeaderBonusRate(itm.getLeaderBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP)); - itm.setServiceBonusRate(itm.getServiceBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP)); + } + if (itm.getRegAmount().compareTo(BigDecimal.ZERO) > 0) { + itm.setServiceBonusRate(itm.getServiceBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getRegAmount(), 4, RoundingMode.HALF_UP)); } if (itm.getRepurchaseAllAmount().compareTo(BigDecimal.ZERO) > 0) { itm.setRepurRangeBonusRate(itm.getRepurRangeBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getRepurchaseAllAmount(), 4, RoundingMode.HALF_UP)); @@ -186,7 +188,9 @@ public class CuBonusVertexStatisTotalController extends BaseController { itm.setIntroduceBonusRate(itm.getIntroduceBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP)); itm.setOrgBonusRate(itm.getOrgBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP)); itm.setLeaderBonusRate(itm.getLeaderBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP)); - itm.setServiceBonusRate(itm.getServiceBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getFirstPurchaseAll(), 4, RoundingMode.HALF_UP)); + } + if (itm.getRegAmount().compareTo(BigDecimal.ZERO) > 0) { + itm.setServiceBonusRate(itm.getServiceBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getRegAmount(), 4, RoundingMode.HALF_UP)); } if (itm.getRepurchaseAllAmount().compareTo(BigDecimal.ZERO) > 0) { itm.setRepurRangeBonusRate(itm.getRepurRangeBonus().multiply(cuBonusVertexStaticTotalVO.getPerCent()).divide(itm.getRepurchaseAllAmount(), 4, RoundingMode.HALF_UP)); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/vo/CuBonusVertexStaticTotalVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/vo/CuBonusVertexStaticTotalVO.java index b36557fd..3bae362b 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/vo/CuBonusVertexStaticTotalVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/vo/CuBonusVertexStaticTotalVO.java @@ -215,6 +215,11 @@ public class CuBonusVertexStaticTotalVO implements Serializable { */ private Integer pkVertex; + /** + * 注册金额(用于处理服务补贴波比使用) + */ + private BigDecimal regAmount; + /** * 注册新增PV MAIN_REG_PV */ 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 2cfa6e00..7d7959f4 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 @@ -360,6 +360,7 @@ sum (cbs.REPUR_RANGE_BONUS) repurRangeBonus, sum (cbs.REPUR_ORG_BONUS) repurOrgBonus, sum (cbs.REPUR_LEADER_BONUS) repurLeaderBonus, + sum (cbs.MAIN_REG_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT) regAmount,, sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT) AS firstPurchaseAll, @@ -479,10 +480,10 @@ / sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT), 4) end AS leaderBonusRate, case - WHEN sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT) = 0 + WHEN sum(cbs.MAIN_REG_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT) = 0 THEN 0 ELSE ROUND(#{perCent} * sum(cbs.SERVICE_BONUS) - / sum(cbs.MAIN_REG_AMOUNT + cbs.MAIN_UP_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT + cbs.SPECIAL_UPGRADE_AMOUNT + cbs.FICTITIOUS_AMOUNT), 4) + / sum(cbs.MAIN_REG_AMOUNT + cbs.SPECIAL_REGISTER_AMOUNT), 4) end AS serviceBonusRate, case