## 拓展收益、辅导收益订单拨比小数位处理;
This commit is contained in:
parent
e46a1d4f1a
commit
6b2dcbac8c
|
@ -215,7 +215,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
*/
|
||||
void setBonusPushIncome(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, SaOrderExt saOrderExt, CuMemberBonus cuMemberBonus, CuMemberBonusPush cuMemberBonusPush) {
|
||||
// 奖金扣项
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusPush, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusPush, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate(), true);
|
||||
recommendRemark(saOrderExt, cuMemberBonusPush, cuMemberSettleExtMap);
|
||||
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusPush.getIncomeStatus()) {
|
||||
cuMemberBonus.setDirectIncome(ComputeUtil.computeAdd(cuMemberBonus.getDirectIncome(), cuMemberBonusPush.getPretaxIncome()));
|
||||
|
@ -420,7 +420,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
BigDecimal maxIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), bdGrade.getExpandRatio());
|
||||
BigDecimal actualIncome = ComputeUtil.computeBonusMultiply(cuMemberBonusExpand.getCalAchieve(), countryExpandRatio);
|
||||
packageCuMemberBonusExpand(cuMemberBonusExpand, cuMemberBonus, bdGrade.getExpandCapping(), maxIncome, actualIncome);
|
||||
setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate(), true);
|
||||
if (ComputeUtil.compareValue(addTouch)) {
|
||||
cuMemberBonusExpand.setRemark(cuMemberBonusExpand.getRemark() + "增加碰次:" + addTouch + "。");
|
||||
}
|
||||
|
@ -682,7 +682,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
// 收益占比
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusCoach,
|
||||
null != saOrderExt ? saOrderExt.getOrderAmount() : BigDecimal.ZERO,
|
||||
null != saOrderExt ? saOrderExt.getInExchangeRate() : BigDecimal.ONE);
|
||||
null != saOrderExt ? saOrderExt.getInExchangeRate() : BigDecimal.ONE, false);
|
||||
coachRemark(saOrderExt, cuMemberBonusCoach, sourceMemberSettleExt, targetMemberSettleExt, firstBool);
|
||||
|
||||
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusCoach.getIncomeStatus()) {
|
||||
|
@ -841,7 +841,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
cuMemberBonusDetail.setPkBonusItems(getPkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.SERVICE_SUBSIDIES.getValue()));
|
||||
cuMemberBonusDetail.setPretaxIncome(ComputeUtil.computeBonusMultiply(saOrderExt.getOrderAchieve(), serviceRadio));
|
||||
// 收益占比
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate(), true);
|
||||
serviceRemark(saOrderExt, cuMemberBonusDetail, sourceMemberSettleExt, targetMemberSettleExt);
|
||||
// if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()
|
||||
// && EYesNo.NO.getIntValue() == targetMemberSettleExt.getPurchaseStatus()) {
|
||||
|
@ -1025,7 +1025,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
}
|
||||
packageCuMemberBonusExpand(fireCuMemberBonusExpand, cuMemberBonus, bdGrade.getExpandCapping(), fireIncome, fireIncome);
|
||||
// 收益占比
|
||||
setBonusDetailDeduct(bonusConfigDTO, fireCuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
setBonusDetailDeduct(bonusConfigDTO, fireCuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate(), true);
|
||||
expandRemark(saOrderExt, fireCuMemberBonusExpand, sourceMemberSettleExt, targetMemberSettleExt);
|
||||
cuMemberBonusExpandList.add(fireCuMemberBonusExpand);
|
||||
// 拓展收益取封顶最大值
|
||||
|
@ -1033,7 +1033,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
}
|
||||
|
||||
// 收益占比
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate(), true);
|
||||
expandRemark(saOrderExt, cuMemberBonusExpand, sourceMemberSettleExt, targetMemberSettleExt);
|
||||
|
||||
if (riskControlMap.containsKey(cuMemberBonus.getPkMember())) {
|
||||
|
|
|
@ -122,7 +122,8 @@ public abstract class BonusSettleHandle {
|
|||
* @param endTouch 4-n的次数
|
||||
* @param bdGrade 等级
|
||||
*/
|
||||
protected BigDecimal getCountryRepurchaseExpand(BonusConfigDTO bonusConfigDTO, CuMemberSettleExt memberSettleExt, Integer endTouch, BdGrade bdGrade, BigDecimal addTouch, BigDecimal editExpandRatio) {
|
||||
protected BigDecimal getCountryRepurchaseExpand(BonusConfigDTO bonusConfigDTO, CuMemberSettleExt memberSettleExt,
|
||||
Integer endTouch, BdGrade bdGrade, BigDecimal addTouch, BigDecimal editExpandRatio) {
|
||||
BonusExpandDTO bonusExpand = bonusConfigDTO.getBonusExpandMap().get(memberSettleExt.getPkSettleCountry());
|
||||
// 4-N 拓展比例(一般为26%)
|
||||
BigDecimal expandRatio = bonusExpand.getExpandRatio();
|
||||
|
@ -1128,7 +1129,8 @@ public abstract class BonusSettleHandle {
|
|||
* @param orderAmount 订单金额
|
||||
* @param exchangeRate 入汇率
|
||||
*/
|
||||
protected BdBonusDeduct setBonusDetailDeduct(BonusConfigDTO bonusConfigDTO, Object cuMemberDetail, BigDecimal orderAmount, BigDecimal exchangeRate) {
|
||||
protected BdBonusDeduct setBonusDetailDeduct(BonusConfigDTO bonusConfigDTO, Object cuMemberDetail, BigDecimal orderAmount, BigDecimal exchangeRate,
|
||||
Boolean incomeRatioFlag) {
|
||||
Integer pkBonusItems = ReflectUtils.invokeGetter(cuMemberDetail, BonusFieldConstants.PK_BONUS_ITEMS);
|
||||
BdBonusDeduct bdBonusDeduct = bonusConfigDTO.getBonusDeductsMap().get(pkBonusItems);
|
||||
// 税前收益
|
||||
|
@ -1144,8 +1146,10 @@ public abstract class BonusSettleHandle {
|
|||
ReflectUtils.invokeSetter(cuMemberDetail, BonusFieldConstants.INCOME_TAX, incomeTax);
|
||||
// 实际收益
|
||||
ReflectUtils.invokeSetter(cuMemberDetail, BonusFieldConstants.REAL_INCOME, realIncome);
|
||||
// 收益占比
|
||||
ReflectUtils.invokeSetter(cuMemberDetail, BonusFieldConstants.INCOME_RATIO, ComputeUtil.computeDivide(realIncome, ComputeUtil.computeDivide(orderAmount, exchangeRate)));
|
||||
if (incomeRatioFlag) {
|
||||
// 收益占比
|
||||
ReflectUtils.invokeSetter(cuMemberDetail, BonusFieldConstants.INCOME_RATIO, ComputeUtil.computeDivide(realIncome, ComputeUtil.computeDivide(orderAmount, exchangeRate)));
|
||||
}
|
||||
return bdBonusDeduct;
|
||||
}
|
||||
|
||||
|
|
|
@ -394,7 +394,7 @@ public class BonusSettleNewExpandHandle extends BonusSettleHandle {
|
|||
}
|
||||
packageCuMemberBonusExpand(fireCuMemberBonusExpand, cuMemberBonus, bdGrade.getExpandCapping(), fireIncome, fireIncome);
|
||||
// 收益占比
|
||||
setBonusDetailDeduct(bonusConfigDTO, fireCuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
setBonusDetailDeduct(bonusConfigDTO, fireCuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate(), false);
|
||||
expandRemark(saOrderExt, fireCuMemberBonusExpand, sourceMemberSettleExt, targetMemberSettleExt);
|
||||
cuMemberBonusExpandList.add(fireCuMemberBonusExpand);
|
||||
// 拓展收益取封顶最大值
|
||||
|
@ -402,7 +402,7 @@ public class BonusSettleNewExpandHandle extends BonusSettleHandle {
|
|||
}
|
||||
|
||||
// 收益占比
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate(), false);
|
||||
expandRemark(saOrderExt, cuMemberBonusExpand, sourceMemberSettleExt, targetMemberSettleExt);
|
||||
|
||||
if (ComputeUtil.compareValue(addTouch)) {
|
||||
|
|
|
@ -100,7 +100,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
cuMemberBonusPush.setCalValue(BigDecimal.ZERO);
|
||||
cuMemberBonusPush.setPretaxIncome(bonusRepurchasePushDTO.getPushValue());
|
||||
}
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusPush, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusPush, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate(), true);
|
||||
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusPush.getIncomeStatus()) {
|
||||
cuMemberBonus.setRepurPushIncome(ComputeUtil.computeAdd(cuMemberBonus.getRepurPushIncome(), cuMemberBonusPush.getPretaxIncome()));
|
||||
setPurchaseTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusPush);
|
||||
|
@ -476,7 +476,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
*/
|
||||
private void packageRepurchaseRange(BonusConfigDTO bonusConfigDTO, List<CuMemberBonusRange> cuMemberBonusRangeList, SaOrderExt saOrderExt, CuMemberBonus cuMemberBonus, CuMemberBonusRange cuMemberBonusRange, BigDecimal repurchaseRangeBonus) {
|
||||
// 奖金扣项
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusRange, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate(), true);
|
||||
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusRange.getIncomeStatus()) {
|
||||
// 收益状态正常,扣除
|
||||
cuMemberBonus.setRepurRangeIncome(ComputeUtil.computeAdd(cuMemberBonus.getRepurRangeIncome(), repurchaseRangeBonus));
|
||||
|
@ -593,7 +593,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
}
|
||||
packageCuMemberBonusExpand(fireCuMemberBonusExpand, cuMemberBonus, bdGrade.getExpandCapping(), fireIncome, fireIncome);
|
||||
// 收益占比
|
||||
setBonusDetailDeduct(bonusConfigDTO, fireCuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
setBonusDetailDeduct(bonusConfigDTO, fireCuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate(), true);
|
||||
expandRemark(saOrderExt, fireCuMemberBonusExpand, sourceMemberSettleExt, targetMemberSettleExt);
|
||||
cuMemberBonusExpandList.add(fireCuMemberBonusExpand);
|
||||
// 拓展收益取封顶最大值
|
||||
|
@ -602,7 +602,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
}
|
||||
|
||||
// 收益占比
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate(), true);
|
||||
repurchaseExpandRemark(saOrderExt, cuMemberBonusExpand, sourceMemberSettleExt, targetMemberSettleExt);
|
||||
|
||||
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusExpand.getIncomeStatus()) {
|
||||
|
@ -792,7 +792,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
repurchasePointRemark(saOrderExt, cuMemberBonusCoach, sourceMemberSettleExt, targetMemberSettleExt, pointAlgebra);
|
||||
// 奖金扣项
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusCoach,
|
||||
saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate(), true);
|
||||
// 累计奖金数据
|
||||
cuMemberBonus.setGlobalPoints(cuMemberBonus.getGlobalPoints().add(cuMemberBonusCoach.getPretaxIncome()));
|
||||
// 复购小计、总计
|
||||
|
|
|
@ -96,7 +96,7 @@ public class BonusSettleRepCouponsHandle extends BonusSettleHandle {
|
|||
} else {
|
||||
cuMemberBonusDetail.setPretaxIncome(acRepurCouponsRuleConfig.getRatioValue());
|
||||
}
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusDetail, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate(), true);
|
||||
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusDetail.getIncomeStatus()) {
|
||||
cuMemberBonus.setRepurCoupon(ComputeUtil.computeAdd(cuMemberBonus.getRepurCoupon(), cuMemberBonusDetail.getPretaxIncome()));
|
||||
setRepurchaseCouponTotal(bdBonusDeduct, cuMemberBonus, cuMemberBonusDetail);
|
||||
|
|
|
@ -1069,41 +1069,42 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusDetail);
|
||||
memberBonusDetailCalVO.setServiceIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getServiceIncome(), cuMemberBonusDetail.getRealIncome()));
|
||||
});
|
||||
Map<Long, SaOrderExt> saOrderExtMap = new HashMap<>(ComputeUtil.mapInitCapacity(firPurchaseOrderList.size()));
|
||||
firPurchaseOrderList.forEach(saOrderExt ->
|
||||
saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt));
|
||||
// 计算 收益拨比 此类型收益÷总拨金额 订单拨比 此订单所有收益之合得实发金额÷订单总金额
|
||||
cuMemberBonusPushList.forEach(cuMemberBonusPush -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusPush.getPkOrder());
|
||||
SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
cuMemberBonusPush.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getPushIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
cuMemberBonusPush.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
});
|
||||
if (null != cuMemberBonusExpandList) {
|
||||
// 拓展收益
|
||||
cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusExpand.getPkOrder());
|
||||
SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
cuMemberBonusExpand.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getExpandIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
cuMemberBonusExpand.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
});
|
||||
}
|
||||
if (null != cuMemberBonusCoachList) {
|
||||
// 辅导收益
|
||||
cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusCoach.getPkOrder());
|
||||
SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
cuMemberBonusCoach.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getCoachIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
cuMemberBonusCoach.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
});
|
||||
}
|
||||
// 报单服务费
|
||||
cuMemberBonusDetailList.forEach(cuMemberBonusDetail -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusDetail.getPkOrder());
|
||||
SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
cuMemberBonusDetail.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getServiceIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
cuMemberBonusDetail.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), ComputeUtil.computeDivide(saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate())));
|
||||
});
|
||||
|
||||
// Map<Long, SaOrderExt> saOrderExtMap = new HashMap<>(ComputeUtil.mapInitCapacity(firPurchaseOrderList.size()));
|
||||
// firPurchaseOrderList.forEach(saOrderExt ->
|
||||
// saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt));
|
||||
// // 计算 收益拨比 此类型收益÷总拨金额 订单拨比 此订单所有收益之合得实发金额÷订单总金额
|
||||
// cuMemberBonusPushList.forEach(cuMemberBonusPush -> {
|
||||
// MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusPush.getPkOrder());
|
||||
// SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
// cuMemberBonusPush.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getPushIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
// cuMemberBonusPush.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
// });
|
||||
// if (null != cuMemberBonusExpandList) {
|
||||
// // 拓展收益
|
||||
// cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> {
|
||||
// MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusExpand.getPkOrder());
|
||||
// SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
// cuMemberBonusExpand.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getExpandIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
// cuMemberBonusExpand.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
// });
|
||||
// }
|
||||
// if (null != cuMemberBonusCoachList) {
|
||||
// // 辅导收益
|
||||
// cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
// MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusCoach.getPkOrder());
|
||||
// SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
// cuMemberBonusCoach.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getCoachIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
// cuMemberBonusCoach.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
// });
|
||||
// }
|
||||
// // 报单服务费
|
||||
// cuMemberBonusDetailList.forEach(cuMemberBonusDetail -> {
|
||||
// MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusDetail.getPkOrder());
|
||||
// SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
// cuMemberBonusDetail.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getServiceIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
// cuMemberBonusDetail.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), ComputeUtil.computeDivide(saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate())));
|
||||
// });
|
||||
// //*********************************计算分红奖,理论最大值************************/
|
||||
// Map<Integer, List<SaOrderExt>> saOrderMap = new HashMap<>(ComputeUtil.mapInitCapacity(firPurchaseOrderList.size()));
|
||||
// firPurchaseOrderList.forEach(saOrderExt -> {
|
||||
|
@ -1219,41 +1220,41 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
memberBonusDetailCalVO.setGlobalPoints(ComputeUtil.computeAdd(memberBonusDetailCalVO.getGlobalPoints(), cuMemberPointBonus.getRealIncome()));
|
||||
});
|
||||
|
||||
Map<Long, SaOrderExt> saOrderExtMap = new HashMap<>(ComputeUtil.mapInitCapacity(purchaseOrderList.size()));
|
||||
purchaseOrderList.forEach(saOrderExt ->
|
||||
saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt));
|
||||
if (null != cuMemberBonusExpandList) {
|
||||
// 复购拓展
|
||||
cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusExpand.getPkOrder());
|
||||
SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
cuMemberBonusExpand.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRepExpandIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
cuMemberBonusExpand.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
});
|
||||
}
|
||||
if (null != cuMemberBonusCoachList) {
|
||||
// 辅导收益
|
||||
cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusCoach.getPkOrder());
|
||||
SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
cuMemberBonusCoach.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRepCoachIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
cuMemberBonusCoach.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
});
|
||||
}
|
||||
// 复购级差
|
||||
cuMemberBonusRangeList.forEach(cuMemberBonusRange -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusRange.getPkOrder());
|
||||
SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
cuMemberBonusRange.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRepRangeIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
cuMemberBonusRange.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
});
|
||||
// 见点收益
|
||||
cuMemberPointBonusList.forEach(cuMemberPointBonus -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberPointBonus.getPkOrder());
|
||||
SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
cuMemberPointBonus.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getGlobalPoints(), memberBonusDetailCalVO.getRealIncome()));
|
||||
cuMemberPointBonus.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
});
|
||||
// Map<Long, SaOrderExt> saOrderExtMap = new HashMap<>(ComputeUtil.mapInitCapacity(purchaseOrderList.size()));
|
||||
// purchaseOrderList.forEach(saOrderExt ->
|
||||
// saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt));
|
||||
// if (null != cuMemberBonusExpandList) {
|
||||
// // 复购拓展
|
||||
// cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> {
|
||||
// MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusExpand.getPkOrder());
|
||||
// SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
// cuMemberBonusExpand.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRepExpandIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
// cuMemberBonusExpand.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
// });
|
||||
// }
|
||||
// if (null != cuMemberBonusCoachList) {
|
||||
// // 辅导收益
|
||||
// cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
// MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusCoach.getPkOrder());
|
||||
// SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
// cuMemberBonusCoach.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRepCoachIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
// cuMemberBonusCoach.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
// });
|
||||
// }
|
||||
// // 复购级差
|
||||
// cuMemberBonusRangeList.forEach(cuMemberBonusRange -> {
|
||||
// MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusRange.getPkOrder());
|
||||
// SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
// cuMemberBonusRange.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRepRangeIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
// cuMemberBonusRange.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
// });
|
||||
// // 见点收益
|
||||
// cuMemberPointBonusList.forEach(cuMemberPointBonus -> {
|
||||
// MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberPointBonus.getPkOrder());
|
||||
// SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
// cuMemberPointBonus.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getGlobalPoints(), memberBonusDetailCalVO.getRealIncome()));
|
||||
// cuMemberPointBonus.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
// });
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1354,22 +1355,22 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
memberBonusDetailCalVO.setCoachIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getCoachIncome(), cuMemberBonusCoach.getRealIncome()));
|
||||
});
|
||||
|
||||
Map<Long, SaOrderExt> saOrderExtMap = new HashMap<>(ComputeUtil.mapInitCapacity(expandOrderList.size()));
|
||||
expandOrderList.forEach(saOrderExt -> saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt));
|
||||
// 收益拓展
|
||||
cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusExpand.getPkOrder());
|
||||
SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
cuMemberBonusExpand.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getExpandIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
cuMemberBonusExpand.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
});
|
||||
// 辅导收益
|
||||
cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusCoach.getPkOrder());
|
||||
SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
cuMemberBonusCoach.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getCoachIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
cuMemberBonusCoach.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
});
|
||||
// Map<Long, SaOrderExt> saOrderExtMap = new HashMap<>(ComputeUtil.mapInitCapacity(expandOrderList.size()));
|
||||
// expandOrderList.forEach(saOrderExt -> saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt));
|
||||
// // 收益拓展
|
||||
// cuMemberBonusExpandList.forEach(cuMemberBonusExpand -> {
|
||||
// MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusExpand.getPkOrder());
|
||||
// SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
// cuMemberBonusExpand.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getExpandIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
// cuMemberBonusExpand.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
// });
|
||||
// // 辅导收益
|
||||
// cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
// MemberBonusDetailCalVO memberBonusDetailCalVO = memberBonusDetailCalVoMap.get(cuMemberBonusCoach.getPkOrder());
|
||||
// SaOrderExt saOrderExt = saOrderExtMap.get(memberBonusDetailCalVO.getPkOrder());
|
||||
// cuMemberBonusCoach.setIncomeDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getCoachIncome(), memberBonusDetailCalVO.getRealIncome()));
|
||||
// cuMemberBonusCoach.setOrderDialRatio(ComputeUtil.computeDivide(memberBonusDetailCalVO.getRealIncome(), saOrderExt.getOrderAmount()));
|
||||
// });
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -216,7 +216,7 @@
|
|||
register_amount, register_pv, upgrade_amount, upgrade_pv, repurchase_amount, repurchase_pv,
|
||||
hi_fun_amount, hi_fun_pv, mall_amount, mall_pv, category, pk_grade, pk_center_code,
|
||||
min_achieve, round, second, bg.grade_value, store_level, expire_status,
|
||||
a_fir_balance, a_rep_balance, b_fir_balance, b_rep_balance, is_maker_space
|
||||
a_fir_balance, a_rep_balance, b_fir_balance, b_rep_balance
|
||||
from (
|
||||
<include refid="QueryMemberParent"></include>
|
||||
) a
|
||||
|
@ -289,7 +289,7 @@
|
|||
register_amount, register_pv, upgrade_amount, upgrade_pv, repurchase_amount, repurchase_pv,
|
||||
hi_fun_amount,hi_fun_pv,mall_amount,mall_pv, pk_center_code, category,pk_grade,
|
||||
min_achieve, round, second, store_level, expire_status,
|
||||
a_fir_balance, a_rep_balance, b_fir_balance, b_rep_balance, is_maker_space
|
||||
a_fir_balance, a_rep_balance, b_fir_balance, b_rep_balance
|
||||
from ${settleTableName}
|
||||
where pay_status = 1
|
||||
start with pk_member = #{item}
|
||||
|
|
Loading…
Reference in New Issue