Compare commits
No commits in common. "e6f247670eeca5520e38c326d7bd2c18855912f1" and "9cd46910cb5598304708a8c9d669cd8f2555c357" have entirely different histories.
e6f247670e
...
9cd46910cb
|
|
@ -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,9 +1003,6 @@ 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);
|
||||
|
|
@ -1138,7 +1135,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,9 +308,6 @@ 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);
|
||||
|
|
@ -333,9 +330,6 @@ 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);
|
||||
|
|
@ -345,94 +339,12 @@ 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;
|
||||
}
|
||||
}
|
||||
|
|
@ -638,8 +550,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
|||
if (null != secondMemberRetail) {
|
||||
CuMemberRetailDetail memberDetail = this.getRetailDetailMap(secondMemberRetail, eBonusStage).get(downSecondPoint);
|
||||
if (null != memberDetail) {
|
||||
newRetailDetail.setPointMemberSecond(memberDetail.getPkMember());
|
||||
newRetailDetail.setPointSecond(memberDetail.getChildNode());
|
||||
newRetailDetail.setPointMemberSecond(newParentRetailDetail.getPkMember());
|
||||
newRetailDetail.setPointSecond(newParentRetailDetail.getChildNode());
|
||||
this.fillDownTargetRetailDetail(memberDetail, newRetailDetail, newNode, 2, settleDate, eBonusStage,
|
||||
bonusStageDataList);
|
||||
}
|
||||
|
|
@ -650,8 +562,8 @@ public class CuMemberBonusStageServiceImpl extends ServiceImpl<CuMemberBonusStag
|
|||
if (null != firstMemberRetail) {
|
||||
CuMemberRetailDetail memberDetail = this.getRetailDetailMap(firstMemberRetail, eBonusStage).get(downFirstPoint);
|
||||
if (null != memberDetail) {
|
||||
newRetailDetail.setPointMemberFirst(memberDetail.getPkMember());
|
||||
newRetailDetail.setPointFirst(memberDetail.getChildNode());
|
||||
newRetailDetail.setPointMemberFirst(newParentRetailDetail.getPkMember());
|
||||
newRetailDetail.setPointFirst(newParentRetailDetail.getChildNode());
|
||||
this.fillDownTargetRetailDetail(memberDetail, newRetailDetail, newNode, 1, settleDate, eBonusStage,
|
||||
bonusStageDataList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,28 +38,293 @@ public class BonusTotalVO implements Serializable {
|
|||
*/
|
||||
private Integer pkCountry;
|
||||
|
||||
|
||||
/**
|
||||
* 注册直推收益-众康
|
||||
* 新零售直推收益
|
||||
*/
|
||||
@Excel(name = "直推收益", scale = 2)
|
||||
private BigDecimal directIncome;
|
||||
private BigDecimal retailRangeIncome;
|
||||
|
||||
/**
|
||||
* 阶段收益-众康
|
||||
* 新零售平级收益
|
||||
*/
|
||||
@Excel(name = "阶段收益", scale = 2)
|
||||
private BigDecimal storeIncome;
|
||||
@Excel(name = "平级收益", scale = 2)
|
||||
private BigDecimal retailSameLevelIncome;
|
||||
|
||||
/**
|
||||
* 复购见点收益-众康
|
||||
* 新零售区域分红
|
||||
*/
|
||||
@Excel(name = "见点收益", scale = 2)
|
||||
private BigDecimal globalPoints;
|
||||
@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 realIncomeTotalOri;
|
||||
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;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,11 +52,8 @@ 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 and a.stage = b.stage)
|
||||
on (a.pk_member = b.pk_member and a.child_node = b.child_node)
|
||||
when not matched then
|
||||
insert (pk_member,
|
||||
child_node,
|
||||
|
|
@ -280,6 +280,7 @@
|
|||
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,
|
||||
|
|
@ -384,14 +385,11 @@
|
|||
#{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.thirdBonus1, jdbcType=NUMERIC} third_bonus_1,
|
||||
#{item.thirdBonus2, jdbcType=NUMERIC} third_bonus_2,
|
||||
#{item.thirdBonus3, jdbcType=NUMERIC} third_bonus_3
|
||||
#{item.pointThird, jdbcType=NUMERIC} point_third, #{item.pointMemberThird, jdbcType=NUMERIC} point_member_third
|
||||
from dual
|
||||
</foreach>
|
||||
) b
|
||||
on (a.pk_member = b.pk_member and a.child_node = b.child_node and a.stage = b.stage)
|
||||
on (a.pk_member = b.pk_member and a.child_node = b.child_node)
|
||||
when not matched then
|
||||
insert (pk_member, child_node, pk_parent,
|
||||
stage, stage_status, stage_date,
|
||||
|
|
@ -413,8 +411,7 @@
|
|||
creation_time,
|
||||
point_first, point_member_first,
|
||||
point_second, point_member_second,
|
||||
point_third, point_member_third,
|
||||
third_bonus_1, third_bonus_2, third_bonus_3)
|
||||
point_third, point_member_third)
|
||||
values (b.pk_member, b.child_node, b.pk_parent,
|
||||
b.stage, b.stage_status, b.stage_date,
|
||||
b.point_11, b.point_12,
|
||||
|
|
@ -435,11 +432,10 @@
|
|||
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.third_bonus_1, b.third_bonus_2, b.third_bonus_3)
|
||||
b.point_third, b.point_member_third)
|
||||
when matched then
|
||||
update set
|
||||
a.stage_status = b.stage_status, a.stage_date = b.stage_date,
|
||||
a.stage = b.stage, 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,
|
||||
|
|
@ -458,8 +454,7 @@
|
|||
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.third_bonus_1 = b.third_bonus_1, a.third_bonus_2 = b.third_bonus_2, a.third_bonus_3 = b.third_bonus_3
|
||||
a.point_third = b.point_third, a.point_member_third = b.point_member_third
|
||||
</update>
|
||||
|
||||
<!-- 当前网体更新极差秒接表 -->
|
||||
|
|
|
|||
|
|
@ -335,9 +335,9 @@
|
|||
point_second NUMBER(8),
|
||||
point_member_third NUMBER(20),
|
||||
point_third 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
|
||||
third_bonus_1 NUMBER(8),
|
||||
third_bonus_2 NUMBER(8),
|
||||
third_bonus_3 NUMBER(8)
|
||||
)
|
||||
</update>
|
||||
|
||||
|
|
|
|||
|
|
@ -375,7 +375,6 @@
|
|||
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
|
||||
|
|
@ -447,10 +446,26 @@
|
|||
|
||||
<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.global_points) global_points,
|
||||
sum(cb.STORE_INCOME) STORE_INCOME,
|
||||
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,
|
||||
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(), cuMemberRetailDetail.getChildNode(),cuMemberRetailDetail.getPkMember(), memberMap));
|
||||
nodeList.add(makeNode(EMemberChildNodeType.ROOT.getId(), EMemberChildNodeType.ROOT.getParentId(), EMemberChildNodeType.ROOT.getLabel(), null,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,10 +268,9 @@ 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(getDataTable(cuMemberThreeFrameworkVOS));
|
||||
return AjaxResult.success(cuMemberThreeFrameworkVOS);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -56,124 +56,10 @@ public class CuMemberBonus extends BaseEntity {
|
|||
private BigDecimal directIncome;
|
||||
|
||||
/**
|
||||
* 拓展收益
|
||||
* 阶段收益-众康
|
||||
*/
|
||||
@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;
|
||||
@TableField("STORE_INCOME")
|
||||
private BigDecimal storeIncome;
|
||||
|
||||
/**
|
||||
* 复购见点收益-众康
|
||||
|
|
@ -181,95 +67,7 @@ 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