| 
						
					 | 
					 | 
					@ -65,6 +65,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @DubboReference
 | 
					 | 
					 | 
					 | 
					    @DubboReference
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ICuMemberServiceLogServiceApi iCuMemberServiceLogServiceApi;
 | 
					 | 
					 | 
					 | 
					    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)
 | 
					 | 
					 | 
					 | 
					        // 遍历团队等级map(V4,V5)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        for (Integer gradeValue : retailTeamGradeMap.keySet()) {
 | 
					 | 
					 | 
					 | 
					        for (Integer gradeValue : retailTeamGradeMap.keySet()) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            BdGrade bdGrade = retailTeamGradeMap.get(gradeValue);
 | 
					 | 
					 | 
					 | 
					            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()
 | 
					 | 
					 | 
					 | 
					            if (bdGrade.getGradeValue() > targetMemberRangeExt.getGradeValue()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    && bdGrade.getBoxTotal().compareTo(
 | 
					 | 
					 | 
					 | 
					                    && boxTotal.compareTo(
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum())
 | 
					 | 
					 | 
					 | 
					                    targetMemberRangeExt.getTeamBoxNum().add(targetMemberRangeExt.getConsumeBoxNum()).add(targetMemberRangeExt.getBigBoxNum()).add(targetMemberRangeExt.getSmallBoxNum())
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            ) <= 0
 | 
					 | 
					 | 
					 | 
					            ) <= 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);
 | 
					 | 
					 | 
					 | 
					                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);
 | 
					 | 
					 | 
					 | 
					                    CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    cuMemberGradeList.add(cuMemberGrade);
 | 
					 | 
					 | 
					 | 
					                    cuMemberGradeList.add(cuMemberGrade);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
					 | 
					 | 
					@ -955,8 +983,25 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // 遍历团队等级map(V4,V5)
 | 
					 | 
					 | 
					 | 
					        // 遍历团队等级map(V4,V5)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        for (Integer gradeValue : retailTeamGradeMap.keySet()) {
 | 
					 | 
					 | 
					 | 
					        for (Integer gradeValue : retailTeamGradeMap.keySet()) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            BdGrade bdGrade = retailTeamGradeMap.get(gradeValue);
 | 
					 | 
					 | 
					 | 
					            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;
 | 
					 | 
					 | 
					 | 
					                List<CuMemberRetailRangeExt> cuMemberRangeExtList;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                if (secondRangeTableName != null) {
 | 
					 | 
					 | 
					 | 
					                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);
 | 
					 | 
					 | 
					 | 
					                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);
 | 
					 | 
					 | 
					 | 
					                    CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    cuMemberGradeMap.put(cuMemberGrade.getPkMember() + "_" + cuMemberGrade.getNewLevel(), cuMemberGrade);
 | 
					 | 
					 | 
					 | 
					                    cuMemberGradeMap.put(cuMemberGrade.getPkMember() + "_" + cuMemberGrade.getNewLevel(), cuMemberGrade);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
					 | 
					 | 
					@ -1124,7 +1169,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					//        // 直推级差收益
 | 
					 | 
					 | 
					 | 
					//        // 直推级差收益
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					//        BigDecimal calBonusIncome = BigDecimal.ZERO;
 | 
					 | 
					 | 
					 | 
					//        BigDecimal calBonusIncome = BigDecimal.ZERO;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // 商品最终价格
 | 
					 | 
					 | 
					 | 
					        // 商品最终价格(总价,带数量的价格)
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        BigDecimal waresPrice = saOrderItems.getWaresPrice();
 | 
					 | 
					 | 
					 | 
					        BigDecimal waresPrice = saOrderItems.getWaresPrice();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // 商品数量
 | 
					 | 
					 | 
					 | 
					        // 商品数量
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        BigDecimal waresQuantityBig = saOrderItems.getWaresQuantity();
 | 
					 | 
					 | 
					 | 
					        BigDecimal waresQuantityBig = saOrderItems.getWaresQuantity();
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
					 | 
					 | 
					@ -1168,20 +1213,20 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if (beforeGradeValue == 0) {
 | 
					 | 
					 | 
					 | 
					            if (beforeGradeValue == 0) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                // 前一个会员等级为0,肯定为第一次处理,直接处理直推级差收益
 | 
					 | 
					 | 
					 | 
					                // 前一个会员等级为0,肯定为第一次处理,直接处理直推级差收益
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                if (EGrade.HAI_FAN.getValue() == calGradeValue) {
 | 
					 | 
					 | 
					 | 
					                if (EGrade.HAI_FAN.getValue() == calGradeValue) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    // VIP,拿1份40
 | 
					 | 
					 | 
					 | 
					                    // VIP,拿 1 份 10%
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig);
 | 
					 | 
					 | 
					 | 
					                    rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresPrice);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                } else if (EGrade.YOU_KE.getValue() == calGradeValue) {
 | 
					 | 
					 | 
					 | 
					                } else if (EGrade.YOU_KE.getValue() == calGradeValue) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    // SVIP,拿2份40
 | 
					 | 
					 | 
					 | 
					                    // SVIP,拿 2 份 10%
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal("2"));
 | 
					 | 
					 | 
					 | 
					                    rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresPrice).multiply(new BigDecimal("2"));
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                } else if (EGrade.MAKER.getValue() == calGradeValue) {
 | 
					 | 
					 | 
					 | 
					                } else if (EGrade.MAKER.getValue() == calGradeValue) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    // 卓越,拿3份40
 | 
					 | 
					 | 
					 | 
					                    // 卓越,拿 3 份 10%
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal("3"));
 | 
					 | 
					 | 
					 | 
					                    rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresPrice).multiply(new BigDecimal("3"));
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                } else if (EGrade.VIP.getValue() == calGradeValue) {
 | 
					 | 
					 | 
					 | 
					                } else if (EGrade.VIP.getValue() == calGradeValue) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    // 首席,拿4份40
 | 
					 | 
					 | 
					 | 
					                    // 首席,拿 4 份 10%
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal("4"));
 | 
					 | 
					 | 
					 | 
					                    rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresPrice).multiply(new BigDecimal("4"));
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                } else if (EGrade.S_VIP.getValue() == calGradeValue) {
 | 
					 | 
					 | 
					 | 
					                } else if (EGrade.S_VIP.getValue() == calGradeValue) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    // 合伙人,拿5份40
 | 
					 | 
					 | 
					 | 
					                    // 合伙人,拿 5 份 10%
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal("5"));
 | 
					 | 
					 | 
					 | 
					                    rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresPrice).multiply(new BigDecimal("5"));
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                }
 | 
					 | 
					 | 
					 | 
					                }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                // 赋值前一个会员等级
 | 
					 | 
					 | 
					 | 
					                // 赋值前一个会员等级
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                beforeGradeValue = calGradeValue;
 | 
					 | 
					 | 
					 | 
					                beforeGradeValue = calGradeValue;
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
					 | 
					 | 
					@ -1210,7 +1255,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                int tmpGradeVal = (calGradeValue - beforeGradeValue) / 10;
 | 
					 | 
					 | 
					 | 
					                int tmpGradeVal = (calGradeValue - beforeGradeValue) / 10;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                // 新等级的直推级差收益
 | 
					 | 
					 | 
					 | 
					                // 新等级的直推级差收益
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresQuantityBig).multiply(new BigDecimal(tmpGradeVal));
 | 
					 | 
					 | 
					 | 
					                rangeBonusIncome = RetailConstants.RANGE_BONUS.multiply(waresPrice).multiply(new BigDecimal(tmpGradeVal));
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                // 直推级差收益 = 新等级的直推级差收益 - 上一等级的平级收益
 | 
					 | 
					 | 
					 | 
					                // 直推级差收益 = 新等级的直推级差收益 - 上一等级的平级收益
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                rangeBonusIncome = rangeBonusIncome.subtract(beforeSameBonus);
 | 
					 | 
					 | 
					 | 
					                rangeBonusIncome = rangeBonusIncome.subtract(beforeSameBonus);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
					 | 
					 | 
					
 
 |