diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java index 0a9815d9..0a9f8330 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java @@ -1139,6 +1139,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { CuMemberRetailRangeExt targetMember = childRetailMap.get(keyDate); // 推荐人一阶段子点位列表 LinkedHashMap parentDetailList = targetMember.getOneDetailMap(); + if (CollectionUtil.isEmpty(parentDetailList)) { + continue; + } // 推荐人第一层点位处理 giftBool = iCuMemberBonusStageService.firstLevelhandle(parentDetailList, newRetailDetail, rangeTableName, rangeDetailTableName, @@ -1306,6 +1309,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // BdAwards bdAwards = retailAwardsMap.get(awardsValue); // // 先验证累计业绩 // if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMember.getTeamConsumePv(), targetMember.getConsumePv()), bdAwards.getShareTotalCheck())) { +// +// +// // // 再验证小区,计算小区业绩(拉取直推会员数据) // if (null == cuMemberRangeExtList) { // // 昨日结算表,查询订单会员直推数据 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java index 9fd14cd7..f63e5f05 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/CuMemberBonusStageServiceImpl.java @@ -698,58 +698,6 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl parentDetailList, CuMemberRetailDetail newRetailDetail, - String rangeTableName, String rangeDetailTableName, - Map memberRangeExtMap, Date settleDate, EBonusStage eBonusStage, - List bonusStageDataList) { - for (Map.Entry integerCuMemberRetailDetailEntry : parentDetailList.entrySet()) { - // 第二层填充 - CuMemberRetailDetail parentRetailDetail = integerCuMemberRetailDetailEntry.getValue(); - // 遍历推荐人点位,使用第一个未完成的点位,进行填充 - if (EBonusStageStatus.NO.getValue() == parentRetailDetail.getStageStatus()) { - if (null == parentRetailDetail.getPointMember21()) { - this.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_21, - newRetailDetail, settleDate, eBonusStage, bonusStageDataList); - // 新点位是推荐人点位的第二层 - this.handlePointSecond(memberRangeExtMap, newRetailDetail, parentRetailDetail, - rangeTableName, rangeDetailTableName, BonusConstants.POINT_21, settleDate, eBonusStage, - bonusStageDataList); - // 当前新子点位填充完成,进入下一个新子点位 - return true; - } else if (null == parentRetailDetail.getPointMember22()) { - this.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_22, - newRetailDetail, settleDate, eBonusStage, bonusStageDataList); - // 新点位是推荐人点位的第二层 - this.handlePointSecond(memberRangeExtMap, newRetailDetail, parentRetailDetail, - rangeTableName, rangeDetailTableName, BonusConstants.POINT_22, settleDate, eBonusStage, - bonusStageDataList); - // 当前新子点位填充完成,进入下一个新子点位 - return true; - } else if (null == parentRetailDetail.getPointMember23()) { - this.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_23, - newRetailDetail, settleDate, eBonusStage, bonusStageDataList); - // 新点位是推荐人点位的第二层 - this.handlePointSecond(memberRangeExtMap, newRetailDetail, parentRetailDetail, - rangeTableName, rangeDetailTableName, BonusConstants.POINT_23, settleDate, eBonusStage, - bonusStageDataList); - // 当前新子点位填充完成,进入下一个新子点位 - return true; - } else if (null == parentRetailDetail.getPointMember24()) { - this.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_24, - newRetailDetail, settleDate, eBonusStage, bonusStageDataList); - // 新点位是推荐人点位的第二层 - this.handlePointSecond(memberRangeExtMap, newRetailDetail, parentRetailDetail, - rangeTableName, rangeDetailTableName, BonusConstants.POINT_24, settleDate, eBonusStage, - bonusStageDataList); - // 当前新子点位填充完成,进入下一个新子点位 - return true; - } - } - } - return false; - } - @Override public boolean thirdLevelhandle(LinkedHashMap parentDetailList, CuMemberRetailDetail newRetailDetail, String rangeTableName, String rangeDetailTableName, @@ -838,6 +786,58 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl parentDetailList, CuMemberRetailDetail newRetailDetail, + String rangeTableName, String rangeDetailTableName, + Map memberRangeExtMap, Date settleDate, EBonusStage eBonusStage, + List bonusStageDataList) { + for (Map.Entry integerCuMemberRetailDetailEntry : parentDetailList.entrySet()) { + // 第二层填充 + CuMemberRetailDetail parentRetailDetail = integerCuMemberRetailDetailEntry.getValue(); + // 遍历推荐人点位,使用第一个未完成的点位,进行填充 + if (EBonusStageStatus.NO.getValue() == parentRetailDetail.getStageStatus()) { + if (null == parentRetailDetail.getPointMember21()) { + this.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_21, + newRetailDetail, settleDate, eBonusStage, bonusStageDataList); + // 新点位是推荐人点位的第二层 + this.handlePointSecond(memberRangeExtMap, newRetailDetail, parentRetailDetail, + rangeTableName, rangeDetailTableName, BonusConstants.POINT_21, settleDate, eBonusStage, + bonusStageDataList); + // 当前新子点位填充完成,进入下一个新子点位 + return true; + } else if (null == parentRetailDetail.getPointMember22()) { + this.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_22, + newRetailDetail, settleDate, eBonusStage, bonusStageDataList); + // 新点位是推荐人点位的第二层 + this.handlePointSecond(memberRangeExtMap, newRetailDetail, parentRetailDetail, + rangeTableName, rangeDetailTableName, BonusConstants.POINT_22, settleDate, eBonusStage, + bonusStageDataList); + // 当前新子点位填充完成,进入下一个新子点位 + return true; + } else if (null == parentRetailDetail.getPointMember23()) { + this.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_23, + newRetailDetail, settleDate, eBonusStage, bonusStageDataList); + // 新点位是推荐人点位的第二层 + this.handlePointSecond(memberRangeExtMap, newRetailDetail, parentRetailDetail, + rangeTableName, rangeDetailTableName, BonusConstants.POINT_23, settleDate, eBonusStage, + bonusStageDataList); + // 当前新子点位填充完成,进入下一个新子点位 + return true; + } else if (null == parentRetailDetail.getPointMember24()) { + this.fillRetailDetail(parentRetailDetail, BonusConstants.POINT_24, + newRetailDetail, settleDate, eBonusStage, bonusStageDataList); + // 新点位是推荐人点位的第二层 + this.handlePointSecond(memberRangeExtMap, newRetailDetail, parentRetailDetail, + rangeTableName, rangeDetailTableName, BonusConstants.POINT_24, settleDate, eBonusStage, + bonusStageDataList); + // 当前新子点位填充完成,进入下一个新子点位 + return true; + } + } + } + return false; + } + private LinkedHashMap getRetailDetailMap(CuMemberRetailRangeExt memberRetail, EBonusStage eBonusStage) { if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) { return memberRetail.getOneDetailMap(); 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 3d650dc1..c50b3307 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 @@ -738,7 +738,10 @@ rep_team_new_amount, rep_team_new_pv, point_count, + wait_point_count, rep_pv_balance, + gift_point, + gift_pay_time, bw.awards_value, bw.awards_name from ${tableName} a