Compare commits
	
		
			5 Commits
		
	
	
		
			9cd46910cb
			...
			e6f247670e
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								
								 | 
						e6f247670e | |
| 
							
							
								
								 | 
						97a5e59239 | |
| 
							
							
								
								 | 
						413db854cb | |
| 
							
							
								
								 | 
						5fac72f129 | |
| 
							
							
								
								 | 
						a6532f8a8f | 
| 
						 | 
				
			
			@ -163,43 +163,43 @@ public abstract class BonusSettleHandle {
 | 
			
		|||
                    .pkRate(pkRate)
 | 
			
		||||
                    .incomeStatus(incomeStatus)
 | 
			
		||||
                    .directIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .expandIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .expandNoCapping(BigDecimal.ZERO)
 | 
			
		||||
//                    .expandCapping(BigDecimal.ZERO)
 | 
			
		||||
//                    .coachIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .shareIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .serviceIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .backPoints(BigDecimal.ZERO)
 | 
			
		||||
//                    .serviceSpend(BigDecimal.ZERO)
 | 
			
		||||
//                    .purRealSubtotal(BigDecimal.ZERO)
 | 
			
		||||
//                    .repurPushIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .repurRangeIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .repurExpandIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .repurRealSubtotal(BigDecimal.ZERO)
 | 
			
		||||
//                    .cloudDirectIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .cloudPurIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .cloudRepurIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .cloudRealSubtotal(BigDecimal.ZERO)
 | 
			
		||||
//                    .repurCoupon(BigDecimal.ZERO)
 | 
			
		||||
//                    .repurCouponShare(BigDecimal.ZERO)
 | 
			
		||||
//                    .repurCouponSubtotal(BigDecimal.ZERO)
 | 
			
		||||
                    .expandIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .expandNoCapping(BigDecimal.ZERO)
 | 
			
		||||
                    .expandCapping(BigDecimal.ZERO)
 | 
			
		||||
                    .coachIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .shareIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .serviceIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .backPoints(BigDecimal.ZERO)
 | 
			
		||||
                    .serviceSpend(BigDecimal.ZERO)
 | 
			
		||||
                    .purRealSubtotal(BigDecimal.ZERO)
 | 
			
		||||
                    .repurPushIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .repurRangeIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .repurExpandIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .repurRealSubtotal(BigDecimal.ZERO)
 | 
			
		||||
                    .cloudDirectIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .cloudPurIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .cloudRepurIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .cloudRealSubtotal(BigDecimal.ZERO)
 | 
			
		||||
                    .repurCoupon(BigDecimal.ZERO)
 | 
			
		||||
                    .repurCouponShare(BigDecimal.ZERO)
 | 
			
		||||
                    .repurCouponSubtotal(BigDecimal.ZERO)
 | 
			
		||||
                    .globalPoints(BigDecimal.ZERO)
 | 
			
		||||
//                    .carAwardPoints(BigDecimal.ZERO)
 | 
			
		||||
//                    .hiFunIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .haiFunIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .carAwardPoints(BigDecimal.ZERO)
 | 
			
		||||
                    .hiFunIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .haiFunIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .storeIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .makerDirectIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .makerShareIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .makerRealSubtotal(BigDecimal.ZERO)
 | 
			
		||||
                    .makerDirectIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .makerShareIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .makerRealSubtotal(BigDecimal.ZERO)
 | 
			
		||||
                    .realIncomeTotal(BigDecimal.ZERO)
 | 
			
		||||
//                    .retailRangeIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .retailSameLevelIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .retailAreaIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .retailBenefitRangeIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .retailMonthRepurchaseIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .retailBenefitAvgIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .retailBenefitIncome(BigDecimal.ZERO)
 | 
			
		||||
//                    .retailRealSubtotal(BigDecimal.ZERO)
 | 
			
		||||
                    .retailRangeIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .retailSameLevelIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .retailAreaIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .retailBenefitRangeIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .retailMonthRepurchaseIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .retailBenefitAvgIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .retailBenefitIncome(BigDecimal.ZERO)
 | 
			
		||||
                    .retailRealSubtotal(BigDecimal.ZERO)
 | 
			
		||||
                    .build();
 | 
			
		||||
            cuMemberBonus.setPkCreator(MagicNumberConstants.PK_ADMIN);
 | 
			
		||||
            cuMemberBonus.setPkCountry(pkCountry);
 | 
			
		||||
| 
						 | 
				
			
			@ -223,8 +223,8 @@ public abstract class BonusSettleHandle {
 | 
			
		|||
            backRatio = bdBonusDeduct.getBackRatio();
 | 
			
		||||
            platformRatio = bdBonusDeduct.getPlatformRatio();
 | 
			
		||||
        }
 | 
			
		||||
//        cuMemberBonus.setBackPoints(ComputeUtil.computeAdd(cuMemberBonus.getBackPoints(), ComputeUtil.computeBonusMultiply(pretaxIncome, backRatio)));
 | 
			
		||||
//        cuMemberBonus.setServiceSpend(ComputeUtil.computeAdd(cuMemberBonus.getServiceSpend(), ComputeUtil.computeBonusMultiply(pretaxIncome, platformRatio)));
 | 
			
		||||
        cuMemberBonus.setBackPoints(ComputeUtil.computeAdd(cuMemberBonus.getBackPoints(), ComputeUtil.computeBonusMultiply(pretaxIncome, backRatio)));
 | 
			
		||||
        cuMemberBonus.setServiceSpend(ComputeUtil.computeAdd(cuMemberBonus.getServiceSpend(), ComputeUtil.computeBonusMultiply(pretaxIncome, platformRatio)));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			@ -233,7 +233,7 @@ public abstract class BonusSettleHandle {
 | 
			
		|||
    protected void setRetailTotal(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) {
 | 
			
		||||
        setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail);
 | 
			
		||||
        BigDecimal realIncome = ReflectUtils.invokeGetter(bonusDetail, BonusFieldConstants.REAL_INCOME);
 | 
			
		||||
//        cuMemberBonus.setRetailRealSubtotal(ComputeUtil.computeAdd(cuMemberBonus.getRetailRealSubtotal(), realIncome));
 | 
			
		||||
        cuMemberBonus.setRetailRealSubtotal(ComputeUtil.computeAdd(cuMemberBonus.getRetailRealSubtotal(), realIncome));
 | 
			
		||||
        cuMemberBonus.setRealIncomeTotal(ComputeUtil.computeAdd(cuMemberBonus.getRealIncomeTotal(), realIncome));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -366,9 +366,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
			
		|||
            // TODO 处理升三阶段点位
 | 
			
		||||
            if (CollectionUtil.isNotEmpty(stageList)) {
 | 
			
		||||
                List<Long> stageMemberList = stageList.stream().map(CuMemberRetailDetail::getPkMember).collect(Collectors.toList());
 | 
			
		||||
                // 查询血缘会员明细数据(三段)
 | 
			
		||||
                // 查询血缘会员明细数据(三阶段)
 | 
			
		||||
                iCuMemberRetailDetailService.listMemberRetailDetail(rangeDetailTableName, memberRangeExtMap, EBonusStage.THREE, stageMemberList);
 | 
			
		||||
                // 二阶段收益
 | 
			
		||||
                // 三阶段收益
 | 
			
		||||
                this.calculateStageIncomeTwoThree(cuMemberBonusStageList, cuMemberBonusMap, bonusConfigDTO, period,
 | 
			
		||||
                        memberRangeExtMap, settleStartDate, rangeTableName, rangeDetailTableName, EBonusStage.THREE, stageList);
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -1003,6 +1003,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
			
		|||
                    .pointType(EBonusStageType.NORMAL.getValue())
 | 
			
		||||
                    .pointGift(0)
 | 
			
		||||
                    .creationTime(settleDate)
 | 
			
		||||
                    .thirdBonus1(0)
 | 
			
		||||
                    .thirdBonus2(0)
 | 
			
		||||
                    .thirdBonus3(0)
 | 
			
		||||
                    .updateBool(0)
 | 
			
		||||
                    .build();
 | 
			
		||||
            detailList.put(newRetailDetail.getChildNode(), newRetailDetail);
 | 
			
		||||
| 
						 | 
				
			
			@ -1028,7 +1031,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
			
		|||
            // 订单会员
 | 
			
		||||
            CuMemberRetailRangeExt sourceMember = memberRangeExtMap.get(memberRetailDetail.getPkMember());
 | 
			
		||||
            if (null == sourceMember) {
 | 
			
		||||
                log.error("阶段收益处理失败,{}会员不存在. pkMember: {}", eBonusStage.getLabel(), memberRetailDetail.getPkMember());
 | 
			
		||||
                log.error("阶段收益处理失败,{} 会员不存在. pkMember: {}", eBonusStage.getLabel(), memberRetailDetail.getPkMember());
 | 
			
		||||
                return returnRetailDetailList;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1135,7 +1138,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
 | 
			
		|||
                    targetMember.getThreeDetailMap().put(threeRetailDetail.getChildNode(), threeRetailDetail);
 | 
			
		||||
                    returnRetailDetailList.add(threeRetailDetail);
 | 
			
		||||
                } else if (EBonusStage.THREE.getValue() == bonusStageData.getStage()) {
 | 
			
		||||
                    // TODO 三阶段需要赠送点位
 | 
			
		||||
                    // TODO 三阶段填充满,判断是否需要赠送点位
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -308,6 +308,9 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
 | 
			
		|||
                                    .pointType(targetRetailDetail.getPointType())
 | 
			
		||||
                                    .pointGift(targetRetailDetail.getPointGift())
 | 
			
		||||
                                    .creationTime(settleDate)
 | 
			
		||||
                                    .thirdBonus1(0)
 | 
			
		||||
                                    .thirdBonus2(0)
 | 
			
		||||
                                    .thirdBonus3(0)
 | 
			
		||||
                                    .updateBool(0)
 | 
			
		||||
                                    .build());
 | 
			
		||||
                            bonusStageDataList.add(bonusStageData);
 | 
			
		||||
| 
						 | 
				
			
			@ -330,6 +333,9 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
 | 
			
		|||
                                    .pointType(targetRetailDetail.getPointType())
 | 
			
		||||
                                    .pointGift(targetRetailDetail.getPointGift())
 | 
			
		||||
                                    .creationTime(settleDate)
 | 
			
		||||
                                    .thirdBonus1(0)
 | 
			
		||||
                                    .thirdBonus2(0)
 | 
			
		||||
                                    .thirdBonus3(0)
 | 
			
		||||
                                    .updateBool(0)
 | 
			
		||||
                                    .build());
 | 
			
		||||
                            bonusStageDataList.add(bonusStageData);
 | 
			
		||||
| 
						 | 
				
			
			@ -339,12 +345,94 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
 | 
			
		|||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
            // TODO 三阶段发放特殊处理
 | 
			
		||||
            // TODO 三阶段填充满,判断是否需要赠送点位
 | 
			
		||||
            // 三阶段发放特殊处理
 | 
			
		||||
            switch (point) {
 | 
			
		||||
                case BonusConstants.POINT_11:
 | 
			
		||||
                case BonusConstants.POINT_12:
 | 
			
		||||
                    // 一阶段填满就给奖金
 | 
			
		||||
                    if (targetRetailDetail.getThirdBonus1() < 1) {
 | 
			
		||||
                        if (null != ReflectUtil.getFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_11)
 | 
			
		||||
                                && null != ReflectUtil.getFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_12)
 | 
			
		||||
                        ) {
 | 
			
		||||
                            // 第一层满,需要发放奖金
 | 
			
		||||
                            BonusStageData bonusStageData = BonusStageData.builder()
 | 
			
		||||
                                    .bonusIncome(BonusConstants.THREE_BONUS_1)
 | 
			
		||||
                                    .targetPkMember(targetRetailDetail.getPkMember())
 | 
			
		||||
                                    .targetChildNode(targetRetailDetail.getChildNode())
 | 
			
		||||
                                    .stage(eBonusStage.getValue())
 | 
			
		||||
                                    .stageNum(2)
 | 
			
		||||
                                    .build();
 | 
			
		||||
                            bonusStageDataList.add(bonusStageData);
 | 
			
		||||
                            // 第一层发放过1次
 | 
			
		||||
                            targetRetailDetail.setThirdBonus1(1);
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    break;
 | 
			
		||||
                case BonusConstants.POINT_21:
 | 
			
		||||
                case BonusConstants.POINT_22:
 | 
			
		||||
                case BonusConstants.POINT_23:
 | 
			
		||||
                case BonusConstants.POINT_24:
 | 
			
		||||
                    // 二阶段填满就给奖金
 | 
			
		||||
                    if (targetRetailDetail.getThirdBonus2() < 1) {
 | 
			
		||||
                        if (null != ReflectUtil.getFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_21)
 | 
			
		||||
                                && null != ReflectUtil.getFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_22)
 | 
			
		||||
                                && null != ReflectUtil.getFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_23)
 | 
			
		||||
                                && null != ReflectUtil.getFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + BonusConstants.POINT_24)
 | 
			
		||||
                        ) {
 | 
			
		||||
                            // 第二层满,需要发放奖金
 | 
			
		||||
                            BonusStageData bonusStageData = BonusStageData.builder()
 | 
			
		||||
                                    .bonusIncome(BonusConstants.THREE_BONUS_2)
 | 
			
		||||
                                    .targetPkMember(targetRetailDetail.getPkMember())
 | 
			
		||||
                                    .targetChildNode(targetRetailDetail.getChildNode())
 | 
			
		||||
                                    .stage(eBonusStage.getValue())
 | 
			
		||||
                                    .stageNum(4)
 | 
			
		||||
                                    .build();
 | 
			
		||||
                            bonusStageDataList.add(bonusStageData);
 | 
			
		||||
                            // 第二层发放过1次
 | 
			
		||||
                            targetRetailDetail.setThirdBonus2(1);
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    break;
 | 
			
		||||
                case BonusConstants.POINT_31:
 | 
			
		||||
                case BonusConstants.POINT_32:
 | 
			
		||||
                case BonusConstants.POINT_33:
 | 
			
		||||
                case BonusConstants.POINT_34:
 | 
			
		||||
                case BonusConstants.POINT_35:
 | 
			
		||||
                case BonusConstants.POINT_36:
 | 
			
		||||
                case BonusConstants.POINT_37:
 | 
			
		||||
                case BonusConstants.POINT_38:
 | 
			
		||||
                    // 三阶段填每个点位都给奖金,8个全满给的多
 | 
			
		||||
                    if (targetRetailDetail.getThirdBonus3() < 8) {
 | 
			
		||||
                        int tmpInt = 0;
 | 
			
		||||
                        for (String suffix : BonusConstants.THREE_FIELD_LIST) {
 | 
			
		||||
                            if (null != ReflectUtil.getFieldValue(targetRetailDetail, BonusConstants.POINT_MEMBER_FIELD_NAME + suffix)) {
 | 
			
		||||
                                tmpInt += 1;
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                        if (tmpInt - targetRetailDetail.getThirdBonus3() == 1) {
 | 
			
		||||
                            // 默认第三层前7个点位奖金
 | 
			
		||||
                            BigDecimal bonus = BonusConstants.THREE_BONUS_3;
 | 
			
		||||
                            if (tmpInt == 8) {
 | 
			
		||||
                                // 第三层第8个点位
 | 
			
		||||
                                bonus = BonusConstants.THREE_BONUS_38;
 | 
			
		||||
 | 
			
		||||
                                // 三层全满
 | 
			
		||||
                                targetRetailDetail.setStageStatus(EBonusStageStatus.YES.getValue());
 | 
			
		||||
                                targetRetailDetail.setStageDate(settleDate);
 | 
			
		||||
                                // TODO 三阶段填充满,判断是否需要赠送点位
 | 
			
		||||
 | 
			
		||||
                            }
 | 
			
		||||
                            BonusStageData bonusStageData = BonusStageData.builder()
 | 
			
		||||
                                    .bonusIncome(bonus)
 | 
			
		||||
                                    .targetPkMember(targetRetailDetail.getPkMember())
 | 
			
		||||
                                    .targetChildNode(targetRetailDetail.getChildNode())
 | 
			
		||||
                                    .stage(eBonusStage.getValue())
 | 
			
		||||
                                    .stageNum(tmpInt)
 | 
			
		||||
                                    .build();
 | 
			
		||||
                            bonusStageDataList.add(bonusStageData);
 | 
			
		||||
                            targetRetailDetail.setThirdBonus3(tmpInt);
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -550,8 +638,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
 | 
			
		|||
        if (null != secondMemberRetail) {
 | 
			
		||||
            CuMemberRetailDetail memberDetail = this.getRetailDetailMap(secondMemberRetail, eBonusStage).get(downSecondPoint);
 | 
			
		||||
            if (null != memberDetail) {
 | 
			
		||||
                newRetailDetail.setPointMemberSecond(newParentRetailDetail.getPkMember());
 | 
			
		||||
                newRetailDetail.setPointSecond(newParentRetailDetail.getChildNode());
 | 
			
		||||
                newRetailDetail.setPointMemberSecond(memberDetail.getPkMember());
 | 
			
		||||
                newRetailDetail.setPointSecond(memberDetail.getChildNode());
 | 
			
		||||
                this.fillDownTargetRetailDetail(memberDetail, newRetailDetail, newNode, 2, settleDate, eBonusStage,
 | 
			
		||||
                        bonusStageDataList);
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -562,8 +650,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
 | 
			
		|||
        if (null != firstMemberRetail) {
 | 
			
		||||
            CuMemberRetailDetail memberDetail = this.getRetailDetailMap(firstMemberRetail, eBonusStage).get(downFirstPoint);
 | 
			
		||||
            if (null != memberDetail) {
 | 
			
		||||
                newRetailDetail.setPointMemberFirst(newParentRetailDetail.getPkMember());
 | 
			
		||||
                newRetailDetail.setPointFirst(newParentRetailDetail.getChildNode());
 | 
			
		||||
                newRetailDetail.setPointMemberFirst(memberDetail.getPkMember());
 | 
			
		||||
                newRetailDetail.setPointFirst(memberDetail.getChildNode());
 | 
			
		||||
                this.fillDownTargetRetailDetail(memberDetail, newRetailDetail, newNode, 1, settleDate, eBonusStage,
 | 
			
		||||
                        bonusStageDataList);
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,293 +38,28 @@ public class BonusTotalVO implements Serializable {
 | 
			
		|||
     */
 | 
			
		||||
    private Integer pkCountry;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新零售直推收益
 | 
			
		||||
     * 注册直推收益-众康
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "直推收益", scale = 2)
 | 
			
		||||
    private BigDecimal retailRangeIncome;
 | 
			
		||||
    private BigDecimal directIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新零售平级收益
 | 
			
		||||
     * 阶段收益-众康
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "平级收益", scale = 2)
 | 
			
		||||
    private BigDecimal retailSameLevelIncome;
 | 
			
		||||
    @Excel(name = "阶段收益", scale = 2)
 | 
			
		||||
    private BigDecimal storeIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新零售区域分红
 | 
			
		||||
     * 复购见点收益-众康
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "区域分红", scale = 2)
 | 
			
		||||
    private BigDecimal retailAreaIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新零售福利级差收益
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "月度福利级差收益", scale = 2)
 | 
			
		||||
    private BigDecimal retailBenefitRangeIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新零售复购级差收益
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "月度复购级差收益", scale = 2)
 | 
			
		||||
    private BigDecimal retailMonthRepurchaseIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 培育津贴
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "培育津贴", scale = 2)
 | 
			
		||||
    private BigDecimal coachIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 福利分红平均收益
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "福利分红平均收益", scale = 2)
 | 
			
		||||
    private BigDecimal retailBenefitAvgIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 福利分红加权收益
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "福利分红加权收益", scale = 2)
 | 
			
		||||
    private BigDecimal retailBenefitIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购级差收益
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "复购级差收益", scale = 2)
 | 
			
		||||
    private BigDecimal repurRangeIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 重消收益
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "重消收益", scale = 2)
 | 
			
		||||
    private BigDecimal backPoints;
 | 
			
		||||
    @Excel(name = "见点收益", scale = 2)
 | 
			
		||||
    private BigDecimal globalPoints;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 实发收益总计
 | 
			
		||||
     */
 | 
			
		||||
    @Excel(name = "实发收益总计", scale = 2)
 | 
			
		||||
    private BigDecimal realIncomeTotal;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 直推收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal directIncomeOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 拓展收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal expandIncomeOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 拓展无封 (拓展收益按等级正常比例结算,并 拓展收益按等级正常比例结算 无封顶)
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal expandNoCappingOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 拓展封顶 (拓展收益按等级正常比例结算,不按4-N结算,根据配置的封顶值限制最大收益)
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal expandCappingOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 辅导收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal coachIncomeOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 分红收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal shareIncomeOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 报单收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal serviceIncomeOri;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 云代直推收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal cloudDirectIncomeOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 云代首购收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal cloudPurIncomeOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 云代复购收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal cloudRepurIncomeOri;
 | 
			
		||||
 | 
			
		||||
    private BigDecimal repurPushIncomeOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购拓展收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal repurExpandIncomeOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购券
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal repurCouponOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购券均分收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal repurCouponShareOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 平台服务费
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal serviceSpendOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 环球积分
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal globalPointsOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 车奖积分
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal carAwardPointsOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 店铺收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal storeIncomeOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 嗨粉推荐收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal hiFunIncomeOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 首购实发小计
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal purRealSubtotalOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 云代实发小计
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal cloudRealSubtotalOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购实发小计
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal repurRealSubtotalOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购券小计
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal repurCouponSubtotalOri;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 直推收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal directIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 拓展收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal expandIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 拓展无封 (拓展收益按等级正常比例结算,并 拓展收益按等级正常比例结算 无封顶)
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal expandNoCapping;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 拓展封顶 (拓展收益按等级正常比例结算,不按4-N结算,根据配置的封顶值限制最大收益)
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal expandCapping;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 分红收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal shareIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 报单收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal serviceIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 云代直推收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal cloudDirectIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 云代首购收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal cloudPurIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 云代复购收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal cloudRepurIncome;
 | 
			
		||||
 | 
			
		||||
    private BigDecimal repurPushIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购拓展收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal repurExpandIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购券
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal repurCoupon;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购券均分收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal repurCouponShare;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 平台服务费
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal serviceSpend;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 环球积分
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal globalPoints;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 车奖积分
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal carAwardPoints;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 店铺收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal storeIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 嗨粉推荐收益
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal hiFunIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 首购实发小计
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal purRealSubtotal;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 云代实发小计
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal cloudRealSubtotal;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购实发小计
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal repurRealSubtotal;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购券小计
 | 
			
		||||
     */
 | 
			
		||||
    private BigDecimal repurCouponSubtotal;
 | 
			
		||||
    private BigDecimal realIncomeTotalOri;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -52,8 +52,11 @@ public class BonusConstants {
 | 
			
		|||
    public static final String POINT_37 = "37";
 | 
			
		||||
    public static final String POINT_38 = "38";
 | 
			
		||||
 | 
			
		||||
    // 全部字段
 | 
			
		||||
    public static final List<String> FIELD_LIST = Arrays.asList(POINT_11, POINT_12, POINT_21, POINT_22, POINT_23, POINT_24,
 | 
			
		||||
            POINT_31, POINT_32, POINT_33, POINT_34, POINT_35, POINT_36, POINT_37, POINT_38);
 | 
			
		||||
    // 第三层字段
 | 
			
		||||
    public static final List<String> THREE_FIELD_LIST = Arrays.asList(POINT_31, POINT_32, POINT_33, POINT_34, POINT_35, POINT_36, POINT_37, POINT_38);
 | 
			
		||||
 | 
			
		||||
    // 会员ID字段
 | 
			
		||||
    public static final String POINT_MEMBER_FIELD_NAME = "pointMember";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -183,7 +183,7 @@
 | 
			
		|||
                         left join cu_member cm
 | 
			
		||||
                                   on cm.pk_id = x.pk_member
 | 
			
		||||
            ) b
 | 
			
		||||
            on (a.pk_member = b.pk_member and a.child_node = b.child_node)
 | 
			
		||||
            on (a.pk_member = b.pk_member and a.child_node = b.child_node and a.stage = b.stage)
 | 
			
		||||
            when not matched then
 | 
			
		||||
                insert (pk_member,
 | 
			
		||||
                        child_node,
 | 
			
		||||
| 
						 | 
				
			
			@ -280,7 +280,6 @@
 | 
			
		|||
            when matched then
 | 
			
		||||
                update set
 | 
			
		||||
                    a.pk_parent = b.pk_parent,
 | 
			
		||||
                    a.stage = b.stage,
 | 
			
		||||
                    a.stage_status = b.stage_status,
 | 
			
		||||
                    a.stage_date = b.stage_date,
 | 
			
		||||
                    a.point_11 = b.point_11,
 | 
			
		||||
| 
						 | 
				
			
			@ -385,11 +384,14 @@
 | 
			
		|||
            #{item.creationTime, jdbcType=TIMESTAMP} creation_time,
 | 
			
		||||
            #{item.pointFirst, jdbcType=NUMERIC} point_first, #{item.pointMemberFirst, jdbcType=NUMERIC} point_member_first,
 | 
			
		||||
            #{item.pointSecond, jdbcType=NUMERIC} point_second, #{item.pointMemberSecond, jdbcType=NUMERIC} point_member_second,
 | 
			
		||||
            #{item.pointThird, jdbcType=NUMERIC} point_third, #{item.pointMemberThird, jdbcType=NUMERIC} point_member_third
 | 
			
		||||
            #{item.pointThird, jdbcType=NUMERIC} point_third, #{item.pointMemberThird, jdbcType=NUMERIC} point_member_third,
 | 
			
		||||
            #{item.thirdBonus1, jdbcType=NUMERIC} third_bonus_1,
 | 
			
		||||
            #{item.thirdBonus2, jdbcType=NUMERIC} third_bonus_2,
 | 
			
		||||
            #{item.thirdBonus3, jdbcType=NUMERIC} third_bonus_3
 | 
			
		||||
            from dual
 | 
			
		||||
        </foreach>
 | 
			
		||||
        ) b
 | 
			
		||||
        on (a.pk_member = b.pk_member and a.child_node = b.child_node)
 | 
			
		||||
        on (a.pk_member = b.pk_member and a.child_node = b.child_node and a.stage = b.stage)
 | 
			
		||||
        when not matched then
 | 
			
		||||
        insert (pk_member, child_node, pk_parent,
 | 
			
		||||
        stage, stage_status, stage_date,
 | 
			
		||||
| 
						 | 
				
			
			@ -411,7 +413,8 @@
 | 
			
		|||
        creation_time,
 | 
			
		||||
        point_first, point_member_first,
 | 
			
		||||
        point_second, point_member_second,
 | 
			
		||||
        point_third, point_member_third)
 | 
			
		||||
        point_third, point_member_third,
 | 
			
		||||
        third_bonus_1, third_bonus_2, third_bonus_3)
 | 
			
		||||
        values (b.pk_member, b.child_node, b.pk_parent,
 | 
			
		||||
        b.stage, b.stage_status, b.stage_date,
 | 
			
		||||
        b.point_11, b.point_12,
 | 
			
		||||
| 
						 | 
				
			
			@ -432,10 +435,11 @@
 | 
			
		|||
        b.creation_time,
 | 
			
		||||
        b.point_first, b.point_member_first,
 | 
			
		||||
        b.point_second, b.point_member_second,
 | 
			
		||||
        b.point_third, b.point_member_third)
 | 
			
		||||
        b.point_third, b.point_member_third,
 | 
			
		||||
        b.third_bonus_1, b.third_bonus_2, b.third_bonus_3)
 | 
			
		||||
        when matched then
 | 
			
		||||
        update set
 | 
			
		||||
        a.stage = b.stage, a.stage_status = b.stage_status, a.stage_date = b.stage_date,
 | 
			
		||||
        a.stage_status = b.stage_status, a.stage_date = b.stage_date,
 | 
			
		||||
        a.point_11 = b.point_11, a.point_12 = b.point_12,
 | 
			
		||||
        a.point_21 = b.point_21, a.point_22 = b.point_22,
 | 
			
		||||
        a.point_23 = b.point_23, a.point_24 = b.point_24,
 | 
			
		||||
