admin
2020-04-16 0d87595952482b6ec5209a48e4969f953457c6a5
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java
@@ -581,6 +581,15 @@
         userLevel = UserLevelEnum.daRen;
      UserLevelEnum upperLevel =  UserLevelEnum.superVIP;
         
      CommonOrder commonOrder1 = hoList.get(0).getCommonOrder();
      Date downTime = commonOrder1.getThirdCreateTime();
      Integer urank = commonOrder1.getUrank();
      UserLevelEnum buyerUserLevel = UserLevelUtil.getByOrderRank(urank);
      boolean direct = false;
      if (hongBaoV2.getType() == HongBaoV2.TYPE_YIJI || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_YIJI) {
         direct = true;
      }
      BigDecimal upperTotalMoney = new BigDecimal(0);
      List<GoodsRebateVO> voList = new ArrayList<>();
      for (HongBaoOrder hongBaoOrder : hoList) {
@@ -604,20 +613,20 @@
            payment = new BigDecimal(0);
         goodsVO.setActualPay("¥" + payment.setScale(2, BigDecimal.ROUND_DOWN));
         
         BigDecimal fanli = hongBaoOrder.getHongBaoV2().getMoney();
         // 基础佣金
         BigDecimal commission = orderHongBaoMoneyComputeService.computeBaseFanliMoney(commonOrder);
         if (type == 3) { // 奖金
            goodsVO.setBonus("¥" + hongBaoOrder.getHongBaoV2().getMoney() +"");
         } else { // 佣金
            goodsVO.setCommision("¥" +commission);
         }
         // 平台补贴
         BigDecimal vipFanli = hongBaoOrder.getHongBaoV2().getMoney();
         goodsVO.setSubsidy("¥" + vipFanli.subtract(commission).setScale(2, BigDecimal.ROUND_DOWN));
         goodsVO.setCommision("¥" +commission.setScale(2, BigDecimal.ROUND_DOWN));
         // 平台补贴  = 返利 - 基础佣金
         goodsVO.setSubsidy("¥" + fanli.subtract(commission).setScale(2, BigDecimal.ROUND_DOWN));
         //  达人补贴
         if (userLevel != UserLevelEnum.daRen) {
            BigDecimal darenFanli = orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, UserLevelEnum.daRen);
            goodsVO.setOriginSubsidy("¥" + darenFanli.subtract(commission).setScale(2, BigDecimal.ROUND_DOWN) + "");
         }
         if (type == 3) { // 奖金
            goodsVO.setBonus("¥" + fanli.setScale(2, BigDecimal.ROUND_DOWN) +"");
         }
         
         voList.add(goodsVO);
@@ -626,11 +635,11 @@
            upperTotalMoney = upperTotalMoney.add(orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, upperLevel));
         } else if (type == 2) {
            upperTotalMoney = upperTotalMoney.add(orderHongBaoMoneyComputeService.computeShareMoney(commonOrder, upperLevel));
         } else if (type == 3) {
            upperTotalMoney = upperTotalMoney.add(hongBao);
         }
      }
         
      CommonOrder commonOrder = hoList.get(0).getCommonOrder();
      Date downTime = commonOrder.getThirdCreateTime();
      
      // 团队补贴
      if (type == 3) {
@@ -639,13 +648,7 @@
         InviteOrderSubsidy inviteOrderSubsidy = inviteOrderSubsidyServiceV2.getByOrderNoAndType(uid, orderNo, sourceType);
         if (inviteOrderSubsidy != null) {
            teamSubsidy = inviteOrderSubsidy.getMoney();
            Integer urank = commonOrder.getUrank();
            UserLevelEnum buyerUserLevel = UserLevelUtil.getByOrderRank(urank);
            boolean direct = false;
            if (hongBaoV2.getType() == HongBaoV2.TYPE_YIJI || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_YIJI) {
               direct = true;
            }
            // 计算原比例
            BigDecimal originRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime,buyerUserLevel, userLevel, direct);
            
            // 计算达人补贴
@@ -655,12 +658,13 @@
               lowerSubsidy = MoneyBigDecimalUtil.div(teamSubsidy.multiply(daRenRate), originRate);
            }
            
            if (userLevel != UserLevelEnum.superVIP && userLevel != UserLevelEnum.superVIP) {
            // 计算超级会员补贴
            if (userLevel != UserLevelEnum.superVIP && userLevel != UserLevelEnum.tearcher) {
               BigDecimal vipRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime,   buyerUserLevel, 
                     UserLevelEnum.superVIP, direct);
               upperTotalMoney = upperTotalMoney.add(MoneyBigDecimalUtil.div(teamSubsidy.multiply(vipRate), originRate));
               System.out.println(upperTotalMoney);
            }
         } else {
            teamSubsidy = BigDecimal.valueOf(0.00);
            lowerSubsidy =  BigDecimal.valueOf(0.00);
@@ -687,9 +691,8 @@
         orderRebateVO.setUserLevel(userLevel.name());
      }
      
      // 上级返利
      // 超级会员返利
      if (upperLevel != null) {
         upperTotalMoney = upperTotalMoney.add(hongBao);
         orderRebateVO.setUpperFanLi("¥" + upperTotalMoney);
         orderRebateVO.setJumpLink(upperLevel.getDetailLink());
      }