yujian
2020-04-02 0ec22dcf4fd9c4496e6f681e7fab89f56c6e4e8a
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderHongBaoMoneyComputeServiceImpl.java
@@ -19,6 +19,16 @@
   @Resource
   private HongBaoManageService hongBaoManageService;
   @Override
   public BigDecimal computeBaseFanliMoney(CommonOrder order) {
      return getBaseCommission(order);
   }
   @Override
   public BigDecimal computeBaseShareMoney(CommonOrder order) {
      return getBaseCommission(order);
   }
   // 获取基础佣金
   private BigDecimal getBaseCommission(CommonOrder order) {
      BigDecimal rate = hongBaoManageService.getBaseFanliRate(order.getThirdCreateTime().getTime());
@@ -93,7 +103,7 @@
      if (rate == null)
         return null;
      BigDecimal baseRate = hongBaoManageService.getBaseFanliRate(placeOrderTime.getTime());
      BigDecimal officialSubsidyRate = getOfficialSubsidyRate(placeOrderTime, userLevel, false);
      BigDecimal officialSubsidyRate = getOfficialSubsidyRate(placeOrderTime, buyerUserLevel, false);
      return MoneyBigDecimalUtil.div(fanLiMoney.multiply(baseRate).multiply(rate),
            baseRate.add(officialSubsidyRate).multiply(new BigDecimal(100)));
   }
@@ -105,29 +115,25 @@
      if (rate == null)
         return null;
      BigDecimal baseRate = hongBaoManageService.getBaseFanliRate(placeOrderTime.getTime());
      BigDecimal officialSubsidyRate = getOfficialSubsidyRate(placeOrderTime, userLevel, false);
      BigDecimal officialSubsidyRate = getOfficialSubsidyRate(placeOrderTime, buyerUserLevel, false);
      return MoneyBigDecimalUtil.div(fanLiMoney.multiply(baseRate).multiply(rate),
            baseRate.add(officialSubsidyRate).multiply(new BigDecimal(100)));
   }
   public BigDecimal computeFirstTeamReward(BigDecimal firstTeamSubsidy, Date placeOrderTime,
         BigDecimal secondTeamSubsidy, UserLevelEnum userLevel) {
   @Override
   public BigDecimal computeFirstTeamReward(BigDecimal money, Date placeOrderTime, UserLevelEnum userLevel) {
      if (userLevel != UserLevelEnum.superVIP)
         return null;
      BigDecimal firstRate = getTeamRewardRate(placeOrderTime, userLevel, true);
      BigDecimal secondRate = getTeamRewardRate(placeOrderTime, userLevel, false);
      if (firstRate == null || secondRate == null)
      if (firstRate == null)
         return null;
      BigDecimal firstReward = MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(secondRate, firstTeamSubsidy),
            new BigDecimal(100));
      BigDecimal secondReward = MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(firstRate, secondTeamSubsidy),
            new BigDecimal(100));
      BigDecimal reward = MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(firstRate, money), new BigDecimal(100));
      return firstReward.add(secondReward);
      return reward;
   }
   /**