| 
						 | 
				
			
			@ -454,7 +458,8 @@
 | 
			
		|||
        a.creation_time = b.creation_time,
 | 
			
		||||
        a.point_first = b.point_first, a.point_member_first = b.point_member_first,
 | 
			
		||||
        a.point_second = b.point_second, a.point_member_second = b.point_member_second,
 | 
			
		||||
        a.point_third = b.point_third, a.point_member_third = b.point_member_third
 | 
			
		||||
        a.point_third = b.point_third, a.point_member_third = b.point_member_third,
 | 
			
		||||
        a.third_bonus_1 = b.third_bonus_1, a.third_bonus_2 = b.third_bonus_2, a.third_bonus_3 = b.third_bonus_3
 | 
			
		||||
    </update>
 | 
			
		||||
 | 
			
		||||
    <!-- 当前网体更新极差秒接表 -->
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -335,9 +335,9 @@
 | 
			
		|||
            point_second        NUMBER(8),
 | 
			
		||||
            point_member_third  NUMBER(20),
 | 
			
		||||
            point_third         NUMBER(8),
 | 
			
		||||
            third_bonus_1       NUMBER(8),
 | 
			
		||||
            third_bonus_2       NUMBER(8),
 | 
			
		||||
            third_bonus_3       NUMBER(8)
 | 
			
		||||
            third_bonus_1       NUMBER(8) default 0 not null,
 | 
			
		||||
            third_bonus_2       NUMBER(8) default 0 not null,
 | 
			
		||||
            third_bonus_3       NUMBER(8) default 0 not null
 | 
			
		||||
        )
 | 
			
		||||
    </update>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -375,6 +375,7 @@
 | 
			
		|||
            nvl( sum( cb.direct_income ), 0 ) direct_income,
 | 
			
		||||
            nvl( sum( cb.store_income ), 0 ) store_income,
 | 
			
		||||
            nvl( sum( cb.global_points ), 0 ) global_points,
 | 
			
		||||
            sum(cb.real_income_total) real_income_total,
 | 
			
		||||
            bc.out_exchange_rate
 | 
			
		||||
        from cu_member_bonus cb
 | 
			
		||||
        inner join cu_member cm
 | 
			
		||||
