From 6f6c93d0cee6898fc1d3fa9d639b8273121b821d Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 28 四月 2020 09:46:30 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderHongBaoMoneyComputeServiceImpl.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 53 insertions(+), 7 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 7c34e4b..e0e5edc 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 @@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; +import com.yeshi.fanli.dto.ConfigParamsDTO; import com.yeshi.fanli.dto.order.UserTeamLevel; import com.yeshi.fanli.dto.order.UserTeamRate; import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; @@ -17,6 +18,7 @@ import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; +import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.user.UserLevelUtil; @Service @@ -73,6 +75,10 @@ BigDecimal rate = hongBaoManageService.getBaseFanliRate(order.getThirdCreateTime().getTime()) .add(getOfficialSubsidyRate(order.getThirdCreateTime(), getCommonUserLevel(order.getThirdCreateTime(), userLevel), false)); + if (userLevel == UserLevelEnum.normalVIP) { + rate = new BigDecimal("61"); + } + if (order.getState() == CommonOrder.STATE_JS || order.getState() == CommonOrder.STATE_WQ) return MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(rate, order.geteIncome()), new BigDecimal(100)); else if (order.getEstimate() != null) @@ -86,6 +92,11 @@ BigDecimal rate = hongBaoManageService.getBaseFanliRate(order.getThirdCreateTime().getTime()) .add(getOfficialSubsidyRate(order.getThirdCreateTime(), getCommonUserLevel(order.getThirdCreateTime(), userLevel), true)); + + if (userLevel == UserLevelEnum.normalVIP) { + rate = new BigDecimal("61"); + } + if (order.getState() == CommonOrder.STATE_JS || order.getState() == CommonOrder.STATE_WQ) return MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(rate, order.geteIncome()), new BigDecimal(100)); else if (order.getEstimate() != null) @@ -187,9 +198,9 @@ return null; if (buyerLevel == UserLevelEnum.daRen && boss.getLevel() == UserLevelEnum.daRen) { - rate = new BigDecimal(9); + rate = hongBaoManageService.getByKeyAndMaxTime("new_invite_daren_6", date.getTime()); } else if (buyerLevel == UserLevelEnum.normalVIP && boss.getLevel() == UserLevelEnum.normalVIP) { - rate = new BigDecimal(9); + rate = hongBaoManageService.getByKeyAndMaxTime("new_invite_daren_6", date.getTime()); } else { BigDecimal bossRate = getRateByLevel(boss.getLevel(), date); BigDecimal buyerRate = getRateByLevel(buyerLevel, date); @@ -212,13 +223,19 @@ BigDecimal rate = null; if (buyerLevel == UserLevelEnum.daRen && firstBoss.getLevel() == UserLevelEnum.daRen) { if (boss.getLevel() == UserLevelEnum.daRen) - rate = new BigDecimal(1); + rate = hongBaoManageService.getByKeyAndMaxTime("new_invite_daren_7", date.getTime()); else { rate = null; } } else if (buyerLevel == UserLevelEnum.normalVIP && firstBoss.getLevel() == UserLevelEnum.normalVIP) { if (boss.getLevel() == UserLevelEnum.normalVIP) - rate = new BigDecimal(1); + rate = hongBaoManageService.getByKeyAndMaxTime("new_invite_daren_7", date.getTime()); + else { + rate = null; + } + } else if (buyerLevel == UserLevelEnum.daRen && firstBoss.getLevel() == UserLevelEnum.normalVIP) { + if (boss.getLevel() == UserLevelEnum.normalVIP) + rate = hongBaoManageService.getByKeyAndMaxTime("new_invite_daren_7", date.getTime()); else { rate = null; } @@ -299,8 +316,10 @@ highList = highList.subList(0, 4); } - BigDecimal highTotalRate = new BigDecimal("0.9"); - BigDecimal vipTotalRate = new BigDecimal("1.5"); + BigDecimal highTotalRate = hongBaoManageService.getByKeyAndMaxTime("dividents_rate_same_level_high", + date.getTime()); + BigDecimal vipTotalRate = hongBaoManageService.getByKeyAndMaxTime("dividents_rate_same_level_super", + date.getTime()); if (vipList.size() > 0 && highList.size() > 0) { @@ -343,7 +362,8 @@ // 瀵煎笀鍒嗙孩 for (UserTeamLevel level : bossLevelList) { if (level.getLevel() == UserLevelEnum.tearcher) { - rateList.add(new UserTeamRate(level, new BigDecimal("0.6"))); + rateList.add(new UserTeamRate(level, + hongBaoManageService.getByKeyAndMaxTime("dividents_rate_tearcher", date.getTime()))); break; } } @@ -358,4 +378,30 @@ return null; } + private BigDecimal getFanliRate(Date time, UserLevelEnum userLevel) { + BigDecimal rate = hongBaoManageService.getBaseFanliRate(time.getTime()) + .add(getOfficialSubsidyRate(time, getCommonUserLevel(time, userLevel), false)); + + if (userLevel == UserLevelEnum.normalVIP) + rate = new BigDecimal("61"); + return rate; + } + + @Override + public ConfigParamsDTO getShowComputeRate(String platform, String version, UserLevelEnum userLevel) { + BigDecimal fanLiRate = getFanliRate(new Date(), userLevel); + BigDecimal shareRate = fanLiRate; + ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE, + getFanliRate(new Date(), UserLevelEnum.superVIP)); + if (VersionUtil.greaterThan_2_0_5(platform, version)) { + paramsDTO.setMaxRewardRate(null); + } + return paramsDTO; + } + + @Override + public ConfigParamsDTO getShowComputeRate(String platform, String version) { + return getShowComputeRate(platform, version, UserLevelEnum.daRen); + } + } -- Gitblit v1.8.0