| | |
| | |
|
| | | 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;
|
| | |
|
| | |
| | | *
|
| | | */
|
| | | public interface OrderHongBaoMoneyComputeService {
|
| | |
|
| | | public ConfigParamsDTO getShowComputeRate(String platform, String version, UserLevelEnum userLevel);
|
| | |
|
| | | public ConfigParamsDTO getShowComputeRate(String platform, String version);
|
| | |
|
| | | /**
|
| | | * 获取基础的返利金额
|
| | | * @Title: computeBaseFanliMoney
|
| | | * @Description: |
| | | * @param order
|
| | | * @return |
| | | * BigDecimal 返回类型
|
| | | * @throws
|
| | | */
|
| | | public BigDecimal computeBaseFanliMoney(CommonOrder order);
|
| | |
|
| | | /**
|
| | | * 获取基础的分享金额
|
| | | * @Title: computeBaseShareMoney
|
| | | * @Description: |
| | | * @param order
|
| | | * @return |
| | | * BigDecimal 返回类型
|
| | | * @throws
|
| | | */
|
| | | public BigDecimal computeBaseShareMoney(CommonOrder order);
|
| | |
|
| | | /**
|
| | | * 计算自购订单返利金额
|
| | |
| | | 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:
|
| | |
| | | * BigDecimal 返回类型
|
| | | * @throws
|
| | | */
|
| | | public BigDecimal computeFirstInviteMoney(CommonOrder order, UserLevelEnum buyer);
|
| | | public BigDecimal computeFirstInviteMoney(CommonOrder order, UserLevelEnum buyer,
|
| | | List<UserTeamLevel> bossLevelList);
|
| | |
|
| | | /**
|
| | | * 计算间接粉丝邀请奖金
|
| | |
| | | * 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);
|
| | |
|
| | | }
|