| | |
| | | package com.yeshi.fanli.service.inter.order;
|
| | |
|
| | | 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;
|
| | |
|
| | | /**
|
| | | * 订单类红包计算服务
|
| | | * @author Administrator
|
| | | *
|
| | | */
|
| | | 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);
|
| | |
|
| | | /**
|
| | | * 计算自购订单返利金额
|
| | | * @Title: computeFanliMoney
|
| | | * @Description: |
| | | * @param order
|
| | | * @param userLevel
|
| | | * @return |
| | | * BigDecimal 返回类型
|
| | | * @throws
|
| | | */
|
| | | public BigDecimal computeFanliMoney(CommonOrder order, UserLevelEnum userLevel);
|
| | |
|
| | | /**
|
| | | * 计算分享订单奖金金额
|
| | | * @Title: computeShareMoney
|
| | | * @Description: |
| | | * @param order
|
| | | * @param userLevel
|
| | | * @return |
| | | * BigDecimal 返回类型
|
| | | * @throws
|
| | | */
|
| | | public BigDecimal computeShareMoney(CommonOrder order, UserLevelEnum userLevel);
|
| | |
|
| | | /**
|
| | | * 计算直接粉丝邀请奖金
|
| | | * @Title: computeFirstInviteMoney
|
| | | * @Description: |
| | | * @param order
|
| | | * @return |
| | | * BigDecimal 返回类型
|
| | | * @throws
|
| | | */
|
| | | public BigDecimal computeFirstInviteMoney(CommonOrder order, UserLevelEnum buyer,
|
| | | List<UserTeamLevel> bossLevelList);
|
| | |
|
| | | /**
|
| | | * 计算间接粉丝邀请奖金
|
| | | * @Title: computeSecondInviteMoney
|
| | | * @Description: |
| | | * @param order
|
| | | * @return |
| | | * BigDecimal 返回类型
|
| | | * @throws
|
| | | */
|
| | | public BigDecimal computeSecondInviteMoney(CommonOrder order, UserLevelEnum buyer,
|
| | | List<UserTeamLevel> bossLevelList);
|
| | |
|
| | | /**
|
| | | * 获取团队奖金
|
| | | * @Title: getTeamReward
|
| | | * @Description: |
| | | * @param buyerLevel
|
| | | * @param money
|
| | | * @param levelList
|
| | | * @param deep 1-直接奖金 2-间接奖金
|
| | | * @return |
| | | * BigDecimal 返回类型
|
| | | * @throws
|
| | | */
|
| | | public UserTeamRate getTeamRewardRate(UserLevelEnum buyerLevel, List<UserTeamLevel> bossLevelList, Date date,
|
| | | int deep);
|
| | |
|
| | | /**
|
| | | * 获取二级外的团队奖金
|
| | | * @Title: getTeamRewardMoreThan2Level
|
| | | * @Description: |
| | | * @param buyerLevel
|
| | | * @param money
|
| | | * @param bossLevelList
|
| | | * @param deep
|
| | | * @return |
| | | * UserTeamMoney 返回类型
|
| | | * @throws
|
| | | */
|
| | | public List<UserTeamRate> getTeamRewardMoreThan2LevelRates(UserLevelEnum buyerLevel,
|
| | | List<UserTeamLevel> bossLevelList, Date date);
|
| | |
|
| | | /**
|
| | | * 获取分红
|
| | | * @Title: getTeamDividents
|
| | | * @Description: |
| | | * @param buyerLevel
|
| | | * @param money
|
| | | * @param bossLevelList
|
| | | * @return |
| | | * List<UserTeamMoney> 返回类型
|
| | | * @throws
|
| | | */
|
| | | 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);
|
| | |
|
| | | }
|
| | | package com.yeshi.fanli.service.inter.order; |
| | | |
| | | 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.SystemEnum; |
| | | import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; |
| | | import com.yeshi.fanli.entity.order.CommonOrder; |
| | | |
| | | /** |
| | | * 订单类红包计算服务 |
| | | * @author Administrator |
| | | * |
| | | */ |
| | | public interface OrderHongBaoMoneyComputeService { |
| | | |
| | | public ConfigParamsDTO getShowComputeRate(String platform, String version, UserLevelEnum userLevel,SystemEnum system); |
| | | |
| | | public ConfigParamsDTO getShowComputeRate(String platform, String version,SystemEnum system); |
| | | |
| | | /** |
| | | * 获取基础的返利金额 |
| | | * @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); |
| | | |
| | | /** |
| | | * 计算自购订单返利金额 |
| | | * @Title: computeFanliMoney |
| | | * @Description: |
| | | * @param order |
| | | * @param userLevel |
| | | * @return |
| | | * BigDecimal 返回类型 |
| | | * @throws |
| | | */ |
| | | public BigDecimal computeFanliMoney(CommonOrder order, UserLevelEnum userLevel); |
| | | |
| | | /** |
| | | * 计算分享订单奖金金额 |
| | | * @Title: computeShareMoney |
| | | * @Description: |
| | | * @param order |
| | | * @param userLevel |
| | | * @return |
| | | * BigDecimal 返回类型 |
| | | * @throws |
| | | */ |
| | | public BigDecimal computeShareMoney(CommonOrder order, UserLevelEnum userLevel); |
| | | |
| | | /** |
| | | * 获取返利比例 |
| | | * @Title: getFanliRate |
| | | * @Description: |
| | | * @param userLevel |
| | | * @param date |
| | | * @return |
| | | * BigDecimal 返回类型 |
| | | * @throws |
| | | */ |
| | | public BigDecimal getFanliRate(UserLevelEnum userLevel, Date date, SystemEnum system); |
| | | |
| | | /** |
| | | * 计算直接粉丝邀请奖金 |
| | | * @Title: computeFirstInviteMoney |
| | | * @Description: |
| | | * @param order |
| | | * @return |
| | | * BigDecimal 返回类型 |
| | | * @throws |
| | | */ |
| | | public BigDecimal computeFirstInviteMoney(CommonOrder order, UserLevelEnum buyer, |
| | | List<UserTeamLevel> bossLevelList); |
| | | |
| | | /** |
| | | * 计算间接粉丝邀请奖金 |
| | | * @Title: computeSecondInviteMoney |
| | | * @Description: |
| | | * @param order |
| | | * @return |
| | | * BigDecimal 返回类型 |
| | | * @throws |
| | | */ |
| | | public BigDecimal computeSecondInviteMoney(CommonOrder order, UserLevelEnum buyer, |
| | | List<UserTeamLevel> bossLevelList); |
| | | |
| | | /** |
| | | * 获取团队奖金 |
| | | * @Title: getTeamReward |
| | | * @Description: |
| | | * @param buyerLevel |
| | | * @param money |
| | | * @param levelList |
| | | * @param deep 1-直接奖金 2-间接奖金 |
| | | * @return |
| | | * BigDecimal 返回类型 |
| | | * @throws |
| | | */ |
| | | public UserTeamRate getTeamRewardRate(UserLevelEnum buyerLevel, List<UserTeamLevel> bossLevelList, Date date, |
| | | int deep,SystemEnum system); |
| | | |
| | | /** |
| | | * 获取二级外的团队奖金 |
| | | * @Title: getTeamRewardMoreThan2Level |
| | | * @Description: |
| | | * @param buyerLevel |
| | | * @param money |
| | | * @param bossLevelList |
| | | * @param deep |
| | | * @return |
| | | * UserTeamMoney 返回类型 |
| | | * @throws |
| | | */ |
| | | public List<UserTeamRate> getTeamRewardMoreThan2LevelRates(UserLevelEnum buyerLevel, |
| | | List<UserTeamLevel> bossLevelList, Date date,SystemEnum system); |
| | | |
| | | /** |
| | | * 获取分红 |
| | | * @Title: getTeamDividents |
| | | * @Description: |
| | | * @param buyerLevel |
| | | * @param money |
| | | * @param bossLevelList |
| | | * @return |
| | | * List<UserTeamMoney> 返回类型 |
| | | * @throws |
| | | */ |
| | | public List<UserTeamRate> getTeamDividentsRates(UserLevelEnum buyerLevel, List<UserTeamLevel> bossLevelList, |
| | | Date date,SystemEnum system); |
| | | |
| | | /** |
| | | * 获取资深导师 补贴 |
| | | * @Title: getTearcherSubsidy |
| | | * @Description: |
| | | * @param buyerLevel |
| | | * @param money |
| | | * @param bossLevelList |
| | | * @return |
| | | * UserTeamMoney 返回类型 |
| | | * @throws |
| | | */ |
| | | public UserTeamRate getTearcherSubsidy(UserLevelEnum buyerLevel, BigDecimal rate, List<UserTeamLevel> bossLevelList, |
| | | Date date,SystemEnum system); |
| | | |
| | | } |