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 |   92 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 66 insertions(+), 26 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 ca1a8a9..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,46 +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);
 
 	/**
-	 * 璁$畻鍥㈤槦琛ヨ创
-	 * @param date 涓嬪崟鏃堕棿
-	 * @param buyerUserLevel 涓嬪崟鏃� 涓嬪崟浜哄綋鏃剁瓑绾�
-	 * @param userLevel 涓嬪崟鏃� 涓婄骇浜哄搴旂瓑绾�
-	 * @param direct 鏄惁鐩存帴閭�璇峰叧绯�
-	 * @return
+	 * 鑾峰彇鍒嗙孩
+	 * @Title: getTeamDividents
+	 * @Description: 
+	 * @param buyerLevel
+	 * @param money
+	 * @param bossLevelList
+	 * @return 
+	 * List<UserTeamMoney> 杩斿洖绫诲瀷
+	 * @throws
 	 */
-	public BigDecimal getTeamSubsidyRate(Date date, UserLevelEnum buyerUserLevel, UserLevelEnum userLevel, boolean direct);
+	public List<UserTeamRate> getTeamDividentsRates(UserLevelEnum buyerLevel, List<UserTeamLevel> bossLevelList,
+			Date date);
+
+	/**
+	 * 鑾峰彇璧勬繁瀵煎笀 琛ヨ创
+	 * @Title: getTearcherSubsidy
+	 * @Description: 
+	 * @param buyerLevel
+	 * @param money
+	 * @param bossLevelList
+	 * @return 
+	 * UserTeamMoney 杩斿洖绫诲瀷
+	 * @throws
+	 */
+	public UserTeamRate getTearcherSubsidy(UserLevelEnum buyerLevel, BigDecimal rate, List<UserTeamLevel> bossLevelList,
+			Date date);
 
 }

--
Gitblit v1.8.0