parent
a1e5f53b45
commit
840f2b754f
|
@ -65,6 +65,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
@DubboReference
|
||||
ICuMemberServiceLogServiceApi iCuMemberServiceLogServiceApi;
|
||||
|
||||
/**
|
||||
* 特殊体系PK_ID: 150
|
||||
* V4:总 500,小 100
|
||||
* V5:总 2000,小 400
|
||||
*/
|
||||
public static final Long VERTEX_PK_ID = 150L;
|
||||
public static final BigDecimal VERTEX_V4_TOTAL_BOX = new BigDecimal("500");
|
||||
public static final BigDecimal VERTEX_V4_SMALL_BOX = new BigDecimal("100");
|
||||
public static final BigDecimal VERTEX_V5_TOTAL_BOX = new BigDecimal("2000");
|
||||
public static final BigDecimal VERTEX_V5_SMALL_BOX = new BigDecimal("400");
|
||||
|
||||
/**
|
||||
* 秒结:
|
||||
* 实时计算秒结数据(业绩、盒数、等级、奖衔、日奖)
|
||||
|
@ -723,10 +734,27 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
// 遍历团队等级map(V4,V5)
|
||||
for (Integer gradeValue : retailTeamGradeMap.keySet()) {
|
||||
BdGrade bdGrade = retailTeamGradeMap.get(gradeValue);
|
||||
// 等级总盒数
|
||||
BigDecimal boxTotal = bdGrade.getBoxTotal();
|
||||
// 等级小市场盒数
|
||||
BigDecimal boxSmallTotal = bdGrade.getBoxSmallTotal();
|
||||
|
||||
if (VERTEX_PK_ID.equals(targetMemberRangeExt.getPkVertex())) {
|
||||
// TODO 需要根据配置写死的体系,进行单独处理
|
||||
// V4: 总 500,小 100
|
||||
// V5: 总 2000,小 400
|
||||
if (EGrade.VIP.getValue() == bdGrade.getGradeValue()) {
|
||||
boxTotal = VERTEX_V4_TOTAL_BOX;
|
||||
boxSmallTotal = VERTEX_V4_SMALL_BOX;
|
||||
} else if (EGrade.S_VIP.getValue() == bdGrade.getGradeValue()) {
|
||||
boxTotal = VERTEX_V5_TOTAL_BOX;
|
||||
boxSmallTotal = VERTEX_V5_SMALL_BOX;
|
||||
}
|
||||
}
|
||||
|
||||
// 如果等级值 大于 当前会员等级值 并且 等级要求累计盒数 小于等于 团队累计盒数 + 累计消费盒数 + 大区注水 + 小区注水,则可以进行升级
|
||||
if (bdGrade.getGradeValue() > targetMemberRangeExt.getGradeValue()
|
||||
&& bdGrade.getBoxTotal().compareTo(
|
||||
&& boxTotal.compareTo(
|
||||
targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum())
|
||||
) <= 0
|
||||
) {
|
||||
|
@ -766,7 +794,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
|
||||
// 小区盒数(团队累计盒数 + 自消费累计盒数 + 两个注水虚拟盒数 - 大市场盒数)
|
||||
BigDecimal smallBoxNum = targetMemberRangeExt.getAllTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()).subtract(bigBoxNum);
|
||||
if (smallBoxNum.compareTo(bdGrade.getBoxSmallTotal()) >= 0) {
|
||||
if (smallBoxNum.compareTo(boxSmallTotal) >= 0) {
|
||||
// 小区盒数 大于等于 升级小区盒数
|
||||
CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade);
|
||||
cuMemberGradeList.add(cuMemberGrade);
|
||||
|
@ -955,8 +983,25 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
// 遍历团队等级map(V4,V5)
|
||||
for (Integer gradeValue : retailTeamGradeMap.keySet()) {
|
||||
BdGrade bdGrade = retailTeamGradeMap.get(gradeValue);
|
||||
// 等级总盒数
|
||||
BigDecimal boxTotal = bdGrade.getBoxTotal();
|
||||
// 等级小市场盒数
|
||||
BigDecimal boxSmallTotal = bdGrade.getBoxSmallTotal();
|
||||
|
||||
if (bdGrade.getBoxTotal().compareTo(targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum())) <= 0) {
|
||||
if (VERTEX_PK_ID.equals(targetMemberRangeExt.getPkVertex())) {
|
||||
// TODO 需要根据配置写死的体系,进行单独处理
|
||||
// V4: 总 500,小 100
|
||||
// V5: 总 2000,小 400
|
||||
if (EGrade.VIP.getValue() == bdGrade.getGradeValue()) {
|
||||
boxTotal = VERTEX_V4_TOTAL_BOX;
|
||||
boxSmallTotal = VERTEX_V4_SMALL_BOX;
|
||||
} else if (EGrade.S_VIP.getValue() == bdGrade.getGradeValue()) {
|
||||
boxTotal = VERTEX_V5_TOTAL_BOX;
|
||||
boxSmallTotal = VERTEX_V5_SMALL_BOX;
|
||||
}
|
||||
}
|
||||
|
||||
if (boxTotal.compareTo(targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum())) <= 0) {
|
||||
// 验证小区,计算小区累计盒数 查询伞下会员
|
||||
List<CuMemberRetailRangeExt> cuMemberRangeExtList;
|
||||
if (secondRangeTableName != null) {
|
||||
|
@ -993,7 +1038,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
|
||||
// 小区盒数(团队累计盒数 + 自消费累计盒数 + 两个注水虚拟盒数 - 大市场盒数)
|
||||
BigDecimal smallBoxNum = targetMemberRangeExt.getAllTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum()).subtract(bigBoxNum);
|
||||
if (smallBoxNum.compareTo(bdGrade.getBoxSmallTotal()) >= 0) {
|
||||
if (smallBoxNum.compareTo(boxSmallTotal) >= 0) {
|
||||
// 小区盒数 大于等于 升级小区盒数
|
||||
CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade);
|
||||
cuMemberGradeMap.put(cuMemberGrade.getPkMember() + "_" + cuMemberGrade.getNewLevel(), cuMemberGrade);
|
||||
|
|
Loading…
Reference in New Issue