admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/service/inter/order/config/HongBaoManageService.java
@@ -1,191 +1,181 @@
package com.yeshi.fanli.service.inter.order.config;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import org.springframework.cache.annotation.CacheEvict;
import com.yeshi.fanli.dto.ConfigParamsDTO;
import com.yeshi.fanli.dto.order.OrderHongBaoRateParams;
import com.yeshi.fanli.entity.bus.user.HongBaoManage;
import com.yeshi.fanli.exception.order.HongBaoException;
public interface HongBaoManageService {
   @CacheEvict(value = "homeBaoManage", allEntries = true)
   public void update(List<HongBaoManage> hongBaoManageList);
   public String get(String key);
   public Map<String, String> convertMap();
   /**
    * 获取返利订单返利比例
    *
    * @param time
    * @return
    */
   public BigDecimal getFanLiRate(long time);
   /**
    * VIP用户返利比例
    *
    * @param time
    * @return
    */
   public BigDecimal getVIPFanLiRate(long time);
   /**
    * 获取分享订单返利比例
    *
    * @param time
    * @return
    */
   public BigDecimal getShareRate(long time);
   /**
    * 获取VIP用户的分享比例
    *
    * @param time
    * @return
    */
   public BigDecimal getVIPShareRate(long time);
   /**
    * 获取返利订单返利比例
    *
    * @return
    */
   public BigDecimal getFanLiRate();
   /**
    * 获取分享订单返利比例
    *
    * @return
    */
   public BigDecimal getShareRate();
   /**
    * 获取VIP返利订单返利比例
    *
    * @return
    */
   public BigDecimal getVIPFanLiRate();
   /**
    * 获取VIP分享订单返利比例
    *
    * @return
    */
   public BigDecimal getVIPShareRate();
   /**
    * 获取第一级的邀请赚比例
    *
    * @return
    */
   public BigDecimal getFirstInviteRate(int urank);
   /**
    * 获取第一级的邀请赚比例
    *
    * @param time
    * @return
    */
   public BigDecimal getFirstInviteRate(int urank, long time);
   /**
    * 获取第二级的邀请赚比例
    *
    * @return
    */
   public BigDecimal getSecondInviteRate(int urank);
   /**
    * 获取第二级的邀请赚比例
    *
    * @param time
    * @return
    */
   public BigDecimal getSecondInviteRate(int urank, long time);
   /**
    * 获取第一级的分享赚比例
    *
    * @return
    */
   public BigDecimal getFirstShareRate(int urank);
   /**
    * 获取第一级的分享赚比例
    *
    * @param time
    * @return
    */
   public BigDecimal getFirstShareRate(int urank, long time);
   /**
    * 获取第二级的分享赚比例
    *
    * @return
    */
   public BigDecimal getSecondShareRate(int urank);
   /**
    * 获取第二级的分享赚比例
    *
    * @param time
    * @return
    */
   public BigDecimal getSecondShareRate(int urank, long time);
   /**
    * 淘礼金返利比例
    *
    * @return
    */
   public BigDecimal getTLJFanLiRate();
   /**
    * 淘礼金分享比例
    *
    * @return
    */
   public BigDecimal getTLJShareRate(long time);
   /**
    * 获取邀请一级补贴比例
    *
    * @param time
    * @return
    */
   public BigDecimal getInviteFirstLevelSubsidyRate(Long time);
   /**
    * 获取邀请二级补贴比例
    *
    * @param time
    * @return
    */
   public BigDecimal getInviteSecondLevelSubsidyRate(Long time);
   /**
    * 获取返利比例(订单处理时使用)
    *
    * @param params
    * @return
    * @throws HongBaoException
    */
   public BigDecimal getRate(OrderHongBaoRateParams params) throws HongBaoException;
   /**
    * 获取需要显示计算的比例实体
    *
    * @param platform
    * @param version
    * @return
    */
   public ConfigParamsDTO getShowComputeRate(String platform, String version);
}
package com.yeshi.fanli.service.inter.order.config;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import com.yeshi.fanli.entity.SystemEnum;
import org.springframework.cache.annotation.CacheEvict;
import com.yeshi.fanli.dto.GoodsMoneyConfigParamsDTO;
import com.yeshi.fanli.entity.bus.user.HongBaoManage;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
public interface HongBaoManageService {
   @CacheEvict(value = "homeBaoManage", allEntries = true)
   public void update(List<HongBaoManage> hongBaoManageList);
   public String get(String key, SystemEnum system);
   public BigDecimal getByKeyAndMaxTime(String key, Long time, SystemEnum system);
   public BigDecimal getByKeyAndMaxTimeCache(String key, Long time, SystemEnum system);
   public Map<String, String> convertMap( SystemEnum system);
   /**
    * 获取返利订单返利比例
    *
    * @param time
    * @return
    */
   public BigDecimal getFanLiRate(UserLevelEnum level, long time, SystemEnum system);
   /**
    * 获取分享订单返利比例
    *
    * @param time
    * @return
    */
   public BigDecimal getShareRate(UserLevelEnum level, long time, SystemEnum system);
   /**
    * 获取返利订单返利比例
    *
    * @return
    */
   public BigDecimal getFanLiRate(UserLevelEnum level, SystemEnum system);
   public BigDecimal getFanLiRate(SystemEnum system);
   /**
    * 获取分享订单返利比例
    *
    * @return
    */
   public BigDecimal getShareRate(UserLevelEnum level, SystemEnum system);
   public BigDecimal getShareRate(SystemEnum system);
   /**
    * 获取第一级的邀请赚比例
    *
    * @return
    */
   public BigDecimal getFirstInviteRate(int urank, SystemEnum system);
   /**
    * 获取第一级的邀请赚比例
    *
    * @param time
    * @return
    */
   public BigDecimal getFirstInviteRate(int urank, long time, SystemEnum system);
   /**
    * 获取第二级的邀请赚比例
    *
    * @return
    */
   public BigDecimal getSecondInviteRate(int urank, SystemEnum system);
   /**
    * 获取第二级的邀请赚比例
    *
    * @param time
    * @return
    */
   public BigDecimal getSecondInviteRate(int urank, long time, SystemEnum system);
   /**
    * 获取第一级的分享赚比例
    *
    * @return
    */
   public BigDecimal getFirstShareRate(int urank, SystemEnum system);
   /**
    * 获取第一级的分享赚比例
    *
    * @param time
    * @return
    */
   public BigDecimal getFirstShareRate(int urank, long time, SystemEnum system);
   /**
    * 获取第二级的分享赚比例
    *
    * @return
    */
   public BigDecimal getSecondShareRate(int urank, SystemEnum system);
   /**
    * 获取第二级的分享赚比例
    *
    * @param time
    * @return
    */
   public BigDecimal getSecondShareRate(int urank, long time, SystemEnum system);
   /**
    * 淘礼金返利比例
    *
    * @return
    */
   public BigDecimal getTLJFanLiRate(SystemEnum system);
   /**
    * 淘礼金分享比例
    *
    * @return
    */
   public BigDecimal getTLJShareRate(long time, SystemEnum system);
   /**
    * 获取邀请一级补贴比例
    *
    * @param time
    * @return
    */
   public BigDecimal getInviteFirstLevelSubsidyRate(Long time, SystemEnum system);
   /**
    * 获取邀请二级补贴比例
    *
    * @param time
    * @return
    */
   public BigDecimal getInviteSecondLevelSubsidyRate(Long time, SystemEnum system);
   /**
    * 获取需要显示计算的比例实体
    *
    * @param platform
    * @param version
    * @return
    */
   public GoodsMoneyConfigParamsDTO getShowComputeRate(String platform, String version, UserLevelEnum userLevel, SystemEnum system);
   public GoodsMoneyConfigParamsDTO getShowComputeRate(String platform, String version, SystemEnum system);
   /**
    * 获取基础的返利比例
    *
    * @param time
    * @return
    */
   public BigDecimal getBaseFanliRate(long time, SystemEnum system);
   /**
    * 获取基础的返利比例
    *
    * @return
    */
   public BigDecimal getBaseFanliRate( SystemEnum system);
   public BigDecimal getBaseFanliRateCache(long time, SystemEnum system);
}