admin
2020-04-15 d4588f4e43336b26b356b869c29d0c76390167d5
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderHongBaoMoneyComputeServiceImpl.java
@@ -13,13 +13,10 @@
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.user.UserLevelUtil;
@Service
public class OrderHongBaoMoneyComputeServiceImpl implements OrderHongBaoMoneyComputeService {
   static long newRuleTime = TimeUtil.convertToTimeTemp(Constant.NEW_ORDER_FANLI_RULE_TIME, "yyyy-MM-dd");
   @Resource
   private HongBaoManageService hongBaoManageService;
@@ -37,7 +34,7 @@
   private UserLevelEnum getCommonUserLevel(Date time, UserLevelEnum userLevel) {
      if (userLevel == null)
         return UserLevelEnum.daRen;
      if (time.getTime() < newRuleTime)
      if (time.getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME)
         return UserLevelUtil.getOldLevel(userLevel);
      else
         return userLevel;
@@ -46,7 +43,7 @@
   // 获取基础佣金
   private BigDecimal getBaseCommission(CommonOrder order) {
      if (order.getThirdCreateTime().getTime() >= newRuleTime) {
      if (order.getThirdCreateTime().getTime() >= Constant.NEW_ORDER_FANLI_RULE_TIME) {
         BigDecimal rate = hongBaoManageService.getBaseFanliRate(order.getThirdCreateTime().getTime());
         if (order.getState() == CommonOrder.STATE_JS || order.getState() == CommonOrder.STATE_WQ)
            return MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(rate, order.geteIncome()), new BigDecimal(100));
@@ -55,7 +52,8 @@
         else
            return null;
      } else {
         BigDecimal rate = hongBaoManageService.getFanLiRate(order.getThirdCreateTime().getTime());
         BigDecimal rate = hongBaoManageService.getFanLiRate(UserLevelEnum.daRen,
               order.getThirdCreateTime().getTime());
         if (order.getState() == CommonOrder.STATE_JS || order.getState() == CommonOrder.STATE_WQ)
            return MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(rate, order.geteIncome()), new BigDecimal(100));
         else if (order.getEstimate() != null)
@@ -96,6 +94,12 @@
   @Override
   public BigDecimal computeFirstInviteMoney(CommonOrder order, UserLevelEnum buyer) {
      BigDecimal rate = hongBaoManageService.getByKeyAndMaxTime("new_invite_6", order.getThirdCreateTime().getTime());
      if (buyer == UserLevelEnum.superVIP || buyer == UserLevelEnum.tearcher)
         rate = hongBaoManageService.getByKeyAndMaxTime("new_invite_vip_6", order.getThirdCreateTime().getTime());
      if (rate.compareTo(new BigDecimal(0)) == 0)
         return null;
      if (order.getState() == CommonOrder.STATE_JS || order.getState() == CommonOrder.STATE_WQ)
         return MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(rate, getBaseCommission(order)),
               new BigDecimal(100));