From dd5b15229cb15459fa7c31ccea77dac28cbfafbd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 13 四月 2020 10:04:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderHongBaoMoneyComputeServiceImpl.java | 39 +++++++++++++++++++++++---------------- 1 files changed, 23 insertions(+), 16 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderHongBaoMoneyComputeServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderHongBaoMoneyComputeServiceImpl.java index 4273391..366743d 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderHongBaoMoneyComputeServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderHongBaoMoneyComputeServiceImpl.java @@ -19,6 +19,16 @@ @Resource private HongBaoManageService hongBaoManageService; + @Override + public BigDecimal computeBaseFanliMoney(CommonOrder order) { + return getBaseCommission(order); + } + + @Override + public BigDecimal computeBaseShareMoney(CommonOrder order) { + return getBaseCommission(order); + } + // 鑾峰彇鍩虹浣i噾 private BigDecimal getBaseCommission(CommonOrder order) { BigDecimal rate = hongBaoManageService.getBaseFanliRate(order.getThirdCreateTime().getTime()); @@ -90,10 +100,10 @@ public BigDecimal computeFirstTeamSubsidy(BigDecimal fanLiMoney, Date placeOrderTime, UserLevelEnum buyerUserLevel, UserLevelEnum userLevel) { BigDecimal rate = getTeamSubsidyRate(placeOrderTime, buyerUserLevel, userLevel, true); - if (rate == null) + if (rate == null || rate.compareTo(new BigDecimal(0)) == 0) return null; BigDecimal baseRate = hongBaoManageService.getBaseFanliRate(placeOrderTime.getTime()); - BigDecimal officialSubsidyRate = getOfficialSubsidyRate(placeOrderTime, userLevel, false); + BigDecimal officialSubsidyRate = getOfficialSubsidyRate(placeOrderTime, buyerUserLevel, false); return MoneyBigDecimalUtil.div(fanLiMoney.multiply(baseRate).multiply(rate), baseRate.add(officialSubsidyRate).multiply(new BigDecimal(100))); } @@ -102,32 +112,28 @@ public BigDecimal computeSecondTeamSubsidy(BigDecimal fanLiMoney, Date placeOrderTime, UserLevelEnum buyerUserLevel, UserLevelEnum userLevel) { BigDecimal rate = getTeamSubsidyRate(placeOrderTime, buyerUserLevel, userLevel, false); - if (rate == null) + if (rate == null || rate.compareTo(new BigDecimal(0)) == 0) return null; BigDecimal baseRate = hongBaoManageService.getBaseFanliRate(placeOrderTime.getTime()); - BigDecimal officialSubsidyRate = getOfficialSubsidyRate(placeOrderTime, userLevel, false); + BigDecimal officialSubsidyRate = getOfficialSubsidyRate(placeOrderTime, buyerUserLevel, false); return MoneyBigDecimalUtil.div(fanLiMoney.multiply(baseRate).multiply(rate), baseRate.add(officialSubsidyRate).multiply(new BigDecimal(100))); } - public BigDecimal computeFirstTeamReward(BigDecimal firstTeamSubsidy, Date placeOrderTime, - BigDecimal secondTeamSubsidy, UserLevelEnum userLevel) { + @Override + public BigDecimal computeFirstTeamReward(BigDecimal money, Date placeOrderTime, UserLevelEnum userLevel) { if (userLevel != UserLevelEnum.superVIP) return null; BigDecimal firstRate = getTeamRewardRate(placeOrderTime, userLevel, true); - BigDecimal secondRate = getTeamRewardRate(placeOrderTime, userLevel, false); - if (firstRate == null || secondRate == null) + if (firstRate == null) return null; - BigDecimal firstReward = MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(secondRate, firstTeamSubsidy), - new BigDecimal(100)); - BigDecimal secondReward = MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(firstRate, secondTeamSubsidy), - new BigDecimal(100)); + BigDecimal reward = MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(firstRate, money), new BigDecimal(100)); - return firstReward.add(secondReward); + return reward; } /** @@ -164,10 +170,11 @@ * BigDecimal 杩斿洖绫诲瀷 * @throws */ - private BigDecimal getTeamSubsidyRate(Date date, UserLevelEnum buyerUserLevel, UserLevelEnum userLevel, - boolean first) { + @Override + public BigDecimal getTeamSubsidyRate(Date date, UserLevelEnum buyerUserLevel, UserLevelEnum userLevel, + boolean direct) { String key = null; - if (first) + if (direct) key = String.format("team_subsidy_6_pre_%s_%s", buyerUserLevel.getLevel(), userLevel.getLevel()); else key = String.format("team_subsidy_7_pre_%s_%s", buyerUserLevel.getLevel(), userLevel.getLevel()); -- Gitblit v1.8.0