Compare commits
No commits in common. "1fc421a74d35589576e9dd238b054a30e65393c3" and "6442f2bbfbbca9ba8456247d0d53731657eaf9bf" have entirely different histories.
1fc421a74d
...
6442f2bbfb
|
|
@ -99,6 +99,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
|
|
||||||
// 会员奖衔升级记录
|
// 会员奖衔升级记录
|
||||||
List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>();
|
List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>();
|
||||||
|
// 计算自己奖衔等
|
||||||
|
calculateGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailAwardsMap, secondRangeTableName,
|
||||||
|
cuMemberAwardsList, sourceMemberRangeExt);
|
||||||
|
// 计算团队业绩、计算奖衔
|
||||||
|
cuMemberAwardsList.addAll(calculateRetailRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailAwardsMap,
|
||||||
|
secondRangeTableName));
|
||||||
|
|
||||||
// 奖金处理
|
// 奖金处理
|
||||||
List<CuMemberBonusRange> cuMemberBonusRangeList = new ArrayList<>();
|
List<CuMemberBonusRange> cuMemberBonusRangeList = new ArrayList<>();
|
||||||
|
|
@ -339,9 +345,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
sourceMember.setNewConsumeAmount(orderAmount);
|
sourceMember.setNewConsumeAmount(orderAmount);
|
||||||
sourceMember.setConsumeAmount(sourceMember.getConsumeAmount().add(orderAmount));
|
sourceMember.setConsumeAmount(sourceMember.getConsumeAmount().add(orderAmount));
|
||||||
sourceMember.setMonthConsumeAmount(sourceMember.getMonthConsumeAmount().add(orderAmount));
|
sourceMember.setMonthConsumeAmount(sourceMember.getMonthConsumeAmount().add(orderAmount));
|
||||||
// // 自己计算奖衔
|
// TODO 自己计算奖衔
|
||||||
// this.calculateAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailAwardsMap, cuMemberAwardsList, sourceMember);
|
this.calculateAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailAwardsMap, cuMemberAwardsList, sourceMember);
|
||||||
// 累计团队业绩、金额 + 计算奖衔
|
// TODO 累计团队业绩、金额 + 计算奖衔
|
||||||
this.calculateParentAwards(period, memberRangeExtMap, rangeTableName, sourceMember, saOrderExt, retailAwardsMap);
|
this.calculateParentAwards(period, memberRangeExtMap, rangeTableName, sourceMember, saOrderExt, retailAwardsMap);
|
||||||
|
|
||||||
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|
||||||
|
|
@ -423,6 +429,42 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算团队奖衔 -- 秒结、日结
|
||||||
|
*/
|
||||||
|
public List<CuMemberAwards> calculateRetailRangeGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt,
|
||||||
|
Map<Integer, BdAwards> retailAwardsMap, String secondRangeTableName) {
|
||||||
|
// 会员奖衔升级列表
|
||||||
|
List<CuMemberAwards> cuMemberAwardsList = new ArrayList<>();
|
||||||
|
// 订单会员
|
||||||
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
||||||
|
// 订单会员的推荐人
|
||||||
|
CuMemberRetailRangeExt targetMemberRangeExt = memberRangeExtMap.get(sourceMemberRangeExt.getPkParent());
|
||||||
|
|
||||||
|
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
||||||
|
BigDecimal orderAmount = saOrderExt.getOrderAmount();
|
||||||
|
while (null != targetMemberRangeExt) {
|
||||||
|
// 累计业绩,不管激活不激活都处理,兼容不激活判断显示有问题
|
||||||
|
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().add(orderAchieve));
|
||||||
|
targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().add(orderAchieve));
|
||||||
|
targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().add(orderAchieve));
|
||||||
|
|
||||||
|
// 累计业绩
|
||||||
|
targetMemberRangeExt.setTeamNewPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewPv(), orderAchieve));
|
||||||
|
targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumePv(), orderAchieve));
|
||||||
|
targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), orderAchieve));
|
||||||
|
// 累计金额
|
||||||
|
targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamNewAmount(), orderAmount));
|
||||||
|
targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount));
|
||||||
|
targetMemberRangeExt.setTeamMonthAmount(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthAmount(), orderAmount));
|
||||||
|
// 计算
|
||||||
|
calculateGradeAwards(period, memberRangeExtMap, rangeTableName, saOrderExt, retailAwardsMap,
|
||||||
|
secondRangeTableName, cuMemberAwardsList, targetMemberRangeExt);
|
||||||
|
targetMemberRangeExt = memberRangeExtMap.get(targetMemberRangeExt.getPkParent());
|
||||||
|
}
|
||||||
|
return cuMemberAwardsList;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算奖衔 -- 日结、秒结
|
* 计算奖衔 -- 日结、秒结
|
||||||
*/
|
*/
|
||||||
|
|
@ -450,6 +492,86 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// // 校验大小区会员数据
|
||||||
|
// List<CuMemberRetailRangeExt> cuMemberRangeExtList = null;
|
||||||
|
// // 校验累计小部门会员数据
|
||||||
|
// List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = null;
|
||||||
|
// // 计算分红奖衔
|
||||||
|
// while (true) {
|
||||||
|
// // 当月奖衔值 + 5,获取下一个奖衔值
|
||||||
|
// int awardsValue = targetMemberRangeExt.getShareAwardsValue() + 5;
|
||||||
|
// if (retailAwardsMap.containsKey(awardsValue)) {
|
||||||
|
// BdAwards bdAwards = retailAwardsMap.get(awardsValue);
|
||||||
|
// // 先验证累计业绩
|
||||||
|
// if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getShareTotalCheck())) {
|
||||||
|
// // 再验证小区,计算小区业绩(拉取直推会员数据)
|
||||||
|
// if (null == cuMemberRangeExtList) {
|
||||||
|
// if (null != secondRangeTableName) {
|
||||||
|
// // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据
|
||||||
|
// cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
|
||||||
|
// } else {
|
||||||
|
// // 昨日结算表,查询订单会员直推数据
|
||||||
|
// cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// // 本人月消费业绩(默认为大区)
|
||||||
|
// BigDecimal consumeBigPv = targetMemberRangeExt.getMonthConsumePv();
|
||||||
|
// for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
|
||||||
|
// if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
||||||
|
// cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
|
||||||
|
// }
|
||||||
|
// // 月累计业绩 = 本人月消费业绩 + 团队月消费业绩
|
||||||
|
// BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv());
|
||||||
|
// if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) {
|
||||||
|
// // 月累计业绩 > 大区业绩,则月累计就成为大区了
|
||||||
|
// consumeBigPv = consumePv;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 小区业绩 = 本人月消费业绩 + 团队月消费业绩 - 大区业绩
|
||||||
|
// BigDecimal smallAreaPv = ComputeUtil.computeAdd(targetMemberRangeExt.getMonthConsumePv(), ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthPv(), consumeBigPv));
|
||||||
|
// if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getShareCommunityCheck())) {
|
||||||
|
// // 小区业绩 >= 小区考核业绩
|
||||||
|
// if (bdAwards.getPlaceDeptNum() > 0) {
|
||||||
|
// // 验证是否有多个区满足业绩
|
||||||
|
// if (null == cuMemberRetailRangeExtList) {
|
||||||
|
// // 非秒结需要查询日结相关数据,秒结表使用上面查出的数据就可以
|
||||||
|
// if (null != secondRangeTableName) {
|
||||||
|
// // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据
|
||||||
|
// cuMemberRetailRangeExtList = cuMemberRangeExtList;
|
||||||
|
// } else {
|
||||||
|
// // 昨日结算表,查询订单会员直推数据
|
||||||
|
// cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck());
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// int enoughNum = 0;
|
||||||
|
// if (ComputeUtil.compareValue(targetMemberRangeExt.getMonthConsumePv(), bdAwards.getShareCommunityCheck())) {
|
||||||
|
// enoughNum += 1;
|
||||||
|
// }
|
||||||
|
// for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRetailRangeExtList) {
|
||||||
|
// if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
||||||
|
// cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
|
||||||
|
// }
|
||||||
|
// if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv()), bdAwards.getShareCommunityCheck())) {
|
||||||
|
// // 本人月消费业绩 + 团队月消费业绩 >= 小区考核业绩,则满足条件小部门 +1
|
||||||
|
// enoughNum += 1;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// if (bdAwards.getPlaceDeptNum() > enoughNum) {
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// cuMemberAwardsList.add(getCuMemberRetailAwards(targetMemberRangeExt, period, saOrderExt, bdAwards, EAwardsType.SHARE_TYPE.getValue(), targetMemberRangeExt.getPkShareAwards()));
|
||||||
|
// targetMemberRangeExt.setShareAwardsValue(bdAwards.getAwardsValue());
|
||||||
|
// targetMemberRangeExt.setPkShareAwards(bdAwards.getPkId());
|
||||||
|
// continue;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -468,6 +590,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
||||||
BigDecimal orderAmount = saOrderExt.getOrderAmount();
|
BigDecimal orderAmount = saOrderExt.getOrderAmount();
|
||||||
while (targetMemberRangeExt != null) {
|
while (targetMemberRangeExt != null) {
|
||||||
|
// 累计盒数、业绩,不管激活不激活都处理,兼容不激活判断显示有问题
|
||||||
|
if (isSecond) {
|
||||||
|
// 当天,秒结处理
|
||||||
|
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().subtract(orderAchieve));
|
||||||
|
} else {
|
||||||
|
// 非当天,日结处理
|
||||||
|
targetMemberRangeExt.setAllTeamNewPv(targetMemberRangeExt.getAllTeamNewPv().subtract(orderAchieve));
|
||||||
|
targetMemberRangeExt.setAllTeamConsumePv(targetMemberRangeExt.getAllTeamConsumePv().subtract(orderAchieve));
|
||||||
|
targetMemberRangeExt.setAllTeamMonthPv(targetMemberRangeExt.getAllTeamMonthPv().subtract(orderAchieve));
|
||||||
|
}
|
||||||
|
|
||||||
// 累计金额
|
// 累计金额
|
||||||
targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamNewAmount(), orderAmount));
|
targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamNewAmount(), orderAmount));
|
||||||
targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount));
|
targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount));
|
||||||
|
|
@ -510,6 +643,80 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// // 计算分红奖衔
|
||||||
|
// while (true) {
|
||||||
|
// // 当月奖衔值 + 5,获取下一个奖衔值
|
||||||
|
// int awardsValue = targetMemberRangeExt.getShareAwardsValue() + 5;
|
||||||
|
// if (retailAwardsMap.containsKey(awardsValue)) {
|
||||||
|
// BdAwards bdAwards = retailAwardsMap.get(awardsValue);
|
||||||
|
// // 先验证累计业绩
|
||||||
|
// if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getShareTotalCheck())) {
|
||||||
|
// // 验证小区,计算小区业绩(拉取直推会员数据)
|
||||||
|
// List<CuMemberRetailRangeExt> cuMemberRangeExtList;
|
||||||
|
// if (secondRangeTableName != null) {
|
||||||
|
// // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据
|
||||||
|
// cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
|
||||||
|
// } else {
|
||||||
|
// // 昨日结算表,查询订单会员直推数据
|
||||||
|
// cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
|
||||||
|
// }
|
||||||
|
// // 本人月消费业绩(默认为大区)
|
||||||
|
// BigDecimal consumeBigPv = targetMemberRangeExt.getMonthConsumePv();
|
||||||
|
// for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
|
||||||
|
// if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
||||||
|
// cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
|
||||||
|
// }
|
||||||
|
// // 月累计业绩 = 本人月消费业绩 + 团队月消费业绩
|
||||||
|
// BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv());
|
||||||
|
// if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) {
|
||||||
|
// // 月累计业绩 > 大区业绩,则月累计就成为大区了
|
||||||
|
// consumeBigPv = consumePv;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 小区业绩 = 本人月消费业绩 + 团队月消费业绩 - 大区业绩
|
||||||
|
// BigDecimal smallAreaPv = ComputeUtil.computeAdd(targetMemberRangeExt.getMonthConsumePv(), ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthPv(), consumeBigPv));
|
||||||
|
// if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getShareCommunityCheck())) {
|
||||||
|
// // 小区业绩 >= 小区考核业绩
|
||||||
|
// if (bdAwards.getPlaceDeptNum() > 0) {
|
||||||
|
// // 验证是否有多个区满足业绩
|
||||||
|
// List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList;
|
||||||
|
// if (secondRangeTableName != null) {
|
||||||
|
// // 会员表 关联 秒结表 和 昨日结算表,查询订单会员直推数据
|
||||||
|
// cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
|
||||||
|
// } else {
|
||||||
|
// // 昨日结算表,查询订单会员直推数据
|
||||||
|
// cuMemberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeEnoughAchieve(rangeTableName, targetMemberRangeExt.getPkMember(), bdAwards.getShareCommunityCheck());
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// int enoughNum = 0;
|
||||||
|
// if (ComputeUtil.compareValue(targetMemberRangeExt.getMonthConsumePv(), bdAwards.getShareCommunityCheck())) {
|
||||||
|
// enoughNum += 1;
|
||||||
|
// }
|
||||||
|
// for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRetailRangeExtList) {
|
||||||
|
// if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
||||||
|
// cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
|
||||||
|
// }
|
||||||
|
// if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv()), bdAwards.getShareCommunityCheck())) {
|
||||||
|
// // 本人月消费业绩 + 团队月消费业绩 >= 小区考核业绩,则满足条件小部门 +1
|
||||||
|
// enoughNum += 1;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// if (bdAwards.getPlaceDeptNum() > enoughNum) {
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// CuMemberAwards cuMemberRetailAwards = getCuMemberRetailAwards(targetMemberRangeExt, period, saOrderExt, bdAwards, EAwardsType.SHARE_TYPE.getValue(), targetMemberRangeExt.getPkShareAwards());
|
||||||
|
// cuMemberShareAwardsMap.put(cuMemberRetailAwards.getPkMember() + "_" + cuMemberRetailAwards.getNewLevel(), cuMemberRetailAwards);
|
||||||
|
// targetMemberRangeExt.setShareAwardsValue(bdAwards.getAwardsValue());
|
||||||
|
// targetMemberRangeExt.setPkShareAwards(bdAwards.getPkId());
|
||||||
|
// continue;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1090,40 +1297,42 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
private void calculateAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName,
|
private void calculateAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName,
|
||||||
SaOrderExt saOrderExt, Map<Integer, BdAwards> retailAwardsMap, List<CuMemberAwards> cuMemberAwardsList,
|
SaOrderExt saOrderExt, Map<Integer, BdAwards> retailAwardsMap, List<CuMemberAwards> cuMemberAwardsList,
|
||||||
CuMemberRetailRangeExt targetMember) {
|
CuMemberRetailRangeExt targetMember) {
|
||||||
// 校验大小区会员数据
|
// // 校验大小区会员数据
|
||||||
List<CuMemberRetailRangeExt> cuMemberRangeExtList = null;
|
// List<CuMemberRetailRangeExt> cuMemberRangeExtList = null;
|
||||||
// 校验累计小部门会员数据
|
// // 校验累计小部门会员数据
|
||||||
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = null;
|
// List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = null;
|
||||||
// 计算分红奖衔
|
// // 计算分红奖衔
|
||||||
while (true) {
|
// while (true) {
|
||||||
// 当月奖衔值 + 5,获取下一个奖衔值
|
// // 当月奖衔值 + 5,获取下一个奖衔值
|
||||||
int awardsValue = targetMember.getAwardsValue() + 5;
|
// int awardsValue = targetMember.getAwardsValue() + 5;
|
||||||
if (retailAwardsMap.containsKey(awardsValue)) {
|
// if (retailAwardsMap.containsKey(awardsValue)) {
|
||||||
BdAwards bdAwards = retailAwardsMap.get(awardsValue);
|
// BdAwards bdAwards = retailAwardsMap.get(awardsValue);
|
||||||
// 先验证累计业绩
|
// // 先验证累计业绩
|
||||||
if (ComputeUtil.compareValue(targetMember.getTeamConsumePv(), bdAwards.getTotalCheck())) {
|
// if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMember.getTeamConsumePv(), targetMember.getConsumePv()), bdAwards.getShareTotalCheck())) {
|
||||||
// 团队累计业绩 >= 奖衔业绩
|
//
|
||||||
// 再验证小区,计算小区业绩(拉取直推会员数据)
|
//
|
||||||
if (null == cuMemberRangeExtList) {
|
//
|
||||||
// 昨日结算表,查询会员直推数据
|
// // 再验证小区,计算小区业绩(拉取直推会员数据)
|
||||||
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMember.getPkMember());
|
// if (null == cuMemberRangeExtList) {
|
||||||
}
|
// // 昨日结算表,查询订单会员直推数据
|
||||||
// 大区
|
// cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMember.getPkMember());
|
||||||
BigDecimal consumeBigPv = BigDecimal.ZERO;
|
// }
|
||||||
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
|
// // 本人月消费业绩(默认为大区)
|
||||||
if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
// BigDecimal consumeBigPv = targetMember.getMonthConsumePv();
|
||||||
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
|
// for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
|
||||||
}
|
// if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
||||||
// 累计业绩 = 团队累计消费业绩
|
// cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
|
||||||
BigDecimal consumePv = cuMemberRetailRangeExt.getTeamConsumePv();
|
// }
|
||||||
if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) {
|
// // 月累计业绩 = 本人月消费业绩 + 团队月消费业绩
|
||||||
// 累计业绩 > 大区业绩,则累计就成为大区
|
// BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getAllTeamMonthPv());
|
||||||
consumeBigPv = consumePv;
|
// if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) {
|
||||||
}
|
// // 月累计业绩 > 大区业绩,则月累计就成为大区了
|
||||||
}
|
// consumeBigPv = consumePv;
|
||||||
|
// }
|
||||||
// // 小区业绩 = 团队累计消费业绩 - 大区业绩
|
// }
|
||||||
// BigDecimal smallAreaPv = ComputeUtil.computeSubtract(targetMember.getTeamConsumePv(), consumeBigPv);
|
//
|
||||||
|
// // 小区业绩 = 本人月消费业绩 + 团队月消费业绩 - 大区业绩
|
||||||
|
// BigDecimal smallAreaPv = ComputeUtil.computeAdd(targetMember.getMonthConsumePv(), ComputeUtil.computeSubtract(targetMember.getTeamMonthPv(), consumeBigPv));
|
||||||
// if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getShareCommunityCheck())) {
|
// if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getShareCommunityCheck())) {
|
||||||
// // 小区业绩 >= 小区考核业绩
|
// // 小区业绩 >= 小区考核业绩
|
||||||
// if (bdAwards.getPlaceDeptNum() > 0) {
|
// if (bdAwards.getPlaceDeptNum() > 0) {
|
||||||
|
|
@ -1155,10 +1364,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// targetMember.setPkAwards(bdAwards.getPkId());
|
// targetMember.setPkAwards(bdAwards.getPkId());
|
||||||
// continue;
|
// continue;
|
||||||
// }
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
break;
|
// break;
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -59,8 +59,15 @@
|
||||||
<result column="AWARDS_VALUE" property="awardsValue"/>
|
<result column="AWARDS_VALUE" property="awardsValue"/>
|
||||||
<result column="AWARDS_NAME" property="awardsName"/>
|
<result column="AWARDS_NAME" property="awardsName"/>
|
||||||
<result column="RANGE_RATIO" property="rangeRatio"/>
|
<result column="RANGE_RATIO" property="rangeRatio"/>
|
||||||
|
<result column="MONTH_REPURCHASE_RATIO" property="monthRepurchaseRatio"/>
|
||||||
|
<result column="BENEFIT_AVG_RATIO" property="benefitAvgRatio"/>
|
||||||
|
<result column="BENEFIT_SHARE_RATIO" property="benefitShareRatio"/>
|
||||||
<result column="COACH_ALGEBRA" property="coachAlgebra"/>
|
<result column="COACH_ALGEBRA" property="coachAlgebra"/>
|
||||||
<result column="COACH_RATIO" property="coachRatio"/>
|
<result column="COACH_RATIO" property="coachRatio"/>
|
||||||
|
|
||||||
|
<result column="all_team_new_pv" property="allTeamNewPv"/>
|
||||||
|
<result column="all_team_consume_pv" property="allTeamConsumePv"/>
|
||||||
|
<result column="all_team_month_pv" property="allTeamMonthPv"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<update id="mergeMemberRetailRangeInit">
|
<update id="mergeMemberRetailRangeInit">
|
||||||
|
|
@ -827,6 +834,9 @@
|
||||||
bw.awards_value,
|
bw.awards_value,
|
||||||
bw.awards_name,
|
bw.awards_name,
|
||||||
bw.range_ratio,
|
bw.range_ratio,
|
||||||
|
bw.month_repurchase_ratio,
|
||||||
|
bw.benefit_avg_ratio,
|
||||||
|
bw.benefit_share_ratio,
|
||||||
bws.awards_value share_awards_value
|
bws.awards_value share_awards_value
|
||||||
from (
|
from (
|
||||||
select *
|
select *
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,21 @@ public class CuMemberRetailRangeExt extends CuMemberRetailRange {
|
||||||
*/
|
*/
|
||||||
private BigDecimal rangeRatio;
|
private BigDecimal rangeRatio;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复购级差比例
|
||||||
|
*/
|
||||||
|
private BigDecimal monthRepurchaseRatio;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分红平均比例
|
||||||
|
*/
|
||||||
|
private BigDecimal benefitAvgRatio;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分红加权比例
|
||||||
|
*/
|
||||||
|
private BigDecimal benefitShareRatio;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 小区业绩
|
* 小区业绩
|
||||||
*/
|
*/
|
||||||
|
|
@ -54,7 +69,32 @@ public class CuMemberRetailRangeExt extends CuMemberRetailRange {
|
||||||
*/
|
*/
|
||||||
private BigDecimal coachRatio;
|
private BigDecimal coachRatio;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 团队累计消费pv(不管激活,全累计) -- 日结使用
|
||||||
|
*/
|
||||||
|
private BigDecimal allTeamConsumePv;
|
||||||
|
/**
|
||||||
|
* 团队月累计消费pv(不管激活,全累计) -- 日结使用
|
||||||
|
*/
|
||||||
|
private BigDecimal allTeamMonthPv;
|
||||||
|
|
||||||
// 秒结 start
|
// 秒结 start
|
||||||
|
/**
|
||||||
|
* 本日-个人所有新增金额
|
||||||
|
*/
|
||||||
|
private BigDecimal allConsumeNewAmount;
|
||||||
|
/**
|
||||||
|
* 本日-个人所有新增业绩
|
||||||
|
*/
|
||||||
|
private BigDecimal allConsumeNewPv;
|
||||||
|
/**
|
||||||
|
* 本日-团队所有新增金额
|
||||||
|
*/
|
||||||
|
private BigDecimal allTeamNewAmount;
|
||||||
|
/**
|
||||||
|
* 本日-团队所有新增业绩
|
||||||
|
*/
|
||||||
|
private BigDecimal allTeamNewPv;
|
||||||
/**
|
/**
|
||||||
* 本日-个人注册(精品专区)新增金额
|
* 本日-个人注册(精品专区)新增金额
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -171,16 +171,44 @@ public class BdAwards extends BaseEntity {
|
||||||
private BigDecimal totalCheck;
|
private BigDecimal totalCheck;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 领导奖级差比例
|
* 分红小区考核PV
|
||||||
|
*/
|
||||||
|
@TableField("SHARE_COMMUNITY_CHECK")
|
||||||
|
private BigDecimal shareCommunityCheck;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分红小区考核结束PV
|
||||||
|
*/
|
||||||
|
@TableField("SHARE_COMMUNITY_CHECK_END")
|
||||||
|
private BigDecimal shareCommunityCheckEnd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分红累计业绩
|
||||||
|
*/
|
||||||
|
@TableField("SHARE_TOTAL_CHECK")
|
||||||
|
private BigDecimal shareTotalCheck;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 福利级差比例 -- 月度级差
|
||||||
*/
|
*/
|
||||||
@TableField("RANGE_RATIO")
|
@TableField("RANGE_RATIO")
|
||||||
private BigDecimal rangeRatio;
|
private BigDecimal rangeRatio;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 领导奖平级比例
|
* 复购级差比例 -- 月度复购级差
|
||||||
*/
|
*/
|
||||||
@TableField("SAME_LEVEL_RATIO")
|
@TableField("MONTH_REPURCHASE_RATIO")
|
||||||
private BigDecimal sameLevelRatio;
|
private BigDecimal monthRepurchaseRatio;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 福利平均比例 -- 月度分红平均
|
||||||
|
*/
|
||||||
|
@TableField("BENEFIT_AVG_RATIO")
|
||||||
|
private BigDecimal benefitAvgRatio;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 福利加权比例 -- 月度分红加权
|
||||||
|
*/
|
||||||
|
@TableField("BENEFIT_SHARE_RATIO")
|
||||||
|
private BigDecimal benefitShareRatio;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue