diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java index 3eb97515..0c2ef6e4 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java @@ -42,7 +42,7 @@ public class CuMemberTreeServiceImpl extends ServiceImpl memberRetailRangeExtList; String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod; + // 是否当天 + boolean isSecond = DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate()); - if (DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate())) { + if (isSecond) { // 当天撤单 // 实时网体查询血缘伞上会员,更新秒结表等级、奖衔 iCuMemberRetailRangeService.mergeMemberRetailGradeByMember(secondRangeTableName, saOrderExt.getPkMember(), EYesNo.YES.getIntValue()); @@ -274,9 +276,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); sourceMemberRangeExt.setConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getConsumePv(), orderAchieve)); sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); - // 累计盒数、业绩,不管激活不激活都处理,兼容不激活判断显示有问题 - sourceMemberRangeExt.setAllNewBoxNum(sourceMemberRangeExt.getAllNewBoxNum().subtract(boxNum)); - sourceMemberRangeExt.setAllNewConsumePv(sourceMemberRangeExt.getAllNewConsumePv().subtract(orderAchieve)); + if (isSecond) { + // 当天 + // 累计盒数、业绩,不管激活不激活都处理,兼容不激活判断显示有问题 + sourceMemberRangeExt.setAllNewBoxNum(sourceMemberRangeExt.getAllNewBoxNum().subtract(boxNum)); + sourceMemberRangeExt.setAllNewConsumePv(sourceMemberRangeExt.getAllNewConsumePv().subtract(orderAchieve)); + } // 会员等级map Map cuMemberGradeMap = new HashMap<>(); @@ -289,7 +294,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, sourceMemberRangeExt); // 计算团队业绩、盒数,计算等级、奖衔 List cuMemberRetailRangeExtList = calculateRetailBackRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, - secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap); + secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap, cuMemberShareAwardsMap, isSecond); cuMemberRetailRangeExtList.add(sourceMemberRangeExt); // 查询期间的等级 @@ -532,6 +537,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getNewConsumePv(), orderAchieve)); sourceMemberRangeExt.setConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getConsumePv(), orderAchieve)); sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeAdd(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve)); + // 计算自己等级、奖衔等 calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, null, cuMemberGradeList, cuMemberAwardsList, sourceMemberRangeExt, activateMap); @@ -546,25 +552,27 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { ) { // 注册或升级订单并且存在盒数产品,才有 直推级差收益 和 平级收益 for (SaOrderWaresExt saOrderItems : saOrderExt.getOrderWaresExtList()) { - // 直推级差 + 平级收益 - cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt)); + if (RetailConstants.ALL_BOX_WARES_LIST.contains(saOrderItems.getWaresCode())) { + // 盒数商品 计算 直推级差 + 平级收益 + cuMemberBonusRangeList.addAll(calculateRetailRangeBonus(memberRangeExtMap, cuMemberBonusMap, gradeMap, bonusConfigDTO, period, saOrderItems, saOrderExt)); + } // 计算完奖金算等级 - if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() - || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { - // 订单存在升级记录 - if (memberLevelMap.containsKey(saOrderExt.getPkId())) { - CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId()); - if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) { - BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel()); - if (bdGrade.getGradeValue() > sourceMemberRangeExt.getGradeValue()) { - sourceMemberRangeExt.setPkGrade(bdGrade.getPkId()); - sourceMemberRangeExt.setGradeValue(bdGrade.getGradeValue()); - sourceMemberRangeExt.setGradeName(bdGrade.getGradeName()); - } +// if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() +// || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { +// // 订单存在升级记录 + if (memberLevelMap.containsKey(saOrderExt.getPkId())) { + CuMemberLevel cuMemberLevel = memberLevelMap.get(saOrderExt.getPkId()); + if (gradeIdMap.containsKey(cuMemberLevel.getNewLevel())) { + BdGrade bdGrade = gradeIdMap.get(cuMemberLevel.getNewLevel()); + if (bdGrade.getGradeValue() > sourceMemberRangeExt.getGradeValue()) { + sourceMemberRangeExt.setPkGrade(bdGrade.getPkId()); + sourceMemberRangeExt.setGradeValue(bdGrade.getGradeValue()); + sourceMemberRangeExt.setGradeName(bdGrade.getGradeName()); } } } +// } } } @@ -631,8 +639,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } // 累计盒数、业绩,不管激活不激活都处理,兼容不激活判断显示有问题 - targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); - targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); + if (null != secondRangeTableName) { + // 秒结处理 + targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); + } else { + // 日结处理 + targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); + targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().add(orderAchieve)); + targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().add(orderAchieve)); + } // 激活的账号才能累计业绩和盒数(有注册、升级订单) if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) { @@ -658,7 +677,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } /** - * 计算等级、奖衔 + * 计算等级、奖衔 -- 日结、秒结 */ private void calculateGradeAwards(Integer period, Map memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt, Map retailTeamGradeMap, Map retailAwardsMap, @@ -674,7 +693,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { for (Integer gradeValue : retailTeamGradeMap.keySet()) { BdGrade bdGrade = retailTeamGradeMap.get(gradeValue); - // 如果等级值 大于 当前会员等级值 并且 等级要求累计盒数 小于等于 团队累计盒数 + 累计消费盒数,则可以进行升级 + // 如果等级值 大于 当前会员等级值 并且 等级要求累计盒数 小于等于 团队累计盒数 + 累计消费盒数 + 大区注水 + 小区注水,则可以进行升级 if (bdGrade.getGradeValue() > targetMemberRangeExt.getGradeValue() && bdGrade.getBoxTotal().compareTo( targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()) @@ -682,7 +701,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { ) { // 验证小区,计算小区累计盒数 查询伞下会员 List cuMemberRangeExtList; - if (secondRangeTableName != null) { + if (null != secondRangeTableName) { // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据 cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember()); } else { @@ -707,7 +726,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); } // 伞下团队累计盒数 + 自己消费盒数 - BigDecimal areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum().add(cuMemberRetailRangeExt.getConsumeBoxNum()); + BigDecimal areaBoxNum = cuMemberRetailRangeExt.getAllTeamBoxNum().add(cuMemberRetailRangeExt.getConsumeBoxNum()); if (areaBoxNum.compareTo(bigBoxNum) > 0) { // 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区 bigBoxNum = areaBoxNum; @@ -715,7 +734,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } // 小区盒数(团队累计盒数 + 自消费累计盒数 + 两个注水虚拟盒数 - 大市场盒数) - BigDecimal smallBoxNum = targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()).subtract(bigBoxNum); + BigDecimal smallBoxNum = targetMemberRangeExt.getAllTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()).subtract(bigBoxNum); if (smallBoxNum.compareTo(bdGrade.getBoxSmallTotal()) >= 0) { // 小区盒数 大于等于 升级小区盒数 CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade); @@ -770,7 +789,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); } // 月累计业绩 = 本人月消费业绩 + 团队月消费业绩 - BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()); + BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv()); if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) { // 月累计业绩 > 大区业绩,则月累计就成为大区了 consumeBigPv = consumePv; @@ -801,7 +820,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); } - if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()), bdAwards.getShareCommunityCheck())) { + if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv()), bdAwards.getShareCommunityCheck())) { // 本人月消费业绩 + 团队月消费业绩 >= 小区考核业绩,则满足条件小部门 +1 enoughNum += 1; } @@ -822,11 +841,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } /** - * 计算团队极差奖衔 + * 计算团队极差奖衔 -- 退单秒结 */ public List calculateRetailBackRangeGradeAwards(Integer period, Map memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt, Map retailTeamGradeMap, Map retailAwardsMap, String secondRangeTableName, BigDecimal boxNum, - Map cuMemberGradeMap, Map cuMemberAwardsMap, Map cuMemberShareAwardsMap) { + Map cuMemberGradeMap, Map cuMemberAwardsMap, Map cuMemberShareAwardsMap, + boolean isSecond) { List cuMemberRetailRangeExtList = new ArrayList<>(); // 订单会员 CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); @@ -837,8 +857,19 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { BigDecimal orderAmount = saOrderExt.getOrderAmount(); while (targetMemberRangeExt != null) { // 累计盒数、业绩,不管激活不激活都处理,兼容不激活判断显示有问题 - targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().subtract(boxNum)); - targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().subtract(orderAchieve)); + if (isSecond) { + // 当天,秒结处理 + targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); + } else { + // 非当天,日结处理 + targetMemberRangeExt.setAllTeamNewBoxNum(targetMemberRangeExt.getAllTeamNewBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamBoxNum(targetMemberRangeExt.getAllTeamBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamMonthBoxNum(targetMemberRangeExt.getAllTeamMonthBoxNum().add(boxNum)); + targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve)); + targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().add(orderAchieve)); + targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().add(orderAchieve)); + } // 激活的账号才能累计业绩和盒数(有注册、升级订单) if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) { @@ -901,7 +932,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); } // 伞下团队累计盒数 + 自己消费盒数 - BigDecimal areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum().add(cuMemberRetailRangeExt.getConsumeBoxNum()); + BigDecimal areaBoxNum = cuMemberRetailRangeExt.getAllTeamBoxNum().add(cuMemberRetailRangeExt.getConsumeBoxNum()); if (areaBoxNum.compareTo(bigBoxNum) > 0) { // 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区 bigBoxNum = areaBoxNum; @@ -909,7 +940,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } // 小区盒数(团队累计盒数 + 自消费累计盒数 + 两个注水虚拟盒数 - 大市场盒数) - BigDecimal smallBoxNum = targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()).subtract(bigBoxNum); + BigDecimal smallBoxNum = targetMemberRangeExt.getAllTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()).subtract(bigBoxNum); if (smallBoxNum.compareTo(bdGrade.getBoxSmallTotal()) >= 0) { // 小区盒数 大于等于 升级小区盒数 CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade); @@ -965,7 +996,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); } // 月累计业绩 = 本人月消费业绩 + 团队月消费业绩 - BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()); + BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv()); if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) { // 月累计业绩 > 大区业绩,则月累计就成为大区了 consumeBigPv = consumePv; @@ -995,7 +1026,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) { cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember()); } - if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv()), bdAwards.getShareCommunityCheck())) { + if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv()), bdAwards.getShareCommunityCheck())) { // 本人月消费业绩 + 团队月消费业绩 >= 小区考核业绩,则满足条件小部门 +1 enoughNum += 1; } @@ -1374,9 +1405,16 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { } else if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrder.getOrderType()) { // 复购订单, 区域收益 = 复购区域分红 * 商品数量 for (SaOrderWaresExt saOrderWaresExt : saOrder.getOrderWaresExtList()) { - benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity()))); + if (ERatioType.VALUE.getValue() == saOrderWaresExt.getAreaIncomeType()) { + // 按比值处理 + benefitIncome = benefitIncome.add(saOrderWaresExt.getAreaIncome().multiply(new BigDecimal(saOrderWaresExt.getWaresQuantity()))); + } else { + // 按比率处理 + benefitIncome = benefitIncome.add(saOrderWaresExt.getWaresPrice().multiply(saOrderWaresExt.getAreaIncome()).divide(new BigDecimal("100"), 6, BigDecimal.ROUND_HALF_UP)); + } } } + CuMemberBonusDetail cuMemberBonusDetail = packageBenefitIncome(bonusConfigDTO, period, cuMemberBonusMap, null, RetailConstants.SAME_RATIO, benefitIncome, cuMemberRetailRangeExt, EBonusItems.RETAIL_AREA_INCOME.getValue(), BonusMsgConstants.RETAIL_AREA_INCOME); // 计算业绩以盒数做为基础 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuRegionAssessServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuRegionAssessServiceImpl.java index 3541c7a1..7addfb78 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuRegionAssessServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuRegionAssessServiceImpl.java @@ -70,28 +70,59 @@ public class CuRegionAssessServiceImpl extends ServiceImpl regionAssessMap = new HashMap<>(); List regionAssessDetailList = new ArrayList<>(); for (CuMemberRetailRegion cuMemberRetailRegion : memberRetailRegionList) { - CuRegionAssess cuRegionAssess = CuRegionAssess.builder() - .pkMember(cuMemberRetailRegion.getPkMember()) - .pkRegion(cuMemberRetailRegion.getPkId()) - .assessPeriod(1) - .assessStartDate(assessDate) - .assessEndDate(DateUtils.currentMonthFirstDate(DateUtils.afterMonthDate(5, assessDate))) - .source(cuMemberRetailRegion.getSource()) - .build(); - cuRegionAssess.setPkCreator(MagicNumberConstants.PK_ADMIN); - cuRegionAssess.setPkCountry(cuMemberRetailRegion.getPkCountry()); - regionAssessMap.put(cuRegionAssess.getPkMember(), cuRegionAssess); - // 保存明细 - for (int i = 0; i < 6; i++) { - CuRegionAssessDetail cuRegionAssessDetail = CuRegionAssessDetail.builder() - .pkRegionAssess(cuRegionAssess.getPkMember()) - .assessDate(DateUtils.afterMonthDate(i, assessDate)) - .pkMember(cuRegionAssess.getPkMember()) + + if (null != cuMemberRetailRegion.getEffectiveEndDate()) { + // 设置过生效结束时间 + CuRegionAssess cuRegionAssess = CuRegionAssess.builder() + .pkMember(cuMemberRetailRegion.getPkMember()) + .pkRegion(cuMemberRetailRegion.getPkId()) + .assessPeriod(1) + .assessStartDate(assessDate) + // 考核结束期 + .assessEndDate(DateUtils.currentMonthFirstDate(DateUtils.afterMonthDate(1, cuMemberRetailRegion.getEffectiveEndDate()))) + .source(cuMemberRetailRegion.getSource()) .build(); - cuRegionAssessDetail.setPkCreator(MagicNumberConstants.PK_ADMIN); - cuRegionAssessDetail.setPkCountry(cuMemberRetailRegion.getPkCountry()); - regionAssessDetailList.add(cuRegionAssessDetail); + cuRegionAssess.setPkCreator(MagicNumberConstants.PK_ADMIN); + cuRegionAssess.setPkCountry(cuMemberRetailRegion.getPkCountry()); + regionAssessMap.put(cuRegionAssess.getPkMember(), cuRegionAssess); + while (assessDate.compareTo(cuRegionAssess.getAssessEndDate()) <= 0) { + CuRegionAssessDetail cuRegionAssessDetail = CuRegionAssessDetail.builder() + .pkRegionAssess(cuRegionAssess.getPkMember()) + .assessDate(assessDate) + .pkMember(cuRegionAssess.getPkMember()) + .build(); + cuRegionAssessDetail.setPkCreator(MagicNumberConstants.PK_ADMIN); + cuRegionAssessDetail.setPkCountry(cuMemberRetailRegion.getPkCountry()); + regionAssessDetailList.add(cuRegionAssessDetail); + + assessDate = DateUtils.afterMonthDate(1, assessDate); + } + } else { + CuRegionAssess cuRegionAssess = CuRegionAssess.builder() + .pkMember(cuMemberRetailRegion.getPkMember()) + .pkRegion(cuMemberRetailRegion.getPkId()) + .assessPeriod(1) + .assessStartDate(assessDate) + // 考核结束期 + .assessEndDate(DateUtils.currentMonthFirstDate(DateUtils.afterMonthDate(5, assessDate))) + .source(cuMemberRetailRegion.getSource()) + .build(); + cuRegionAssess.setPkCreator(MagicNumberConstants.PK_ADMIN); + cuRegionAssess.setPkCountry(cuMemberRetailRegion.getPkCountry()); + regionAssessMap.put(cuRegionAssess.getPkMember(), cuRegionAssess); + // 保存明细 + for (int i = 0; i < 6; i++) { + CuRegionAssessDetail cuRegionAssessDetail = CuRegionAssessDetail.builder() + .pkRegionAssess(cuRegionAssess.getPkMember()) + .assessDate(DateUtils.afterMonthDate(i, assessDate)) + .pkMember(cuRegionAssess.getPkMember()) + .build(); + cuRegionAssessDetail.setPkCreator(MagicNumberConstants.PK_ADMIN); + cuRegionAssessDetail.setPkCountry(cuMemberRetailRegion.getPkCountry()); + regionAssessDetailList.add(cuRegionAssessDetail); + } } + } saveCuRegionAssess(regionAssessMap, regionAssessDetailList); } diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml index 55e5bf42..1fa896a8 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberRetailRangeMapper.xml @@ -65,8 +65,13 @@ + + + + + @@ -94,7 +99,13 @@ big_box_num = 0, small_box_num = 0, big_team_pv = 0, - small_team_pv = 0 + small_team_pv = 0, + all_team_new_box_num = 0, + all_team_box_num = 0, + all_team_month_box_num = 0, + all_team_new_pv = 0, + all_team_consume_pv = 0, + all_team_month_pv = 0 @@ -107,7 +118,9 @@ team_new_pv, team_consume_pv, team_month_pv, team_new_amount, team_consume_amount, team_month_amount, recommend_num, team_num, - big_box_num, small_box_num, big_team_pv, small_team_pv + big_box_num, small_box_num, big_team_pv, small_team_pv, + all_team_new_box_num, all_team_box_num, all_team_month_box_num, + all_team_new_pv, all_team_consume_pv, all_team_month_pv from ${yesterdayRangeTableName} ) b on (a.pk_member = b.pk_member) @@ -122,13 +135,19 @@ a.pk_grade = b.pk_grade, a.enable_status = b.enable_status, a.big_box_num = b.big_box_num, a.small_box_num = b.small_box_num, - a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv + a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv, + a.all_team_new_box_num = b.all_team_new_box_num, + a.all_team_box_num = b.all_team_box_num, + a.all_team_new_pv = b.all_team_new_pv, + a.all_team_consume_pv = b.all_team_consume_pv ,a.month_box_num = b.month_box_num ,a.month_consume_pv = b.month_consume_pv ,a.team_month_box_num = b.team_month_box_num ,a.team_month_pv = b.team_month_pv ,a.team_month_amount = b.team_month_amount + ,a.all_team_month_box_num = b.all_team_month_box_num + ,a.all_team_month_pv = b.all_team_month_pv @@ -142,7 +161,10 @@ #{item.teamNewBoxNum} team_new_box_num, #{item.teamBoxNum} team_box_num, #{item.teamMonthBoxNum} team_month_box_num, #{item.teamNewPv} team_new_pv, #{item.teamConsumePv} team_consume_pv, #{item.teamMonthPv} team_month_pv, #{item.teamNewAmount} team_new_amount, #{item.teamConsumeAmount} team_consume_amount, #{item.teamMonthAmount} team_month_amount, - #{item.recommendNum} recommend_num, #{item.teamNum} team_num, #{item.enableStatus} enable_status + #{item.recommendNum} recommend_num, #{item.teamNum} team_num, #{item.enableStatus} enable_status, + #{item.allTeamNewBoxNum} all_team_new_box_num, #{item.allTeamNewPv} all_team_new_pv, + #{item.allTeamBoxNum} all_team_box_num, #{item.allTeamConsumePv} all_team_consume_pv, + #{item.allTeamMonthBoxNum} all_team_month_box_num, #{item.allTeamMonthPv} all_team_month_pv from dual ) b @@ -154,7 +176,10 @@ a.team_new_box_num = b.team_new_box_num, a.team_box_num = b.team_box_num, a.team_month_box_num = b.team_month_box_num, a.team_new_pv = b.team_new_pv, a.team_consume_pv = b.team_consume_pv, a.team_month_pv = b.team_month_pv, a.team_new_amount = b.team_new_amount, a.team_consume_amount = b.team_consume_amount, a.team_month_amount = b.team_month_amount, - a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.enable_status = b.enable_status + a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.enable_status = b.enable_status, + a.all_team_new_box_num = b.all_team_new_box_num, a.all_team_new_pv = b.all_team_new_pv, + a.all_team_box_num = b.all_team_box_num, a.all_team_consume_pv = b.all_team_consume_pv, + a.all_team_month_box_num = b.all_team_month_box_num, a.all_team_month_pv = b.all_team_month_pv @@ -218,9 +243,9 @@ #{item.pkAwards} pk_awards, #{item.pkShareAwards} pk_share_awards, #{item.newBoxNum} new_box_num, #{item.newConsumePv} new_consume_pv, #{item.teamNewBoxNum} team_new_box_num, #{item.teamNewPv} team_new_pv, + #{item.teamNewAmount} team_new_amount, #{item.enableStatus} enable_status, #{item.allNewBoxNum} all_new_box_num, #{item.allNewConsumePv} all_new_consume_pv, - #{item.allTeamNewBoxNum} all_team_new_box_num, #{item.allTeamNewPv} all_team_new_pv, - #{item.teamNewAmount} team_new_amount, #{item.enableStatus} enable_status + #{item.allTeamNewBoxNum} all_team_new_box_num, #{item.allTeamNewPv} all_team_new_pv from dual ) b @@ -230,9 +255,9 @@ a.pk_grade = b.pk_grade, a.pk_awards = b.pk_awards, a.pk_share_awards = b.pk_share_awards, a.new_box_num = b.new_box_num, a.new_consume_pv = b.new_consume_pv, a.team_new_box_num = b.team_new_box_num, a.team_new_pv = b.team_new_pv, + a.team_new_amount = b.team_new_amount, a.enable_status = b.enable_status, a.all_new_box_num = b.all_new_box_num, a.all_new_consume_pv = b.all_new_consume_pv, - a.all_team_new_box_num = b.all_team_new_box_num, a.all_team_new_pv = b.all_team_new_pv, - a.team_new_amount = b.team_new_amount, a.enable_status = b.enable_status + a.all_team_new_box_num = b.all_team_new_box_num, a.all_team_new_pv = b.all_team_new_pv @@ -362,6 +387,12 @@ a.small_box_num, a.big_team_pv, a.small_team_pv, + a.all_team_new_box_num, + a.all_team_box_num, + a.all_team_month_box_num, + a.all_team_new_pv, + a.all_team_consume_pv, + a.all_team_month_pv, bw.range_ratio, bw.month_repurchase_ratio, bw.benefit_avg_ratio, @@ -410,6 +441,10 @@ a.big_team_pv, a.small_team_pv, a.system_type, + a.all_team_box_num, + a.all_team_month_box_num, + a.all_team_consume_pv, + a.all_team_month_pv, new_box_num, consume_box_num, month_box_num, @@ -558,6 +593,16 @@ bw.awards_value, bw.awards_name, bwa.awards_value share_awards_value, + a.big_box_num, + a.small_box_num, + a.big_team_pv, + a.small_team_pv, + a.all_team_new_box_num, + a.all_team_box_num, + a.all_team_month_box_num, + a.all_team_new_pv, + a.all_team_consume_pv, + a.all_team_month_pv, a.account_status, a.category, bw.range_ratio, @@ -649,32 +694,36 @@ a.pk_share_awards, cm.income_status, cm.pay_time, - nvl(b.pk_rate, bt.pk_id) pk_rate, - nvl(cm.is_activate, a.enable_status) enable_status, + nvl(b.pk_rate, bt.pk_id) pk_rate, + nvl(cm.is_activate, a.enable_status) enable_status, a.new_box_num, - nvl(b.consume_box_num, 0) + a.new_box_num consume_box_num, - nvl(b.month_box_num, 0) + a.new_box_num month_box_num, + nvl(b.consume_box_num, 0) + nvl(a.new_box_num, 0) consume_box_num, + nvl(b.month_box_num, 0) + nvl(a.new_box_num, 0) month_box_num, a.new_consume_pv, - nvl(b.consume_pv, 0) + a.new_consume_pv consume_pv, - nvl(b.month_consume_pv, 0) + a.new_consume_pv month_consume_pv, + nvl(b.consume_pv, 0) + nvl(a.new_consume_pv, 0) consume_pv, + nvl(b.month_consume_pv, 0) + nvl(a.new_consume_pv, 0) month_consume_pv, a.team_new_box_num, - nvl(b.team_box_num, 0) + a.team_new_box_num team_box_num, - nvl(b.team_month_box_num, 0) + a.team_new_box_num team_month_box_num, + nvl(b.team_box_num, 0) + nvl(a.team_new_box_num, 0) team_box_num, + nvl(b.team_month_box_num, 0) + nvl(a.team_new_box_num, 0) team_month_box_num, a.team_new_pv, - nvl(b.team_consume_pv, 0) + a.team_new_pv team_consume_pv, - nvl(b.team_month_pv, 0) + a.team_new_pv team_month_pv, + nvl(b.team_consume_pv, 0) + nvl(a.team_new_pv, 0) team_consume_pv, + nvl(b.team_month_pv, 0) + nvl(a.team_new_pv, 0) team_month_pv, a.team_new_amount, - nvl(b.team_consume_amount, 0) + a.team_new_amount team_consume_amount, - nvl(b.team_month_amount, 0) + a.team_new_amount team_month_amount, - nvl(b.big_box_num, 0) big_box_num, - nvl(b.small_box_num, 0) small_box_num, - nvl(b.big_team_pv, 0) big_team_pv, - nvl(b.small_team_pv, 0) small_team_pv, + nvl(b.team_consume_amount, 0) + nvl(a.team_new_amount, 0) team_consume_amount, + nvl(b.team_month_amount, 0) + nvl(a.team_new_amount, 0) team_month_amount, + nvl(b.big_box_num, 0) big_box_num, + nvl(b.small_box_num, 0) small_box_num, + nvl(b.big_team_pv, 0) big_team_pv, + nvl(b.small_team_pv, 0) small_team_pv, a.system_type, a.all_new_box_num, a.all_new_consume_pv, a.all_team_new_box_num, a.all_team_new_pv, + nvl(b.all_team_box_num, 0) + nvl(a.all_team_new_box_num, 0) all_team_box_num, + nvl(b.all_team_month_box_num, 0) + nvl(a.all_team_new_pv, 0) all_team_month_box_num, + nvl(b.all_team_consume_pv, 0) + nvl(a.all_team_new_box_num, 0) all_team_consume_pv, + nvl(b.all_team_month_pv, 0) + nvl(a.all_team_new_pv, 0) all_team_month_pv, bg.grade_value, bg.grade_name, bw.awards_value, @@ -683,9 +732,9 @@ bw.month_repurchase_ratio, bw.benefit_avg_ratio, bw.benefit_share_ratio, - bws.awards_value share_awards_value, - br.name country_name, - cr.county region_address, + bws.awards_value share_awards_value, + br.name country_name, + cr.county region_address, bv.region_vertex_pk_id from ( select * @@ -714,77 +763,25 @@ diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml index 7c43916b..1e31483c 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/achieve/CuMemberTreeMapper.xml @@ -478,59 +478,65 @@ all_new_box_num number(10,2) default 0 not null, all_new_consume_pv number(17,6) default 0 not null, all_team_new_box_num number(10,2) default 0 not null, - all_team_new_pv number(17,6) default 0 not null, + all_team_new_pv number(17,6) default 0 not null ) create table ${tableName} ( - pk_member NUMBER(20) not null, - pk_parent NUMBER(20) not null, - member_code VARCHAR2(30) not null, - member_name VARCHAR2(100) not null, - customer_type NUMBER(2) not null, - phone VARCHAR2(40) not null, - pk_grade NUMBER(4) not null, - pk_awards number(4) default 10 not null, - pk_share_awards number(4) default 10 not null, - enable_status number(2) default 1 not null, - account_status number(1) default 0 not null, - pay_status NUMBER(2) default 0 not null, - pay_time DATE, - category number(2) default 0 not null, - purchase_status number(2) default 0 not null, - income_status number(2) default 0 not null, - pk_team_code number(20), - pk_center_code number(20), - pk_vertex number(20), - pk_settle_country number(4) not null, - is_real_name NUMBER(1) default 1 not null, - pk_country number(4) default 1 not null, - system_type NUMBER(2) default 2 not null, - pk_rate NUMBER(6), - new_box_num number(10,2) default 0 not null, - consume_box_num number(10,2) default 0 not null, - month_box_num number(10,2) default 0 not null, - new_consume_pv number(17,6) default 0 not null, - consume_pv number(17,6) default 0 not null, - month_consume_pv number(17,6) default 0 not null, - team_new_box_num number(10,2) default 0 not null, - team_box_num number(10,2) default 0 not null, - team_month_box_num number(10,2) default 0 not null, - team_new_pv number(17,6) default 0 not null, - team_consume_pv number(17,6) default 0 not null, - team_month_pv number(17,6) default 0 not null, - team_new_amount number(17,6) default 0 not null, - team_consume_amount number(17,6) default 0 not null, - team_month_amount number(17,6) default 0 not null, - recommend_num number(8) default 0 not null, - team_num number(8) default 0 not null, - region_address number(8) default 0 not null, - big_box_num number(10,2) default 0 not null, - small_box_num number(10,2) default 0 not null, - big_team_pv number(17,6) default 0 not null, - small_team_pv number(17,6) default 0 not null + pk_member NUMBER(20) not null, + pk_parent NUMBER(20) not null, + member_code VARCHAR2(30) not null, + member_name VARCHAR2(100) not null, + customer_type NUMBER(2) not null, + phone VARCHAR2(40) not null, + pk_grade NUMBER(4) not null, + pk_awards number(4) default 10 not null, + pk_share_awards number(4) default 10 not null, + enable_status number(2) default 1 not null, + account_status number(1) default 0 not null, + pay_status NUMBER(2) default 0 not null, + pay_time DATE, + category number(2) default 0 not null, + purchase_status number(2) default 0 not null, + income_status number(2) default 0 not null, + pk_team_code number(20), + pk_center_code number(20), + pk_vertex number(20), + pk_settle_country number(4) not null, + is_real_name NUMBER(1) default 1 not null, + pk_country number(4) default 1 not null, + system_type NUMBER(2) default 2 not null, + pk_rate NUMBER(6), + new_box_num number(10,2) default 0 not null, + consume_box_num number(10,2) default 0 not null, + month_box_num number(10,2) default 0 not null, + new_consume_pv number(17,6) default 0 not null, + consume_pv number(17,6) default 0 not null, + month_consume_pv number(17,6) default 0 not null, + team_new_box_num number(10,2) default 0 not null, + team_box_num number(10,2) default 0 not null, + team_month_box_num number(10,2) default 0 not null, + team_new_pv number(17,6) default 0 not null, + team_consume_pv number(17,6) default 0 not null, + team_month_pv number(17,6) default 0 not null, + team_new_amount number(17,6) default 0 not null, + team_consume_amount number(17,6) default 0 not null, + team_month_amount number(17,6) default 0 not null, + recommend_num number(8) default 0 not null, + team_num number(8) default 0 not null, + region_address number(8) default 0 not null, + big_box_num number(10,2) default 0 not null, + small_box_num number(10,2) default 0 not null, + big_team_pv number(17,6) default 0 not null, + small_team_pv number(17,6) default 0 not null, + all_team_new_box_num number(12,2) default 0 not null, + all_team_box_num number(12,2) default 0 not null, + all_team_month_box_num number(12,2) default 0 not null, + all_team_new_pv number(17,6) default 0 not null, + all_team_consume_pv number(17,6) default 0 not null, + all_team_month_pv number(17,6) default 0 not null ) diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessMapper.xml index 60e3a2bb..94f79635 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessMapper.xml @@ -55,11 +55,29 @@ from cu_region_assess_detail cd inner join cu_region_assess ca on cd.pk_region_assess = ca.pk_id + inner join cu_member_retail_region cmrr + on cmrr.pk_id = ca.pk_region where cd.ASSESS_STATUS = 0 and cd.del_flag = 0 and ca.del_flag = 0 and ca.assess_start_date <= #{assessDate,jdbcType=DATE} and ca.assess_end_date >= #{assessDate,jdbcType=DATE} + and cmrr.del_flag = 0 + and cmrr.effective_end_date is null + group by cd.pk_region_assess + union + + select cd.pk_region_assess, sum(1) REACH_NUM + from cu_region_assess_detail cd + inner join cu_region_assess ca + on cd.pk_region_assess = ca.pk_id + inner join CU_MEMBER_RETAIL_REGION cmrr + on cmrr.pk_id = ca.pk_region + where cd.del_flag = 0 + and ca.del_flag = 0 + and cmrr.del_flag = 0 + and cmrr.effective_end_date is not null + and cd.assess_date > ADD_MONTHS(cmrr.effective_end_date, -6) group by cd.pk_region_assess ) b on (a.pk_id = b.pk_region_assess) diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml index 7b1ad32b..cff47509 100644 --- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml +++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/order/BonusOrderMapper.xml @@ -61,6 +61,7 @@ + @@ -154,9 +155,10 @@ nvl(st.pk_order,0) pk_order, nvl(st.pk_wares,0) pk_wares, nvl(st.wares_price,0) wares_price, - nvl(bw.wares_code,'~') wares_code, nvl(st.wares_quantity,0) wares_quantity, + nvl(bw.wares_code,'~') wares_code, nvl(bw.area_income, 0) area_income, + nvl(bw.area_income_type, 0) area_income_type, nvl(bw.box_num, 0) wares_box_num from sa_order so left join sa_order_wares st @@ -164,6 +166,69 @@ left join bd_wares bw on bw.pk_id = st.pk_wares and bw.del_flag = 0 where so.order_status = 1 + and so.order_type in (41, 42) + + and so.order_code=#{orderCode} + + and so.pay_time >= #{startDate} + and so.pay_time < #{endDate} + union + select so.pk_id, + so.pk_member, + so.order_code, + so.order_type, + so.pk_rate, + so.rec_province, + so.rec_city, + so.rec_county, + so.order_amount, + so.order_achieve, + so.order_ass_achieve, + so.upload_achieve, + so.pk_reference, + so.pk_vertex, + so.pk_country, + so.del_flag, + so.pay_time, + so.pk_creator, + so.consume_amount, + so.box_num, + soi.items_id, + soi.pk_order, + soi.pk_wares, + soi.wares_price, + soi.wares_quantity, + nvl(bw.wares_code, '~') wares_code, + nvl(bw.area_income, 0) area_income, + nvl(bw.area_income_type, 0) area_income_type, + nvl(bw.box_num, 0) wares_box_num + from sa_order so + left join ( + select max(soi.pk_id) items_id, + nvl(soi.pk_order, 0) pk_order, + nvl(soi.pk_wares, 0) pk_wares, + sum(soi.achievement * soi.quantity) wares_price, + max(soi.wares_quantity) wares_quantity + from sa_order so + left join sa_order_items soi + on soi.pk_order = so.pk_id + and soi.del_flag = 0 + and soi.is_gift = 1 + where so.order_status = 1 + and so.order_type in (43) + + and so.order_code=#{orderCode} + + and so.pay_time >= #{startDate} + and so.pay_time < #{endDate} + group by soi.pk_order, soi.pk_wares + ) soi + on soi.pk_order = so.pk_id + left join bd_wares bw + on bw.pk_id = soi.pk_wares + and bw.del_flag = 0 + where so.order_status = 1 + and so.order_type in (43) and so.order_code=#{orderCode} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java index 34435c2f..7ba33038 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java @@ -2521,10 +2521,13 @@ public class CuMemberServiceImpl extends ServiceImpl i Set waresAuthorityParentParamList = new HashSet<>(); // 安置查询 Set waresAuthorityPlaceParamList = new HashSet<>(); + // 指定会员 + Set pkMemberList = new HashSet<>(); for (ShowWaresDTO showWaresDTO : showWaresDTOS) { for (BdWaresAuthority bw : showWaresDTO.getWaresAuthorityList()) { if (bw.getAuthorityType() == EWaresPermissionType.BLOOD_ALLOW.getValue() || bw.getAuthorityType() == EWaresPermissionType.BLOOD_STOP.getValue()) { + // 血缘关系 WaresAuthorityParentParam waresAuthorityParentParam = WaresAuthorityParentParam.builder() .pkMember(bw.getPkMember()) .loginMember(showWaresDTO.getLoginMember()) @@ -2532,12 +2535,17 @@ public class CuMemberServiceImpl extends ServiceImpl i waresAuthorityParentParamList.add(waresAuthorityParentParam); } if (bw.getAuthorityType() == EWaresPermissionType.PLACE_ALLWO.getValue() || bw.getAuthorityType() == EWaresPermissionType.PLACE_STOP.getValue()) { + // 安置关系 WaresAuthorityParentParam waresAuthorityParentParam = WaresAuthorityParentParam.builder() .pkMember(bw.getPkMember()) .loginMember(showWaresDTO.getLoginMember()) .build(); waresAuthorityPlaceParamList.add(waresAuthorityParentParam); } + if (bw.getAuthorityType() == EWaresPermissionType.MEMBER.getValue()) { + // 指定会员可见 + pkMemberList.add(bw.getPkMember()); + } } } @@ -2568,6 +2576,9 @@ public class CuMemberServiceImpl extends ServiceImpl i } else if (bdWaresAuthority.getAuthorityType() == EWaresPermissionType.PLACE_STOP.getValue()) { // 安置禁止 isShowWares = !waresAuthorityPlaceList.contains(bdWaresAuthority.getPkMember()); + } else if (bdWaresAuthority.getAuthorityType() == EWaresPermissionType.MEMBER.getValue()) { + // 指定会员可见 + isShowWares = pkMemberList.contains(showWaresDTO.getLoginMember()); } } resultMap.put(showWaresDTO.getPkWares(), isShowWares); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java index 27503121..a4ab0b76 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/manage/BdWaresController.java @@ -513,6 +513,7 @@ public class BdWaresController extends BaseController { waresParams.setSortStatus(wares.getSortStatus()); waresParams.setSystemType(waresExtend.getSystemType()); waresParams.setAreaIncome(wares.getAreaIncome()); + waresParams.setAreaIncomeType(wares.getAreaIncomeType()); waresParams.setBoxNum(wares.getBoxNum()); BdAreaClassify parentAreaClassify = iBdAreaClassifyService.getAreaClassify(wares.getPkAreaClassify()); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java index 64b4e14a..9cbc62cd 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/param/WaresParams.java @@ -409,6 +409,11 @@ public class WaresParams implements Serializable { */ private BigDecimal areaIncome; + /** + * 复购区域分红方式(1=比率,2=比值) + */ + private Integer areaIncomeType; + /** * 商品上传盒数 */ diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java index 1311563f..440668e7 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java @@ -27,9 +27,6 @@ import com.hzs.sale.wares.param.WaresDetailParams; import com.hzs.sale.wares.mapper.BdWaresMapper; import com.hzs.sale.wares.service.*; import com.hzs.sale.wares.vo.*; -import com.hzs.system.base.ICurrencyServiceApi; -import com.hzs.system.base.ITransactionServiceApi; -import com.hzs.system.base.dto.CurrencyDTO; import com.hzs.system.config.IAwardsServiceApi; import com.hzs.system.config.ILabelServiceApi; import com.hzs.system.config.IRangeServiceApi; @@ -87,13 +84,9 @@ public class BdWaresServiceImpl extends ServiceImpl impl @DubboReference IMemberServiceApi iMemberServiceApi; @DubboReference - ICurrencyServiceApi iCurrencyServiceApi; - @DubboReference IAwardsServiceApi iAwardsServiceApi; @DubboReference IRangeServiceApi iRangeServiceApi; - @DubboReference - ITransactionServiceApi iTransactionServiceApi; @Override @Transactional(rollbackFor = Exception.class) diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml index 50f93263..fcb01e90 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml @@ -50,6 +50,7 @@ + diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java index 3538c758..9d04b335 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java @@ -750,7 +750,7 @@ public class EnumsController extends BaseController { public AjaxResult getEWaresPermissionTypeList() { List enumEntityList = new ArrayList<>(); for (EWaresPermissionType value : EWaresPermissionType.values()) { - enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ENU_WARES)); + enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel())); } return AjaxResult.success(enumEntityList); } @@ -837,7 +837,7 @@ public class EnumsController extends BaseController { public AjaxResult getECycle() { List enumEntityList = new ArrayList<>(); for (ECycle value : ECycle.values()) { - enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.CYCLE)); + enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel())); } return AjaxResult.success(enumEntityList); } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java index 09223f7d..06ccb28f 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java @@ -580,10 +580,6 @@ public class EnumsPrefixConstants { */ public static final String ENU_USER = "ENU_USER_S_"; - /** - * 商品权限类型枚举 - */ - public static final String ENU_WARES = "ENU_WARES_P_"; /** * 商品类型枚举 */ @@ -628,11 +624,6 @@ public class EnumsPrefixConstants { */ public static final String EXEMPT_TYPE = "ENU_EXE_T_"; - /** - * 提现周期 - */ - public static final String CYCLE = "ENU_CYCLE_"; - /** * 提现状态 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ECycle.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ECycle.java index 6b51280d..8287aae0 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ECycle.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ECycle.java @@ -1,13 +1,10 @@ package com.hzs.common.core.enums; -import com.hzs.common.core.constant.EnumsPrefixConstants; import lombok.AllArgsConstructor; import lombok.Getter; /** * 提现周期枚举类 - * - * @author: hzs */ @AllArgsConstructor @Getter @@ -16,32 +13,32 @@ public enum ECycle { /** * 周一 */ - MONDAY( 1, "周一", EnumsPrefixConstants.CYCLE + "1"), + MONDAY(1, "周一"), /** * 周二 */ - TUESDAY( 2, "周二", EnumsPrefixConstants.CYCLE + "2"), + TUESDAY(2, "周二"), /** * 周三 */ - WEDNESDAY( 3, "周三", EnumsPrefixConstants.CYCLE + "3"), + WEDNESDAY(3, "周三"), /** * 周四 */ - THURSDAY( 4, "周四", EnumsPrefixConstants.CYCLE + "4"), + THURSDAY(4, "周四"), /** * 周五 */ - FRIDAY( 5, "周五", EnumsPrefixConstants.CYCLE + "5"), + FRIDAY(5, "周五"), /** * 周六 */ - SATURDAY( 6, "周六", EnumsPrefixConstants.CYCLE + "6"), + SATURDAY(6, "周六"), /** * 周日 */ - SUNDAY( 7, "周日", EnumsPrefixConstants.CYCLE + "7"), + SUNDAY(7, "周日"), ; @@ -54,11 +51,6 @@ public enum ECycle { * 显示标签 */ private final String label; - /** - * 国际化翻译key值 - */ - private final String key; - } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ERatioType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ERatioType.java index f4ab28a8..d744e579 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ERatioType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ERatioType.java @@ -5,13 +5,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; /** - * * 比率类型 - * @Description: - * @Author: ljc - * @Time: 2023/5/8 11:23 - * @Classname: ERatioType - * @Package_name: com.hzs.common.core.enums */ @AllArgsConstructor @Getter diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWaresPermissionType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWaresPermissionType.java index 52c5b8f4..610dc5a7 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWaresPermissionType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWaresPermissionType.java @@ -11,29 +11,33 @@ import lombok.Getter; @Getter public enum EWaresPermissionType { + /** + * 指定会员 + */ + MEMBER(6, "指定会员", 0), + /** * 1=血缘可见 */ - BLOOD_ALLOW(1, "血缘可见", 0, EnumsPrefixConstants.ENU_WARES + "1"), + BLOOD_ALLOW(1, "血缘可见", 0), /** * 2=血缘禁止 */ - BLOOD_STOP(2, "血缘禁止", 0, EnumsPrefixConstants.ENU_WARES + "2"), + BLOOD_STOP(2, "血缘禁止", 0), /** * 安置可见 */ - PLACE_ALLWO(3, "安置可见", 0, EnumsPrefixConstants.ENU_WARES + "3"), - + PLACE_ALLWO(3, "安置可见", 0), /** * 安置禁止 */ - PLACE_STOP(4, "安置禁止", 0, EnumsPrefixConstants.ENU_WARES + "4"), + PLACE_STOP(4, "安置禁止", 0), /** * 全部 */ - AUTH_ORITY_TYPE(5, "全部", 0, EnumsPrefixConstants.ENU_WARES + "5"), + AUTH_ORITY_TYPE(5, "全部", 0), ; /** @@ -48,10 +52,6 @@ public enum EWaresPermissionType { * 是否启用(0=是,1=否) -- 来源EYesNo */ private final int enable; - /** - * 国际化翻译key值 - */ - private final String key; public static String getEnumLabelByValue(Integer value) { if (null == value) { diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DateUtils.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DateUtils.java index 09db41a3..ddae36e6 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DateUtils.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DateUtils.java @@ -535,24 +535,16 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { LocalDate today = getLocalDate(date); return ((Long) toLocalDate(date1).until(today, ChronoUnit.DAYS)).intValue(); } - /** - * 计算2个日期之间的天数 + * 获得2个日期总共差的天数 * - * @param date1 日期 - * @param date 日期2 + * @param date1 第一个日期 + * @param date 第二个日期 * @return Integer */ - public static Boolean betweenMonth(Date date1, Date... date) { - LocalDate localDate = LocalDate.now(); - if (date.length > 0) { - localDate = toLocalDate(date[0]); - } - LocalDate localDate1 = toLocalDate(date1); - if (localDate.getMonth() == localDate1.getMonth()) { - return Boolean.TRUE; - } - return Boolean.FALSE; + public static Integer betweenMonth(Date date1, Date... date) { + LocalDate today = getLocalDate(date); + return ((Long) toLocalDate(date1).until(today, ChronoUnit.MONTHS)).intValue(); } /** diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java index e151217b..2b4f691e 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/achieve/ext/CuMemberRetailRangeExt.java @@ -78,23 +78,38 @@ public class CuMemberRetailRangeExt extends CuMemberRetailRange { private String countryName; /** - * 新増盒数(不管激活,全累计) + * 新増盒数(不管激活,全累计) -- 秒结使用 */ private BigDecimal allNewBoxNum; - /** - * 新増业绩(不管激活,全累计) + * 新増业绩(不管激活,全累计) -- 秒结使用 */ private BigDecimal allNewConsumePv; /** - * 团队新増盒数(不管激活,全累计) + * 团队新増盒数(不管激活,全累计) -- 秒结、日结使用 */ private BigDecimal allTeamNewBoxNum; - /** - * 团队新増业绩(不管激活,全累计) + * 团队新増业绩(不管激活,全累计) -- 秒结使用 */ private BigDecimal allTeamNewPv; + /** + * 团队累计盒数(不管激活,全累计) -- 日结使用 + */ + private BigDecimal allTeamBoxNum; + /** + * 团队月累计盒数(不管激活,全累计) -- 日结使用 + */ + private BigDecimal allTeamMonthBoxNum; + /** + * 团队累计消费pv(不管激活,全累计) -- 日结使用 + */ + private BigDecimal allTeamConsumePv; + /** + * 团队月累计消费pv(不管激活,全累计) -- 日结使用 + */ + private BigDecimal allTeamMonthPv; + } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/SaOrderWaresExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/SaOrderWaresExt.java index 880b6b1b..0ce59436 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/SaOrderWaresExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/ext/SaOrderWaresExt.java @@ -19,6 +19,10 @@ public class SaOrderWaresExt extends SaOrderWares { * 复购区域分红 */ private BigDecimal areaIncome; + /** + * 复购区域分红方式 + */ + private Integer areaIncomeType; /** * 商品上传盒数 diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java index ffe5fd20..7e849b40 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWares.java @@ -228,5 +228,10 @@ public class BdWares extends BaseEntity { @TableField("BOX_NUM") private BigDecimal boxNum; + /** + * 复购区域分红方式(1=比率,2=比值) + */ + @TableField("AREA_INCOME_TYPE") + private Integer areaIncomeType; }