From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 23 五月 2020 09:54:38 +0800
Subject: [PATCH] 足迹、收藏订单兼容新需求

---
 fanli/src/main/java/com/yeshi/fanli/service/inter/order/OrderHongBaoMoneyComputeService.java |   89 ++++++++++++++++++++++++++++----------------
 1 files changed, 57 insertions(+), 32 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/inter/order/OrderHongBaoMoneyComputeService.java b/fanli/src/main/java/com/yeshi/fanli/service/inter/order/OrderHongBaoMoneyComputeService.java
index 6655b99..5f0d30c 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/inter/order/OrderHongBaoMoneyComputeService.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/inter/order/OrderHongBaoMoneyComputeService.java
@@ -2,7 +2,11 @@
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
+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;
 import com.yeshi.fanli.entity.order.CommonOrder;
 
@@ -12,6 +16,10 @@
  *
  */
 public interface OrderHongBaoMoneyComputeService {
+
+	public ConfigParamsDTO getShowComputeRate(String platform, String version, UserLevelEnum userLevel);
+
+	public ConfigParamsDTO getShowComputeRate(String platform, String version);
 
 	/**
 	 * 鑾峰彇鍩虹鐨勮繑鍒╅噾棰�
@@ -60,6 +68,18 @@
 	public BigDecimal computeShareMoney(CommonOrder order, UserLevelEnum userLevel);
 
 	/**
+	 * 鑾峰彇杩斿埄姣斾緥
+	 * @Title: getFanliRate
+	 * @Description: 
+	 * @param userLevel
+	 * @param date
+	 * @return 
+	 * BigDecimal 杩斿洖绫诲瀷
+	 * @throws
+	 */
+	public BigDecimal getFanliRate(UserLevelEnum userLevel, Date date);
+
+	/**
 	 * 璁$畻鐩存帴绮変笣閭�璇峰閲�
 	 * @Title: computeFirstInviteMoney
 	 * @Description: 
@@ -68,7 +88,8 @@
 	 * BigDecimal 杩斿洖绫诲瀷
 	 * @throws
 	 */
-	public BigDecimal computeFirstInviteMoney(CommonOrder order, UserLevelEnum buyer);
+	public BigDecimal computeFirstInviteMoney(CommonOrder order, UserLevelEnum buyer,
+			List<UserTeamLevel> bossLevelList);
 
 	/**
 	 * 璁$畻闂存帴绮変笣閭�璇峰閲�
@@ -79,61 +100,65 @@
 	 * BigDecimal 杩斿洖绫诲瀷
 	 * @throws
 	 */
-	public BigDecimal computeSecondInviteMoney(CommonOrder order, UserLevelEnum buyer);
+	public BigDecimal computeSecondInviteMoney(CommonOrder order, UserLevelEnum buyer,
+			List<UserTeamLevel> bossLevelList);
 
 	/**
-	 * 璁$畻鐩存帴绮変笣鍥㈤槦琛ヨ创
-	 * @Title: computeFirstTeamSubsidy
+	 * 鑾峰彇鍥㈤槦濂栭噾
+	 * @Title: getTeamReward
 	 * @Description: 
-	 * @param order
-	 * @param buyerUserLevel
-	 * @param userLevel
+	 * @param buyerLevel
+	 * @param money
+	 * @param levelList
+	 * @param deep 1-鐩存帴濂栭噾  2-闂存帴濂栭噾
 	 * @return 
 	 * BigDecimal 杩斿洖绫诲瀷
 	 * @throws
 	 */
-	public BigDecimal computeFirstTeamSubsidy(BigDecimal fanLiMoney, Date placeOrderTime, UserLevelEnum buyerUserLevel,
-			UserLevelEnum userLevel);
+	public UserTeamRate getTeamRewardRate(UserLevelEnum buyerLevel, List<UserTeamLevel> bossLevelList, Date date,
+			int deep);
 
 	/**
-	 * 璁$畻闂存帴绮変笣鍥㈤槦琛ヨ创
-	 * @Title: computeSecondTeamSubsidy
+	 * 鑾峰彇浜岀骇澶栫殑鍥㈤槦濂栭噾
+	 * @Title: getTeamRewardMoreThan2Level
 	 * @Description: 
-	 * @param order
-	 * @param buyerUserLevel
-	 * @param userLevel
+	 * @param buyerLevel
+	 * @param money
+	 * @param bossLevelList
+	 * @param deep
 	 * @return 
-	 * BigDecimal 杩斿洖绫诲瀷
+	 * UserTeamMoney 杩斿洖绫诲瀷
 	 * @throws
 	 */
-
-	public BigDecimal computeSecondTeamSubsidy(BigDecimal fanLiMoney, Date placeOrderTime, UserLevelEnum buyerUserLevel,
-			UserLevelEnum userLevel);
+	public List<UserTeamRate> getTeamRewardMoreThan2LevelRates(UserLevelEnum buyerLevel,
+			List<UserTeamLevel> bossLevelList, Date date);
 
 	/**
-	 * 璁$畻涓�绾у洟闃熷鍔�
-	 * @Title: computeFirstTeamReward
+	 * 鑾峰彇鍒嗙孩
+	 * @Title: getTeamDividents
 	 * @Description: 
-	 * @param firstTeamSubsidy -璐拱鑰呬笂涓�绾у洟闃熻ˉ璐�
-	 * @param secondTeamSubsidy-璐拱鑰呬笂涓ょ骇鍥㈤槦琛ヨ创
-	 * @param userLevel  褰撳墠鐢ㄦ埛鐨勭瓑绾�
+	 * @param buyerLevel
+	 * @param money
+	 * @param bossLevelList
 	 * @return 
-	 * BigDecimal 杩斿洖绫诲瀷
+	 * List<UserTeamMoney> 杩斿洖绫诲瀷
 	 * @throws
 	 */
-	public BigDecimal computeFirstTeamReward(BigDecimal firstTeamSubsidy, Date placeOrderTime, UserLevelEnum userLevel);
+	public List<UserTeamRate> getTeamDividentsRates(UserLevelEnum buyerLevel, List<UserTeamLevel> bossLevelList,
+			Date date);
 
 	/**
-	 * 璁$畻浜岀骇鍥㈤槦濂栧姳
-	 * @Title: computeSecondTeamReward
+	 * 鑾峰彇璧勬繁瀵煎笀 琛ヨ创
+	 * @Title: getTearcherSubsidy
 	 * @Description: 
-	 * @param secondTeamSubsidy 璐拱鑰呬笂涓ょ骇鍥㈤槦琛ヨ创
-	 * @param userLevel 褰撳墠鐢ㄦ埛鐨勭瓑绾�
+	 * @param buyerLevel
+	 * @param money
+	 * @param bossLevelList
 	 * @return 
-	 * BigDecimal 杩斿洖绫诲瀷
+	 * UserTeamMoney 杩斿洖绫诲瀷
 	 * @throws
 	 */
-	public BigDecimal computeSecondTeamReward(BigDecimal secondTeamSubsidy, Date placeOrderTime,
-			UserLevelEnum userLevel);
+	public UserTeamRate getTearcherSubsidy(UserLevelEnum buyerLevel, BigDecimal rate, List<UserTeamLevel> bossLevelList,
+			Date date);
 
 }

--
Gitblit v1.8.0