From bb133d1e82c337da646e90740b82584b82f9a0e6 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 四月 2020 10:03:41 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java | 61 ++++++++++++++++++------------ 1 files changed, 37 insertions(+), 24 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java b/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java index 86323b3..dde11fd 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsManager.java @@ -113,31 +113,42 @@ // 鏄惁鍙互鍒嗙孩 private boolean isCanDividents(TeamUserLevelStatistic tus) { - if (Constant.IS_TEST && tus.getLevel() != UserLevelEnum.daRen && tus.getLevel() != UserLevelEnum.normalVIP) - return true; +// if (Constant.IS_TEST && tus.getLevel() != UserLevelEnum.daRen && tus.getLevel() != UserLevelEnum.normalVIP) +// return true; if (tus != null && (tus.getLevel() == UserLevelEnum.highVIP || tus.getLevel() == UserLevelEnum.superVIP || tus.getLevel() == UserLevelEnum.tearcher)) { - if (tus.getLevel() == UserLevelEnum.highVIP) { - int vipFirstCount = tus.getNormalFirstCount() + tus.getHighFirstCount() + tus.getSuperFirstCount() - + tus.getTearcherFirstCount(); - if (vipFirstCount >= 3)// 鐩存帴绮変笣鏅�氫細鍛樼瓑绾т互涓婄殑鐢ㄦ埛>=3 + + if (tus.getLevel() == UserLevelEnum.tearcher) { + int firstCount = tus.getSuperFirstCount() + tus.getTearcherFirstCount(); + int secondCount = tus.getHighSecondCount() + tus.getSuperSecondCount() + tus.getTearcherSecondCount(); + if (firstCount >= 3 && secondCount >= 3) {// 鐩存帴绮変笣瓒呯骇浼氬憳绛夌骇浠ヤ笂鐨勭敤鎴�>=3 + // 闂存帴绮変笣鏅�氫細鍛樹互涓婄瓑绾�>=3 return true; - } else if (tus.getLevel() == UserLevelEnum.superVIP) { + } else { + // 濡傛灉瀵煎笀涓嶆弧瓒虫潯浠跺氨闇�瑕侀檷绾т负瓒呯骇浼氬憳 + tus.setLevel(UserLevelEnum.superVIP); + } + } + + if (tus.getLevel() == UserLevelEnum.superVIP) { int firstCount = tus.getSuperFirstCount() + tus.getTearcherFirstCount(); int secondCount = tus.getNormalSecondCount() + tus.getHighSecondCount() + tus.getSuperSecondCount() + tus.getTearcherSecondCount(); if (firstCount >= 3 && secondCount >= 3) {// 鐩存帴绮変笣瓒呯骇浼氬憳绛夌骇浠ヤ笂鐨勭敤鎴�>=3 // 闂存帴绮変笣鏅�氫細鍛樹互涓婄瓑绾�>=3 return true; + } else { + // 濡傛灉瓒呯骇浼氬憳涓嶆弧瓒虫潯浠跺氨闇�瑕侀檷绾т负楂樼骇浼氬憳 + tus.setLevel(UserLevelEnum.highVIP); } - } else { - int firstCount = tus.getSuperFirstCount() + tus.getTearcherFirstCount(); - int secondCount = tus.getHighSecondCount() + tus.getSuperSecondCount() + tus.getTearcherSecondCount(); - if (firstCount >= 3 && secondCount >= 3) {// 鐩存帴绮変笣瓒呯骇浼氬憳绛夌骇浠ヤ笂鐨勭敤鎴�>=3 - // 闂存帴绮変笣楂樼骇浼氬憳浠ヤ笂绛夌骇>=3 + } + + if (tus.getLevel() == UserLevelEnum.highVIP) { + int vipFirstCount = tus.getNormalFirstCount() + tus.getHighFirstCount() + tus.getSuperFirstCount() + + tus.getTearcherFirstCount(); + if (vipFirstCount >= 3)// 鐩存帴绮変笣鏅�氫細鍛樼瓑绾т互涓婄殑鐢ㄦ埛>=3 return true; - } } } return false; @@ -178,7 +189,7 @@ if (threeSalesList == null) return; - Map<Long, UserLevelEnum> uidLevel = new HashMap<Long, UserLevelEnum>(); + Map<Long, UserLevelEnum> uidLevelMap = new HashMap<Long, UserLevelEnum>(); for (ThreeSale ts : threeSalesList) { if (ts.getBoss() != null) { TeamUserLevelStatistic tus = teamUserLevelStatisticService.selectByUid(ts.getBoss().getId()); @@ -187,20 +198,20 @@ tus = teamUserLevelStatisticService.selectByUid(ts.getBoss().getId()); if (isCanDividents(tus)) { - uidLevel.put(tus.getId(), tus.getLevel()); + uidLevelMap.put(tus.getId(), tus.getLevel()); } } } // 娌℃湁鍙備笌鍒嗙孩鐨勭敤鎴� - if (uidLevel == null || uidLevel.size() == 0) { + if (uidLevelMap == null || uidLevelMap.size() == 0) { return; } - BigDecimal perDivident = computePerDivident(uidLevel, totalMoney); - for (Iterator<Long> its = uidLevel.keySet().iterator(); its.hasNext();) { + BigDecimal perDivident = computePerDivident(uidLevelMap, totalMoney); + for (Iterator<Long> its = uidLevelMap.keySet().iterator(); its.hasNext();) { Long uid = its.next(); - BigDecimal dividents = computeUserDivident(perDivident, uidLevel.get(uid)); + BigDecimal dividents = computeUserDivident(perDivident, uidLevelMap.get(uid)); // 灏嗚祫閲戝垎閰嶅埌鍙備笌鍒嗙孩鐨勭敤鎴� TeamDividentsSourceUser teamDividentsSourceUser = new TeamDividentsSourceUser(); teamDividentsSourceUser.setDay(day); @@ -213,16 +224,18 @@ // 璁$畻骞冲潎鍒嗙孩 private BigDecimal computePerDivident(Map<Long, UserLevelEnum> uidLevels, BigDecimal totalMoney) { - int count = 0; + BigDecimal count = new BigDecimal(0); for (Iterator<Long> its = uidLevels.keySet().iterator(); its.hasNext();) { Long uid = its.next(); if (uidLevels.get(uid) == UserLevelEnum.highVIP) { - count += 1; + count = count.add(new BigDecimal(1)); } else if (uidLevels.get(uid) == UserLevelEnum.superVIP) { - count += 2; + count = count.add(new BigDecimal(2)); + } else if (uidLevels.get(uid) == UserLevelEnum.tearcher) { + count = count.add(new BigDecimal(2.5)); } } - return MoneyBigDecimalUtil.div(totalMoney, new BigDecimal(count)); + return MoneyBigDecimalUtil.div(totalMoney, count); } private BigDecimal computeUserDivident(BigDecimal perDivident, UserLevelEnum userLevel) { @@ -231,7 +244,7 @@ } else if (userLevel == UserLevelEnum.superVIP) { return MoneyBigDecimalUtil.mul(perDivident, new BigDecimal(2)); } else if (userLevel == UserLevelEnum.tearcher) { - return MoneyBigDecimalUtil.mul(perDivident, new BigDecimal(2)); + return MoneyBigDecimalUtil.mul(perDivident, new BigDecimal(2.5)); } return null; } -- Gitblit v1.8.0