yujian
2020-05-09 7e7db2fa55a9a3af46d4fd8ede0dee147f101d64
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderHongBaoMoneyComputeServiceImpl.java
@@ -18,6 +18,7 @@
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.VersionUtil;
import com.yeshi.fanli.util.user.UserLevelUtil;
@@ -48,25 +49,13 @@
   // 获取基础佣金
   private BigDecimal getBaseCommission(CommonOrder order) {
      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));
         else if (order.getEstimate() != null)
            return MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(rate, order.getEstimate()), new BigDecimal(100));
         else
            return null;
      } else {
         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)
            return MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(rate, order.getEstimate()), new BigDecimal(100));
         else
            return null;
      }
      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));
      else if (order.getEstimate() != null)
         return MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(rate, order.getEstimate()), new BigDecimal(100));
      else
         return null;
   }
   @Override
@@ -174,14 +163,16 @@
         key = String.format("official_subsidy_zigou_%s", userLevel.getLevel());
      BigDecimal rate = null;
      if (date != null)
         rate = hongBaoManageService.getByKeyAndMaxTime(key, date.getTime());
         rate = hongBaoManageService.getByKeyAndMaxTimeCache(key, TimeUtil
               .convertToTimeTemp(TimeUtil.getGernalTime(date.getTime(), "yyyy-MM-dd HH"), "yyyy-MM-dd HH"));
      else
         rate = new BigDecimal(hongBaoManageService.get(key));
      return rate;
   }
   private BigDecimal getRateByLevel(UserLevelEnum level, Date date) {
      BigDecimal baseRate = hongBaoManageService.getBaseFanliRate(date.getTime());
      BigDecimal baseRate = hongBaoManageService.getBaseFanliRateCache(
            TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(date.getTime(), "yyyy-MM-dd HH"), "yyyy-MM-dd HH"));
      BigDecimal subsidyRate = getOfficialSubsidyRate(date, level, false);
@@ -379,8 +370,13 @@
   }
   private BigDecimal getFanliRate(Date time, UserLevelEnum userLevel) {
      BigDecimal rate = hongBaoManageService.getBaseFanliRate(time.getTime())
      BigDecimal rate = hongBaoManageService
            .getBaseFanliRateCache(TimeUtil
                  .convertToTimeTemp(TimeUtil.getGernalTime(time.getTime(), "yyyy-MM-dd HH"), "yyyy-MM-dd HH"))
            .add(getOfficialSubsidyRate(time, getCommonUserLevel(time, userLevel), false));
      if (userLevel == UserLevelEnum.normalVIP)
         rate = new BigDecimal("61");
      return rate;
   }