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