| 
						 | 
				
			
			@ -446,26 +447,10 @@
 | 
			
		|||
 | 
			
		||||
    <select id="queryBonusTotalVoByConditionForServer" resultMap="CuMemberBonus">
 | 
			
		||||
        select cb.period,cp.settle_date,
 | 
			
		||||
        nvl(min(bc.out_exchange_rate),1) out_exchange_rate,sum(cb.direct_income) direct_income,
 | 
			
		||||
        sum(cb.expand_income) expand_income, sum(cb.expand_no_capping) expand_no_capping,
 | 
			
		||||
        sum(cb.expand_capping) expand_capping,sum(cb.coach_income) coach_income,
 | 
			
		||||
        sum(cb.share_income) share_income, sum(cb.service_spend) service_spend,
 | 
			
		||||
        sum(cb.service_income) service_income, sum(cb.back_points) back_points,
 | 
			
		||||
        sum(cb.pur_real_subtotal) pur_real_subtotal,
 | 
			
		||||
        sum(cb.repur_push_income) repur_push_income,
 | 
			
		||||
        sum(cb.repur_expand_income) repur_expand_income, sum(cb.repur_real_subtotal) repur_real_subtotal,
 | 
			
		||||
        sum(cb.repur_coupon) repur_coupon, sum(repur_coupon_share) repur_coupon_share,
 | 
			
		||||
        sum(cb.repur_coupon_subtotal) repur_coupon_subtotal,
 | 
			
		||||
        sum(cb.global_points) global_points, sum(cb.car_award_points) car_award_points,
 | 
			
		||||
        sum(cb.repur_range_income) repur_range_income,
 | 
			
		||||
        sum(cb.retail_range_income) retail_range_income,
 | 
			
		||||
        sum(cb.retail_same_level_income) retail_same_level_income,
 | 
			
		||||
        sum(cb.retail_area_income) retail_area_income,
 | 
			
		||||
        sum(cb.retail_benefit_range_income) retail_benefit_range_income,
 | 
			
		||||
        sum(cb.retail_month_repurchase_income) retail_month_repurchase_income,
 | 
			
		||||
        sum(cb.retail_benefit_avg_income) retail_benefit_avg_income,
 | 
			
		||||
        sum(cb.retail_benefit_income) retail_benefit_income,
 | 
			
		||||
        sum(cb.retail_real_subtotal) retail_real_subtotal,
 | 
			
		||||
        nvl(min(bc.out_exchange_rate),1) out_exchange_rate,
 | 
			
		||||
        sum(cb.direct_income) direct_income,
 | 
			
		||||
        sum(cb.global_points) global_points,
 | 
			
		||||
        sum(cb.STORE_INCOME) STORE_INCOME,
 | 
			
		||||
        sum(cb.real_income_total) real_income_total
 | 
			
		||||
        from cu_member_bonus cb
 | 
			
		||||
        inner join cu_member_settle_period cp
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -64,7 +64,7 @@ public class ICumemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetail
 | 
			
		|||
 | 
			
		||||
        // 构建node
 | 
			
		||||
        List<Map<String, Object>> nodeList = new ArrayList<>();
 | 
			
		||||
        nodeList.add(makeNode(EMemberChildNodeType.ROOT.getId(), EMemberChildNodeType.ROOT.getParentId(), EMemberChildNodeType.ROOT.getLabel(), null,cuMemberRetailDetail.getPkMember(), memberMap));
 | 
			
		||||
        nodeList.add(makeNode(EMemberChildNodeType.ROOT.getId(), EMemberChildNodeType.ROOT.getParentId(), EMemberChildNodeType.ROOT.getLabel(), cuMemberRetailDetail.getChildNode(),cuMemberRetailDetail.getPkMember(), memberMap));
 | 
			
		||||
 | 
			
		||||
        nodeList.add(makeNode(EMemberChildNodeType.NODE1.getId(), EMemberChildNodeType.NODE1.getParentId(), EMemberChildNodeType.NODE1.getLabel(), cuMemberRetailDetail.getPoint11(), cuMemberRetailDetail.getPointMember11(), memberMap));
 | 
			
		||||
        nodeList.add(makeNode(EMemberChildNodeType.NODE2.getId(), EMemberChildNodeType.NODE2.getParentId(), EMemberChildNodeType.NODE2.getLabel(), cuMemberRetailDetail.getPoint12(),cuMemberRetailDetail.getPointMember12(), memberMap));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -268,9 +268,10 @@ public class MemberStructureController extends BaseController {
 | 
			
		|||
            log.error("当前表名不存在{}",settleTableName);
 | 
			
		||||
            return AjaxResult.error("当前日结信息表不存在",settleTableName);
 | 
			
		||||
        }
 | 
			
		||||
        startPage();
 | 
			
		||||
        // 查询当前会员所有子点位信息
 | 
			
		||||
        List<CuMemberThreeFrameworkVO> cuMemberThreeFrameworkVOS = iCumemberRetailDetailService.getCuMemberRetailDetailList(settleTableName,memberCode,stage,stageStatus);
 | 
			
		||||
        return AjaxResult.success(cuMemberThreeFrameworkVOS);
 | 
			
		||||
        return AjaxResult.success(getDataTable(cuMemberThreeFrameworkVOS));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -56,10 +56,124 @@ public class CuMemberBonus extends BaseEntity {
 | 
			
		|||
    private BigDecimal directIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 阶段收益-众康
 | 
			
		||||
     * 拓展收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("STORE_INCOME")
 | 
			
		||||
    private BigDecimal storeIncome;
 | 
			
		||||
    @TableField("EXPAND_INCOME")
 | 
			
		||||
    private BigDecimal expandIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 拓展无封 (拓展收益按等级正常比例结算,并 拓展收益按等级正常比例结算 无封顶)
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("EXPAND_NO_CAPPING")
 | 
			
		||||
    private BigDecimal expandNoCapping;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 拓展封顶 (拓展收益按等级正常比例结算,不按4-N结算,根据配置的封顶值限制最大收益)
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("EXPAND_CAPPING")
 | 
			
		||||
    private BigDecimal expandCapping;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 培育津贴
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("COACH_INCOME")
 | 
			
		||||
    private BigDecimal coachIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 分红收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("SHARE_INCOME")
 | 
			
		||||
    private BigDecimal shareIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 报单收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("SERVICE_INCOME")
 | 
			
		||||
    private BigDecimal serviceIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 商城重消
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("BACK_POINTS")
 | 
			
		||||
    private BigDecimal backPoints;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 平台服务费
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("SERVICE_SPEND")
 | 
			
		||||
    private BigDecimal serviceSpend;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 首购实发小计
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("PUR_REAL_SUBTOTAL")
 | 
			
		||||
    private BigDecimal purRealSubtotal;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购推荐收益 修改为互助收益 cu_member_bonus_push
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("REPUR_PUSH_INCOME")
 | 
			
		||||
    private BigDecimal repurPushIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购级差收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("REPUR_RANGE_INCOME")
 | 
			
		||||
    private BigDecimal repurRangeIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购拓展收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("REPUR_EXPAND_INCOME")
 | 
			
		||||
    private BigDecimal repurExpandIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购实发小计
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("REPUR_REAL_SUBTOTAL")
 | 
			
		||||
    private BigDecimal repurRealSubtotal;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 云代直推收益 修改为幸运收益 cu_member_bonus_coach
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("CLOUD_DIRECT_INCOME")
 | 
			
		||||
    private BigDecimal cloudDirectIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 云代首购收益  修改为极差收益 cu_member_bonus_range
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("CLOUD_PUR_INCOME")
 | 
			
		||||
    private BigDecimal cloudPurIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 云代复购收益  修改为平级收益 cu_member_bonus_range
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("CLOUD_REPUR_INCOME")
 | 
			
		||||
    private BigDecimal cloudRepurIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 云代实发小计 修改为 极差小计
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("CLOUD_REAL_SUBTOTAL")
 | 
			
		||||
    private BigDecimal cloudRealSubtotal;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购券
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("REPUR_COUPON")
 | 
			
		||||
    private BigDecimal repurCoupon;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购券均分收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("REPUR_COUPON_SHARE")
 | 
			
		||||
    private BigDecimal repurCouponShare;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购券小计
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("REPUR_COUPON_SUBTOTAL")
 | 
			
		||||
    private BigDecimal repurCouponSubtotal;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 复购见点收益-众康
 | 
			
		||||
| 
						 | 
				
			
			@ -67,7 +181,95 @@ public class CuMemberBonus extends BaseEntity {
 | 
			
		|||
    @TableField("GLOBAL_POINTS")
 | 
			
		||||
    private BigDecimal globalPoints;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 车奖积分
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("CAR_AWARD_POINTS")
 | 
			
		||||
    private BigDecimal carAwardPoints;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 阶段收益-众康
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("STORE_INCOME")
 | 
			
		||||
    private BigDecimal storeIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 嗨粉推荐收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("HI_FUN_INCOME")
 | 
			
		||||
    private BigDecimal hiFunIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 海粉推荐收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("HAI_FUN_INCOME")
 | 
			
		||||
    private BigDecimal haiFunIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 创客空间直推收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("MAKER_DIRECT_INCOME")
 | 
			
		||||
    private BigDecimal makerDirectIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 创客共享收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("MAKER_SHARE_INCOME")
 | 
			
		||||
    private BigDecimal makerShareIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 创客空间收益小计
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("MAKER_REAL_SUBTOTAL")
 | 
			
		||||
    private BigDecimal makerRealSubtotal;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新零售直推收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("RETAIL_RANGE_INCOME")
 | 
			
		||||
    private BigDecimal retailRangeIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新零售平级收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("RETAIL_SAME_LEVEL_INCOME")
 | 
			
		||||
    private BigDecimal retailSameLevelIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新零售区域分红
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("RETAIL_AREA_INCOME")
 | 
			
		||||
    private BigDecimal retailAreaIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新零售福利级差收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("RETAIL_BENEFIT_RANGE_INCOME")
 | 
			
		||||
    private BigDecimal retailBenefitRangeIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新零售复购级差收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("RETAIL_MONTH_REPURCHASE_INCOME")
 | 
			
		||||
    private BigDecimal retailMonthRepurchaseIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 福利分红平均收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("RETAIL_BENEFIT_AVG_INCOME")
 | 
			
		||||
    private BigDecimal retailBenefitAvgIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 福利分红加权收益
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("RETAIL_BENEFIT_INCOME")
 | 
			
		||||
    private BigDecimal retailBenefitIncome;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新零售收益小计
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("RETAIL_REAL_SUBTOTAL")
 | 
			
		||||
    private BigDecimal retailRealSubtotal;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 实发收益总计
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue