admin
2020-05-20 98b1a0affd69bbe63223c21fdd2c404e8bedfccb
fanli/src/main/java/com/yeshi/fanli/service/inter/order/OrderHongBaoMoneyComputeService.java
@@ -4,6 +4,7 @@
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;
@@ -15,6 +16,10 @@
 *
 */
public interface OrderHongBaoMoneyComputeService {
   public ConfigParamsDTO getShowComputeRate(String platform, String version, UserLevelEnum userLevel);
   public ConfigParamsDTO getShowComputeRate(String platform, String version);
   /**
    * 获取基础的返利金额
@@ -63,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: 
@@ -71,7 +88,8 @@
    * BigDecimal 返回类型
    * @throws
    */
   public BigDecimal computeFirstInviteMoney(CommonOrder order, UserLevelEnum buyer);
   public BigDecimal computeFirstInviteMoney(CommonOrder order, UserLevelEnum buyer,
         List<UserTeamLevel> bossLevelList);
   /**
    * 计算间接粉丝邀请奖金
@@ -82,47 +100,8 @@
    * BigDecimal 返回类型
    * @throws
    */
   public BigDecimal computeSecondInviteMoney(CommonOrder order, UserLevelEnum buyer);
   /**
    * 计算直接粉丝团队补贴
    * @Title: computeFirstTeamSubsidy
    * @Description:
    * @param order
    * @param buyerUserLevel
    * @param userLevel
    * @return
    * BigDecimal 返回类型
    * @throws
    */
   public BigDecimal computeFirstTeamSubsidy(BigDecimal fanLiMoney, Date placeOrderTime, UserLevelEnum buyerUserLevel,
         UserLevelEnum userLevel);
   /**
    * 计算间接粉丝团队补贴
    * @Title: computeSecondTeamSubsidy
    * @Description:
    * @param order
    * @param buyerUserLevel
    * @param userLevel
    * @return
    * BigDecimal 返回类型
    * @throws
    */
   public BigDecimal computeSecondTeamSubsidy(BigDecimal fanLiMoney, Date placeOrderTime, UserLevelEnum buyerUserLevel,
         UserLevelEnum userLevel);
   /**
    * 计算团队补贴
    * @param date 下单时间
    * @param buyerUserLevel 下单时 下单人当时等级
    * @param userLevel 下单时 上级人对应等级
    * @param direct 是否直接邀请关系
    * @return
    */
   public BigDecimal getTeamSubsidyRate(Date date, UserLevelEnum buyerUserLevel, UserLevelEnum userLevel,
         boolean direct);
   public BigDecimal computeSecondInviteMoney(CommonOrder order, UserLevelEnum buyer,
         List<UserTeamLevel> bossLevelList);
   /**
    * 获取团队奖金
@@ -136,7 +115,7 @@
    * BigDecimal 返回类型
    * @throws
    */
   public UserTeamRate getTeamRewardRate(UserLevelEnum buyerLevel, List<UserTeamLevel> bossLevelList,
   public UserTeamRate getTeamRewardRate(UserLevelEnum buyerLevel, List<UserTeamLevel> bossLevelList, Date date,
         int deep);
   /**
@@ -152,7 +131,7 @@
    * @throws
    */
   public List<UserTeamRate> getTeamRewardMoreThan2LevelRates(UserLevelEnum buyerLevel,
         List<UserTeamLevel> bossLevelList);
         List<UserTeamLevel> bossLevelList, Date date);
   /**
    * 获取分红
@@ -165,8 +144,8 @@
    * List<UserTeamMoney> 返回类型
    * @throws
    */
   public List<UserTeamRate> getTeamDividentsRates(UserLevelEnum buyerLevel,
         List<UserTeamLevel> bossLevelList);
   public List<UserTeamRate> getTeamDividentsRates(UserLevelEnum buyerLevel, List<UserTeamLevel> bossLevelList,
         Date date);
   /**
    * 获取资深导师 补贴
@@ -179,7 +158,7 @@
    * UserTeamMoney 返回类型
    * @throws
    */
   public UserTeamRate getTearcherSubsidy(UserLevelEnum buyerLevel, BigDecimal rate,
         List<UserTeamLevel> bossLevelList);
   public UserTeamRate getTearcherSubsidy(UserLevelEnum buyerLevel, BigDecimal rate, List<UserTeamLevel> bossLevelList,
         Date date);
}