## 拓展延缓发放处理辅导收益;
This commit is contained in:
parent
d3f3663ef8
commit
eefb762f10
|
@ -668,15 +668,18 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
* @param firPurchaseOrderList 订单列表
|
||||
* @param cuMemberBonusExpandList 量奖明细
|
||||
* @param cuMemberBonusMap 所有计算出来的奖金汇总
|
||||
* @param firstBool true=首购,false=复购
|
||||
* @param orderBool true=有订单,false=没有订单(延缓发放处理)
|
||||
*/
|
||||
List<CuMemberBonusCoach> calculateCoachBonus(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleTableName, String settleDateStr, BonusConfigDTO bonusConfigDTO,
|
||||
List<SaOrderExt> firPurchaseOrderList, List<CuMemberBonusExpand> cuMemberBonusExpandList, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap,
|
||||
Map<Long, CuAwardsControl> cuAwardsControlMap, Map<Long, CuMemberRiskControl> riskControlMap, List<BdAwards> awardsList, boolean firstBool) {
|
||||
Map<Long, CuAwardsControl> cuAwardsControlMap, Map<Long, CuMemberRiskControl> riskControlMap, List<BdAwards> awardsList,
|
||||
boolean firstBool, boolean orderBool) {
|
||||
Map<Long, SaOrderExt> saOrderExtMap = new HashMap<>(ComputeUtil.mapInitCapacity(firPurchaseOrderList.size()));
|
||||
firPurchaseOrderList.forEach(saOrderExt ->
|
||||
saOrderExtMap.put(saOrderExt.getPkId(), saOrderExt));
|
||||
return calculateCoachBonusOne(cuMemberSettleExtMap, settleTableName, settleDateStr, bonusConfigDTO, cuMemberBonusExpandList, period,
|
||||
cuMemberBonusMap, saOrderExtMap, cuAwardsControlMap, riskControlMap, awardsList, firstBool);
|
||||
cuMemberBonusMap, saOrderExtMap, cuAwardsControlMap, riskControlMap, awardsList, firstBool, orderBool);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -685,7 +688,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
List<CuMemberBonusCoach> calculateCoachBonusOne(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleTableName, String settleDateStr, BonusConfigDTO bonusConfigDTO,
|
||||
List<CuMemberBonusExpand> cuMemberBonusExpandList, Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap,
|
||||
Map<Long, SaOrderExt> saOrderExtMap, Map<Long, CuAwardsControl> cuAwardsControlMap, Map<Long, CuMemberRiskControl> riskControlMap,
|
||||
List<BdAwards> awardsList, boolean firstBool) {
|
||||
List<BdAwards> awardsList, boolean firstBool, boolean orderBool) {
|
||||
// 领导奖数据列表
|
||||
List<CuMemberBonusCoach> cuMemberBonusCoachList = new ArrayList<>();
|
||||
|
||||
|
@ -717,7 +720,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
// }
|
||||
List<CuMemberBonusCoach> coachBonusList = calculateBonusCoach(cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap,
|
||||
saOrderExtMap, cuMemberAssessMap, bonusIdSettleMap, cuMemberBonusExpand, cuAwardsControlMap,
|
||||
riskControlMap, cuMemberBonusNumMap, awardsList, firstBool);
|
||||
riskControlMap, cuMemberBonusNumMap, awardsList, firstBool, orderBool);
|
||||
if (coachBonusList.size() > 0) {
|
||||
cuMemberBonusCoachList.addAll(coachBonusList);
|
||||
}
|
||||
|
@ -732,7 +735,8 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
private List<CuMemberBonusCoach> calculateBonusCoach(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, BonusConfigDTO bonusConfigDTO, Integer period,
|
||||
Map<Long, CuMemberBonus> cuMemberBonusMap, Map<Long, SaOrderExt> saOrderExtMap, Map<Long, CuMemberAssess> cuMemberAssessMap,
|
||||
Map<Long, CuMemberSettleExt> bonusIdSettleMap, CuMemberBonusExpand cuMemberBonusExpand, Map<Long, CuAwardsControl> cuAwardsControlMap,
|
||||
Map<Long, CuMemberRiskControl> riskControlMap, Map<Long, CuMemberSettleExt> cuMemberBonusNumMap, List<BdAwards> awardsList, boolean firstBool) {
|
||||
Map<Long, CuMemberRiskControl> riskControlMap, Map<Long, CuMemberSettleExt> cuMemberBonusNumMap, List<BdAwards> awardsList,
|
||||
boolean firstBool, boolean orderBool) {
|
||||
// 目前这个会员只用来处理备注会员信息使用
|
||||
CuMemberSettleExt sourceMemberSettleExt = bonusIdSettleMap.get(cuMemberBonusExpand.getPkBonus());
|
||||
// 用于回写血缘总共多少代
|
||||
|
@ -773,10 +777,8 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
}
|
||||
|
||||
SaOrderExt saOrderExt = saOrderExtMap.get(cuMemberBonusExpand.getPkOrder());
|
||||
if (null == saOrderExt
|
||||
// || !validateSecondOrderExistBonus(saOrderExt, EBonusItems.COACHING_INCOME.getValue())
|
||||
) {
|
||||
// 订单为空 或者 判断二次发货是否有辅导收益 -- 原二次发货判断去掉
|
||||
if (orderBool && null == saOrderExt) {
|
||||
// 有订单 并且 订单为空
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -831,7 +833,9 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
}
|
||||
|
||||
// 收益占比
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusCoach, saOrderExt.getOrderAmount(), saOrderExt.getInExchangeRate());
|
||||
BdBonusDeduct bdBonusDeduct = setBonusDetailDeduct(bonusConfigDTO, cuMemberBonusCoach,
|
||||
null != saOrderExt ? saOrderExt.getOrderAmount() : BigDecimal.ZERO,
|
||||
null != saOrderExt ? saOrderExt.getInExchangeRate() : BigDecimal.ONE);
|
||||
coachRemark(saOrderExt, cuMemberBonusCoach, sourceMemberSettleExt, targetMemberSettleExt, firstBool);
|
||||
|
||||
if (EBonusIncomeStatus.NORMAL.getValue() == cuMemberBonusCoach.getIncomeStatus()) {
|
||||
|
@ -909,6 +913,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
.build();
|
||||
cuMemberBonusCoach.setPkCountry(targetMemberSettleExt.getPkSettleCountry());
|
||||
cuMemberBonusCoach.setPkCreator(MagicNumberConstants.PK_ADMIN);
|
||||
cuMemberBonusCoach.setPkModified(cuMemberBonusExpand.getPkModified());
|
||||
if (EExpireStatus.TERMINATED.getValue() == targetMemberSettleExt.getExpireStatus()) {
|
||||
cuMemberBonusCoach.setIncomeStatus(EBonusIncomeStatus.FIRE_BURN.getValue());
|
||||
}
|
||||
|
@ -1311,8 +1316,8 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
* 处理拓展延缓发放
|
||||
*/
|
||||
public List<CuMemberBonusExpand> handleDelayExpand(BonusRecordDetailVO recordDetailVO, Map<Long, CuMemberBonus> cuMemberBonusMap, BonusConfigDTO bonusConfigDTO,
|
||||
Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, Integer period, Integer yesterdayPeriod, String currentSettleTableName,
|
||||
Map<Integer, BdGrade> gradeMap) {
|
||||
Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, Integer period, Integer yesterdayPeriod, String currentSettleTableName,
|
||||
Map<Integer, BdGrade> gradeMap) {
|
||||
// 量奖(拓展收益)延缓发放主表量奖(拓展收益)延缓发放主表
|
||||
List<CuMemberBonusDelay> cuMemberBonusDelayList = new ArrayList<>();
|
||||
// 量奖(拓展收益)延缓发放明细列表
|
||||
|
@ -1391,6 +1396,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
.build();
|
||||
cuMemberBonusExpand.setPkCreator(cuMemberBonusDelayAddDetail.getPkCreator());
|
||||
cuMemberBonusExpand.setPkCountry(cuMemberBonusDelayAddDetail.getPkCountry());
|
||||
cuMemberBonusExpand.setPkModified(pkMember);
|
||||
// 处理扣项,计算最终收益
|
||||
BdBonusDeduct bdBonusDeduct = setDeplyBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand);
|
||||
// 处理实发小计、实发收益总计
|
||||
|
@ -1537,6 +1543,7 @@ public class BonusSettleFirstPurchaseHandle extends BonusSettleHandle {
|
|||
.build();
|
||||
cuMemberBonusExpand.setPkCreator(MagicNumberConstants.PK_ADMIN);
|
||||
cuMemberBonusExpand.setPkCountry(cuMemberSettleExt.getPkCountry());
|
||||
cuMemberBonusExpand.setPkModified(pkMember);
|
||||
// 处理扣项,计算最终收益
|
||||
BdBonusDeduct bdBonusDeduct = setDeplyBonusDetailDeduct(bonusConfigDTO, cuMemberBonusExpand);
|
||||
// 处理实发小计、实发收益总计
|
||||
|
|
|
@ -6,7 +6,6 @@ import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
|||
import com.hzs.bonus.achieve.service.ICuMemberTreeService;
|
||||
import com.hzs.bonus.detail.service.ICuMemberAssessService;
|
||||
import com.hzs.common.core.constant.BonusFieldConstants;
|
||||
import com.hzs.common.core.constant.CountryConstants;
|
||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||
import com.hzs.common.core.constant.TableNameConstants;
|
||||
import com.hzs.common.core.constant.msg.BonusMsgConstants;
|
||||
|
@ -431,203 +430,181 @@ public abstract class BonusSettleHandle {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获得 直推收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusPush 直推奖
|
||||
* @param cuMemberRangeExtMap 存储会员网体的map
|
||||
* @Description: 获得 直推收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void recommendRangeRemark(SaOrderExt saOrderExt, CuMemberBonusPush cuMemberBonusPush, Map<Long, CuMemberRangeExt> cuMemberRangeExtMap, CuMemberRangeExt targetCuMemberRangeExt) {
|
||||
CuMemberRangeExt sourceCuMemberRangeExt = cuMemberRangeExtMap.get(saOrderExt.getPkMember());
|
||||
String remark = String.format(BonusMsgConstants.RANGE_RECOMMEND, cuMemberBonusPush.getRound(), cuMemberBonusPush.getSecond(), saOrderExt.getOrderCode(),
|
||||
sourceCuMemberRangeExt.getMemberCode() + sourceCuMemberRangeExt.getMemberName(),
|
||||
targetCuMemberRangeExt.getMemberCode() + targetCuMemberRangeExt.getMemberName(),
|
||||
sourceCuMemberRangeExt.getMemberCode() + " " + sourceCuMemberRangeExt.getMemberName(),
|
||||
targetCuMemberRangeExt.getMemberCode() + " " + targetCuMemberRangeExt.getMemberName(),
|
||||
cuMemberBonusPush.getCalAchieve());
|
||||
cuMemberBonusPush.setRemark(remark);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得 拓展收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusExpand 拓展奖
|
||||
* @param sourceCuMemberSettleExt 提供奖金的人
|
||||
* @param targetCuMemberSettleExt 获得奖金的人
|
||||
* @Description: 获得 拓展收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void expandRemark(SaOrderExt saOrderExt, CuMemberBonusExpand cuMemberBonusExpand,
|
||||
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt) {
|
||||
String remark = String.format(BonusMsgConstants.EXPAND, cuMemberBonusExpand.getCurrentTouch(), cuMemberBonusExpand.getExpandTouch(), saOrderExt.getOrderCode(),
|
||||
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
|
||||
sourceCuMemberSettleExt.getMemberCode() + " " + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + " " + targetCuMemberSettleExt.getMemberName(),
|
||||
cuMemberBonusExpand.getCalAchieve(), cuMemberBonusExpand.getCalValue());
|
||||
cuMemberBonusExpand.setRemark(remark);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得 拓展收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusPush 拓展奖
|
||||
* @param sourceCuMemberSettleExt 提供奖金的人
|
||||
* @param targetCuMemberSettleExt 获得奖金的人
|
||||
* @Description: 获得 拓展收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void repurchasePushRemark(SaOrderExt saOrderExt, CuMemberBonusPush cuMemberBonusPush,
|
||||
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt, String msg) {
|
||||
String remark = String.format(msg, saOrderExt.getOrderCode(),
|
||||
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
|
||||
sourceCuMemberSettleExt.getMemberCode() + " " + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + " " + targetCuMemberSettleExt.getMemberName(),
|
||||
cuMemberBonusPush.getCalAchieve(), cuMemberBonusPush.getCalValue());
|
||||
cuMemberBonusPush.setRemark(remark);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得 拓展收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusExpand 拓展奖
|
||||
* @param sourceCuMemberSettleExt 提供奖金的人
|
||||
* @param targetCuMemberSettleExt 获得奖金的人
|
||||
* @Description: 获得 拓展收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void repurchaseExpandRemark(SaOrderExt saOrderExt, CuMemberBonusExpand cuMemberBonusExpand,
|
||||
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt) {
|
||||
String remark = String.format(BonusMsgConstants.REPURCHASE_EXPAND, cuMemberBonusExpand.getCurrentTouch(), cuMemberBonusExpand.getExpandTouch(), saOrderExt.getOrderCode(),
|
||||
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
|
||||
sourceCuMemberSettleExt.getMemberCode() + " " + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + " " + targetCuMemberSettleExt.getMemberName(),
|
||||
cuMemberBonusExpand.getCalAchieve(), cuMemberBonusExpand.getCalValue());
|
||||
cuMemberBonusExpand.setRemark(remark);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得 辅导收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusCoach 辅导奖
|
||||
* @param sourceCuMemberSettleExt 提供奖金的人
|
||||
* @param targetCuMemberSettleExt 获得奖金的人
|
||||
* @Description: 获得 辅导收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void coachRemark(SaOrderExt saOrderExt, CuMemberBonusCoach cuMemberBonusCoach,
|
||||
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt, boolean firstBool) {
|
||||
String remark = String.format(firstBool ? BonusMsgConstants.COACH : BonusMsgConstants.REPURCHASE_COACH,
|
||||
cuMemberBonusCoach.getCurrentGeneration(), saOrderExt.getOrderCode(),
|
||||
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
|
||||
cuMemberBonusCoach.getCurrentGeneration(), null != saOrderExt ? saOrderExt.getOrderCode() : " ",
|
||||
sourceCuMemberSettleExt.getMemberCode() + " " + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + " " + targetCuMemberSettleExt.getMemberName(),
|
||||
cuMemberBonusCoach.getCalAchieve(), cuMemberBonusCoach.getCalValue());
|
||||
cuMemberBonusCoach.setRemark(remark);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得 辅导收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusCoach 辅导奖
|
||||
* @param sourceMemberRangeExt 提供奖金的人
|
||||
* @param targetMemberRangeExt 获得奖金的人
|
||||
* @Description: 获得 辅导收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void coachRangeRemark(SaOrderExt saOrderExt, CuMemberBonusCoach cuMemberBonusCoach,
|
||||
CuMemberRangeExt sourceMemberRangeExt, CuMemberRangeExt targetMemberRangeExt) {
|
||||
String remark = String.format(BonusMsgConstants.RANGE_COACH, cuMemberBonusCoach.getCurrentGeneration(), cuMemberBonusCoach.getCoachGeneration(),
|
||||
saOrderExt.getOrderCode(),
|
||||
sourceMemberRangeExt.getMemberCode() + sourceMemberRangeExt.getMemberName(),
|
||||
targetMemberRangeExt.getMemberCode() + targetMemberRangeExt.getMemberName(),
|
||||
sourceMemberRangeExt.getMemberCode() + " " + sourceMemberRangeExt.getMemberName(),
|
||||
targetMemberRangeExt.getMemberCode() + " " + targetMemberRangeExt.getMemberName(),
|
||||
cuMemberBonusCoach.getCalAchieve(), cuMemberBonusCoach.getCalValue());
|
||||
cuMemberBonusCoach.setRemark(remark);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得 报单服务费收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusDetail 报单服务费
|
||||
* @param sourceCuMemberSettleExt 提供奖金的人
|
||||
* @param targetCuMemberSettleExt 获得奖金的人
|
||||
* @Description: 获得 报单服务费收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void serviceRemark(SaOrderExt saOrderExt, CuMemberBonusDetail cuMemberBonusDetail,
|
||||
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt) {
|
||||
String remark = String.format(BonusMsgConstants.SERVICE, saOrderExt.getOrderCode(),
|
||||
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
|
||||
sourceCuMemberSettleExt.getMemberCode() + " " + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + " " + targetCuMemberSettleExt.getMemberName(),
|
||||
cuMemberBonusDetail.getCalAchieve(), cuMemberBonusDetail.getCalValue());
|
||||
cuMemberBonusDetail.setRemark(remark);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得 报单服务费收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusDetail 报单服务费
|
||||
* @param sourceCuMemberRangeExt 提供奖金的人
|
||||
* @param targetCuMemberRangeExt 获得奖金的人
|
||||
* @Description: 获得 报单服务费收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void rangeServiceRemark(SaOrderExt saOrderExt, CuMemberBonusDetail cuMemberBonusDetail,
|
||||
CuMemberRangeExt sourceCuMemberRangeExt, CuMemberRangeExt targetCuMemberRangeExt) {
|
||||
String remark = String.format(BonusMsgConstants.RANGE_SERVICE, saOrderExt.getOrderCode(),
|
||||
sourceCuMemberRangeExt.getMemberCode() + sourceCuMemberRangeExt.getMemberName(),
|
||||
targetCuMemberRangeExt.getMemberCode() + targetCuMemberRangeExt.getMemberName(),
|
||||
sourceCuMemberRangeExt.getMemberCode() + " " + sourceCuMemberRangeExt.getMemberName(),
|
||||
targetCuMemberRangeExt.getMemberCode() + " " + targetCuMemberRangeExt.getMemberName(),
|
||||
cuMemberBonusDetail.getCalAchieve(), cuMemberBonusDetail.getCalValue());
|
||||
cuMemberBonusDetail.setRemark(remark);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得 报单服务费收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusDetail 报单服务费
|
||||
* @param sourceCuMemberSettleExt 提供奖金的人
|
||||
* @param targetCuMemberSettleExt 获得奖金的人
|
||||
* @Description: 获得 报单服务费收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void haiFunRemark(SaOrderExt saOrderExt, CuMemberBonusDetail cuMemberBonusDetail,
|
||||
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt) {
|
||||
String remark = String.format(BonusMsgConstants.HAI_FUN, saOrderExt.getOrderCode(),
|
||||
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
|
||||
sourceCuMemberSettleExt.getMemberCode() + " " + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + " " + targetCuMemberSettleExt.getMemberName(),
|
||||
cuMemberBonusDetail.getPretaxIncome());
|
||||
cuMemberBonusDetail.setRemark(remark);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得 嗨粉推荐的收益
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusDetail 报单服务费
|
||||
* @param sourceCuMemberSettleExt 提供奖金的人
|
||||
* @param targetCuMemberSettleExt 获得奖金的人
|
||||
* @Description: 获得 嗨粉推荐的收益
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void hiFunRemark(SaOrderExt saOrderExt, CuMemberBonusDetail cuMemberBonusDetail,
|
||||
CuMemberSettleExt sourceCuMemberSettleExt, CuMemberSettleExt targetCuMemberSettleExt) {
|
||||
String remark = String.format(BonusMsgConstants.HI_FUN, saOrderExt.getOrderCode(),
|
||||
sourceCuMemberSettleExt.getMemberCode() + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + targetCuMemberSettleExt.getMemberName(),
|
||||
sourceCuMemberSettleExt.getMemberCode() + " " + sourceCuMemberSettleExt.getMemberName(),
|
||||
targetCuMemberSettleExt.getMemberCode() + " " + targetCuMemberSettleExt.getMemberName(),
|
||||
cuMemberBonusDetail.getRealIncome());
|
||||
cuMemberBonusDetail.setRemark(remark);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得 分红收益的备注
|
||||
*
|
||||
* @param cuMemberBonusDetail 分红
|
||||
* @param settleDate 结算日期
|
||||
* @Description: 获得 分红收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void shareRemark(CuMemberBonusDetail cuMemberBonusDetail, String settleDate) {
|
||||
String remark = String.format(BonusMsgConstants.SHARE, DateUtils.getMonth(settleDate),
|
||||
|
@ -636,12 +613,10 @@ public abstract class BonusSettleHandle {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获得 分红收益的备注
|
||||
*
|
||||
* @param cuMemberBonusDetail 分红
|
||||
* @param settleDate 结算日期
|
||||
* @Description: 获得 分红收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void shareCouponRemark(CuMemberBonusDetail cuMemberBonusDetail, String settleDate) {
|
||||
String remark = String.format(BonusMsgConstants.SHARE_COUPON, DateUtils.getMonth(settleDate),
|
||||
|
@ -650,12 +625,10 @@ public abstract class BonusSettleHandle {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获得 店铺收益的备注
|
||||
*
|
||||
* @param cuMemberBonusDetail 分红
|
||||
* @param settleDate 结算日期
|
||||
* @Description: 获得 分红收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void storeRemark(CuMemberBonusDetail cuMemberBonusDetail, String settleDate) {
|
||||
String remark = String.format(BonusMsgConstants.STORE, DateUtils.getMonth(settleDate),
|
||||
|
@ -664,14 +637,12 @@ public abstract class BonusSettleHandle {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获得 极差收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusRange 报单服务费
|
||||
* @param sourceCuMemberSettleExt 提供奖金的人
|
||||
* @param targetCuMemberSettleExt 获得奖金的人
|
||||
* @Description: 获得 报单服务费收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void rangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberSettleExt sourceCuMemberSettleExt,
|
||||
CuMemberSettleExt targetCuMemberSettleExt, Map<String, RangeDTO> rangePkDtoMap) {
|
||||
|
@ -685,14 +656,12 @@ public abstract class BonusSettleHandle {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获得 极差收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusRange 报单服务费
|
||||
* @param sourceMemberRangeExt 提供奖金的人
|
||||
* @param targetMemberRangeExt 获得奖金的人
|
||||
* @Description: 获得 报单服务费收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void rangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRangeExt sourceMemberRangeExt,
|
||||
CuMemberRangeExt targetMemberRangeExt) {
|
||||
|
@ -704,14 +673,12 @@ public abstract class BonusSettleHandle {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获得 极差收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusRange 报单服务费
|
||||
* @param sourceMemberRangeExt 提供奖金的人
|
||||
* @param targetMemberRangeExt 获得奖金的人
|
||||
* @Description: 获得 报单服务费收益的备注
|
||||
* @return: String
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 11:22
|
||||
*/
|
||||
protected void oriRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberRangeExt sourceMemberRangeExt,
|
||||
CuMemberRangeExt targetMemberRangeExt) {
|
||||
|
@ -723,7 +690,7 @@ public abstract class BonusSettleHandle {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获得 报单服务费收益的备注
|
||||
* 获得 分享极差收益的备注
|
||||
*
|
||||
* @param saOrderExt 订单编号
|
||||
* @param cuMemberBonusRange 报单服务费
|
||||
|
@ -804,11 +771,17 @@ public abstract class BonusSettleHandle {
|
|||
* @return CuMemberBonus
|
||||
*/
|
||||
protected CuMemberBonus getCuMemberBonus(Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap, SaOrder saOrder, CuMemberSettleExt cuMemberSettleExt) {
|
||||
Integer pkRate = saOrder.getPkRate();
|
||||
if (pkRate == null || !Objects.equals(cuMemberSettleExt.getPkSettleCountry(), saOrder.getPkCountry())) {
|
||||
// 结算会员和订单不是一个国家的,需要按结算会员的汇率进行处理
|
||||
Integer pkRate;
|
||||
if (null == saOrder) {
|
||||
CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(cuMemberSettleExt.getPkSettleCountry()).getData();
|
||||
pkRate = currencyDTO.getPkId();
|
||||
} else {
|
||||
pkRate = saOrder.getPkRate();
|
||||
if (pkRate == null || !Objects.equals(cuMemberSettleExt.getPkSettleCountry(), saOrder.getPkCountry())) {
|
||||
// 结算会员和订单不是一个国家的,需要按结算会员的汇率进行处理
|
||||
CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(cuMemberSettleExt.getPkSettleCountry()).getData();
|
||||
pkRate = currencyDTO.getPkId();
|
||||
}
|
||||
}
|
||||
return getCuMemberBonus(period, cuMemberBonusMap, cuMemberSettleExt.getPkMember(), cuMemberSettleExt.getIncomeStatus(),
|
||||
cuMemberSettleExt.getPkSettleCountry(), pkRate);
|
||||
|
@ -861,6 +834,7 @@ public abstract class BonusSettleHandle {
|
|||
cuMemberBonus.setPkCreator(MagicNumberConstants.PK_ADMIN);
|
||||
cuMemberBonus.setPkCountry(pkCountry);
|
||||
cuMemberBonus.setGrantStatus(EGrantStatus.SETTLED.getValue());
|
||||
cuMemberBonus.setPkModified(pkMember);
|
||||
cuMemberBonusMap.put(pkMember, cuMemberBonus);
|
||||
return cuMemberBonus;
|
||||
}
|
||||
|
@ -1090,10 +1064,7 @@ public abstract class BonusSettleHandle {
|
|||
}
|
||||
|
||||
/**
|
||||
* @Description: 云代计算 扣项,小计,总计
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/11 13:59
|
||||
* 云代计算 扣项,小计,总计
|
||||
*/
|
||||
protected void setCloudTotal(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) {
|
||||
setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail);
|
||||
|
@ -1103,10 +1074,7 @@ public abstract class BonusSettleHandle {
|
|||
}
|
||||
|
||||
/**
|
||||
* @Description: 复购券 扣项,小计,总计
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/11 13:59
|
||||
* 复购券 扣项,小计,总计
|
||||
*/
|
||||
protected void setRepurchaseCouponTotal(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) {
|
||||
setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail);
|
||||
|
|
|
@ -241,7 +241,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
boolean firstFlag = EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrderExt.getOrderType()
|
||||
|| EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrderExt.getOrderType();
|
||||
// 领导奖处理
|
||||
List<CuMemberBonusCoach> cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonusOne(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, cuMemberBonusExpandList, period, cuMemberBonusMap, saOrderExtMap, cuAwardsControlMap, riskControlMap, awardsList, firstFlag);
|
||||
List<CuMemberBonusCoach> cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonusOne(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO,
|
||||
cuMemberBonusExpandList, period, cuMemberBonusMap, saOrderExtMap, cuAwardsControlMap, riskControlMap, awardsList, firstFlag, false);
|
||||
|
||||
// 计算报单服务费
|
||||
CuMemberBonusDetail cuMemberBonusDetail = bonusSettleFirstPurchaseHandle.calculateServiceBonusOne(settleDate, cuMemberAssessMap, cuMemberSettleExtMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt);
|
||||
|
@ -851,23 +852,26 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
List<CuMemberBonusExpand> delayExpandList = bonusSettleFirstPurchaseHandle.handleDelayExpand(bonusRecordDetailVO, cuMemberBonusMap, bonusConfigDTO, cuMemberSettleExtMap,
|
||||
period, yesterdayPeriod, settleTableName, gradeMap);
|
||||
|
||||
// TODO new 处理拓展延缓发放辅导收益
|
||||
// // 判断是否有量奖,有量奖有辅导奖
|
||||
// List<CuMemberBonusCoach> cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, Collections.emptyList(),
|
||||
// delayExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap, awardsList, true);
|
||||
// if (CollectionUtil.isNotEmpty(bonusRecordDetailVO.getCuMemberBonusCoachList())) {
|
||||
// bonusRecordDetailVO.getCuMemberBonusCoachList().addAll(cuMemberBonusCoachList);
|
||||
// }
|
||||
// TODO new 处理拓展延缓发放辅导收益(没有订单,需要兼容一下)
|
||||
// 判断是否有量奖,有量奖有辅导奖
|
||||
List<CuMemberBonusCoach> cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO,
|
||||
Collections.emptyList(), delayExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap, awardsList, true, false);
|
||||
if (CollectionUtil.isNotEmpty(bonusRecordDetailVO.getCuMemberBonusCoachList())) {
|
||||
bonusRecordDetailVO.getCuMemberBonusCoachList().addAll(cuMemberBonusCoachList);
|
||||
} else {
|
||||
bonusRecordDetailVO.setCuMemberBonusCoachList(cuMemberBonusCoachList);
|
||||
}
|
||||
// 延缓发放的订单占比等已经在延缓的时间处理过,后面不需要再处理,这个位置就先不用了
|
||||
// cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
// MemberBonusDetailCalVO memberBonusDetailCalVO = calculateOrderRatio(memberBonusDetailCalVoMap, cuMemberBonusCoach);
|
||||
// memberBonusDetailCalVO.setCoachIncome(ComputeUtil.computeAdd(memberBonusDetailCalVO.getCoachIncome(), cuMemberBonusCoach.getRealIncome()));
|
||||
// });
|
||||
// // 辅导收益
|
||||
// cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
// // 收益拨比、订单占比,在延缓明细里面已经计算过,此处可以直接给0
|
||||
// cuMemberBonusCoach.setIncomeDialRatio(BigDecimal.ZERO);
|
||||
// cuMemberBonusCoach.setOrderDialRatio(BigDecimal.ZERO);
|
||||
// });
|
||||
// 辅导收益
|
||||
cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
// 收益拨比、订单占比,在延缓明细里面已经计算过,此处可以直接给0
|
||||
cuMemberBonusCoach.setIncomeDialRatio(BigDecimal.ZERO);
|
||||
cuMemberBonusCoach.setOrderDialRatio(BigDecimal.ZERO);
|
||||
});
|
||||
|
||||
return leXueRangeParam;
|
||||
}
|
||||
|
@ -1067,7 +1071,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
//*********************************计算领导奖(首购辅导收益)************************/
|
||||
// 判断是否有量奖,有量奖有辅导奖
|
||||
List<CuMemberBonusCoach> cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, firPurchaseOrderList,
|
||||
cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap, awardsList, true);
|
||||
cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap, awardsList, true, true);
|
||||
if (CollectionUtil.isNotEmpty(bonusRecordDetailVO.getCuMemberBonusCoachList())) {
|
||||
bonusRecordDetailVO.getCuMemberBonusCoachList().addAll(cuMemberBonusCoachList);
|
||||
} else {
|
||||
|
@ -1195,7 +1199,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
//*********************************计算领导奖(复购辅导收益)************************/
|
||||
// 判断是否有量奖,有量奖有辅导奖
|
||||
List<CuMemberBonusCoach> cuMemberBonusCoachList = bonusSettleFirstPurchaseHandle.calculateCoachBonus(cuMemberSettleExtMap, settleTableName, settleDate, bonusConfigDTO, purchaseOrderList,
|
||||
cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap, awardsList, false);
|
||||
cuMemberBonusExpandList, period, cuMemberBonusMap, cuAwardsControlMap, riskControlMap, awardsList, false, true);
|
||||
bonusRecordDetailVO.setCuMemberBonusCoachList(cuMemberBonusCoachList);
|
||||
|
||||
//****************************乐学极差(复购)*****************************/
|
||||
|
|
|
@ -517,7 +517,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
});
|
||||
} else if (EBonusItems.COACHING_INCOME.getValue() == bonusItemsValue
|
||||
|| EBonusItems.REPURCHASE_COACHING_INCOME.getValue() == bonusItemsValue) {
|
||||
// 辅导收益
|
||||
// 辅导收益、复购辅导收益
|
||||
List<CuMemberBonusCoachExt> cuMemberBonusCoachList = cuMemberBonusCoachMapper.queryMemberBonusCoachByBonusItemsForServer(bonusParam);
|
||||
dataTable = getDataTable(cuMemberBonusCoachList);
|
||||
cuMemberBonusCoachList.forEach(cuMemberBonusCoach -> {
|
||||
|
|
|
@ -347,4 +347,19 @@ public class MemberBonusDetailSerVO implements Serializable {
|
|||
@Excel(name = "订单拨比(%)", scale = 2)
|
||||
private BigDecimal orderDialRatio;
|
||||
|
||||
public BigDecimal getOrderAmount() {
|
||||
return null != orderAmount ? orderAmount : BigDecimal.ZERO;
|
||||
}
|
||||
|
||||
public BigDecimal getOrderAchieveOri() {
|
||||
return null != orderAchieveOri ? orderAchieveOri : BigDecimal.ZERO;
|
||||
}
|
||||
|
||||
public BigDecimal getOrderAmountDollar() {
|
||||
return null != orderAmountDollar ? orderAmountDollar : BigDecimal.ZERO;
|
||||
}
|
||||
|
||||
public BigDecimal getOrderAchieve() {
|
||||
return null != orderAchieve ? orderAchieve : BigDecimal.ZERO;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
coach_generation, coach_no_capping, coach_capping,
|
||||
coach_normal_half, coach_normal_real, remark,
|
||||
income_ratio, income_dial_ratio, order_dial_ratio,
|
||||
pk_country, pk_creator
|
||||
pk_country, pk_creator, pk_modified
|
||||
)
|
||||
values (
|
||||
#{item.pkBonus}, #{item.pkOrder}, #{item.pkBonusItems}, #{item.incomeStatus},
|
||||
|
@ -75,7 +75,7 @@
|
|||
#{item.coachGeneration}, #{item.coachNoCapping}, #{item.coachCapping},
|
||||
#{item.coachNormalHalf},#{item.coachNormalReal}, #{item.remark},
|
||||
#{item.incomeRatio}, #{item.incomeDialRatio}, #{item.orderDialRatio},
|
||||
#{item.pkCountry}, #{item.pkCreator}
|
||||
#{item.pkCountry}, #{item.pkCreator} ,#{item.pkModified,jdbcType=NUMERIC}
|
||||
)
|
||||
</foreach>
|
||||
SELECT 1 FROM dual
|
||||
|
@ -162,32 +162,34 @@
|
|||
|
||||
<select id="queryMemberBonusCoachByBonusItemsForServer" resultMap="CuMemberBonusCoach">
|
||||
select b.period,cp.settle_date,so.order_code,so.order_type,bt.short_name source_country_name,
|
||||
cu.member_code source_member_code,cu.member_name source_member_name,so.pk_rate,bc.out_exchange_rate,so.order_amount,
|
||||
nvl(cu.member_code, cum.member_code) source_member_code, nvl(cu.member_name, cum.member_name) source_member_name,
|
||||
so.pk_rate,bc.out_exchange_rate,so.order_amount,
|
||||
so.order_achieve,b.pk_country,b.pk_bonus_items,b.pretax_income,b.income_tax,b.real_income,b.income_status,
|
||||
tar.member_code,tar.member_name,bg.pk_transaction pk_settle_grade,ba.pk_transaction pk_awards,bv.vertex_name,ct.team_name,
|
||||
b.remark,b.income_ratio,b.income_dial_ratio,b.order_dial_ratio,b.current_generation,b.coach_generation,
|
||||
b.coach_no_capping,b.coach_capping,b.coach_normal_half,b.coach_normal_real,bct.short_name settle_country
|
||||
from sa_order so
|
||||
inner join (
|
||||
from (
|
||||
select
|
||||
cb.pk_member,cc.pk_order,cb.period,cb.pk_country,cc.pk_bonus_items,cc.income_status,cc.CAL_ACHIEVE,cc.pretax_income,cc.income_tax,cc.real_income,
|
||||
cc.remark,cc.income_ratio,cc.income_dial_ratio,cc.order_dial_ratio,cc.current_generation,cc.coach_generation,
|
||||
cc.coach_no_capping,cc.coach_capping,cc.coach_normal_half,cc.coach_normal_real from cu_member_bonus cb
|
||||
cc.coach_no_capping,cc.coach_capping,cc.coach_normal_half,cc.coach_normal_real,
|
||||
cb.pk_rate, cc.pk_modified
|
||||
from cu_member_bonus cb
|
||||
inner join cu_member_bonus_coach cc
|
||||
on cb.pk_id = cc.pk_bonus
|
||||
where 1=1
|
||||
where 1 = 1
|
||||
<if test="bonusParam.period != null">
|
||||
and cb.period =#{bonusParam.period}
|
||||
</if>
|
||||
<if test="bonusParam.pkBonusItems != null">
|
||||
and cc.pk_bonus_items = #{bonusParam.pkBonusItems}
|
||||
</if>
|
||||
<if test="bonusParam.vertexList != null and bonusParam.vertexList.size >0">
|
||||
<if test="bonusParam.vertexList != null and bonusParam.vertexList.size > 0">
|
||||
and exists(
|
||||
select 1 from (
|
||||
<foreach collection="bonusParam.vertexList" item="item" separator=" union ">
|
||||
select pk_id from cu_member
|
||||
where del_flag=0 and PAY_STATUS=1
|
||||
where del_flag = 0 and PAY_STATUS = 1
|
||||
start with pk_id = #{item}
|
||||
connect by pk_parent = prior pk_id
|
||||
</foreach>
|
||||
|
@ -205,27 +207,30 @@
|
|||
)
|
||||
</if>
|
||||
) b
|
||||
left join sa_order so
|
||||
on so.pk_id = b.pk_order
|
||||
inner join cu_member tar
|
||||
left join cu_member tar
|
||||
on b.pk_member = tar.pk_id
|
||||
inner join cu_member cu
|
||||
left join cu_member cu
|
||||
on so.pk_member = cu.pk_id
|
||||
inner join cu_member_settle_period cp
|
||||
left join cu_member cum
|
||||
on b.pk_modified = cum.pk_id
|
||||
left join cu_member_settle_period cp
|
||||
on b.period = cp.pk_id
|
||||
left join bd_vertex bv
|
||||
on bv.pk_id = tar.pk_vertex
|
||||
left join cu_member_team ct
|
||||
on ct.pk_id = tar.pk_team_code
|
||||
left join bd_currency bc
|
||||
on bc.pk_id=so.pk_rate
|
||||
on bc.pk_id = b.pk_rate
|
||||
left join bd_grade bg
|
||||
on bg.pk_id=tar.pk_settle_grade
|
||||
on bg.pk_id = tar.pk_settle_grade
|
||||
left join bd_awards ba
|
||||
on ba.pk_id=tar.pk_awards
|
||||
on ba.pk_id = tar.pk_awards
|
||||
left join bd_country bt
|
||||
on bt.pk_id=so.pk_country
|
||||
on bt.pk_id = so.pk_country
|
||||
left join bd_country bct
|
||||
on bct.pk_id=tar.pk_settle_country
|
||||
on bct.pk_id = tar.pk_settle_country
|
||||
<where>
|
||||
1=1
|
||||
<if test="bonusParam.pkCountry != null">
|
||||
|
@ -250,10 +255,16 @@
|
|||
and so.order_code like #{bonusParam.orderCode}|| '%'
|
||||
</if>
|
||||
<if test="bonusParam.sourceMemberCode != null and bonusParam.sourceMemberCode != ''">
|
||||
and cu.member_code = #{bonusParam.sourceMemberCode}
|
||||
and (
|
||||
cu.member_code = #{bonusParam.sourceMemberCode}
|
||||
or cum.member_code = #{bonusParam.sourceMemberCode}
|
||||
)
|
||||
</if>
|
||||
<if test="bonusParam.sourceMemberName != null and bonusParam.sourceMemberName != ''">
|
||||
and cu.member_name = #{bonusParam.sourceMemberName}
|
||||
and (
|
||||
cu.member_name = #{bonusParam.sourceMemberName}
|
||||
or cum.member_name = #{bonusParam.sourceMemberName}
|
||||
)
|
||||
</if>
|
||||
<if test="bonusParam.memberCode != null and bonusParam.memberCode != ''">
|
||||
and tar.member_code = #{bonusParam.memberCode}
|
||||
|
@ -272,7 +283,7 @@
|
|||
</if>
|
||||
</where>
|
||||
<choose>
|
||||
<when test="bonusParam.sort == null or bonusParam.sort ==1">order by cp.settle_date desc, so.order_code,b.current_generation</when>
|
||||
<when test="bonusParam.sort == null or bonusParam.sort ==1">order by cp.settle_date desc, so.order_code, b.current_generation</when>
|
||||
<when test="bonusParam.sort ==2">order by tar.pk_vertex, b.real_income desc</when>
|
||||
<otherwise>order by tar.pk_teamcode</otherwise>
|
||||
</choose>
|
||||
|
|
|
@ -252,9 +252,9 @@
|
|||
</select>
|
||||
|
||||
<select id="queryMemberBonusDetailByConditionForServer" resultMap="CuMemberBonusDetail">
|
||||
select b.period,cp.settle_date,
|
||||
so.order_code,so.order_type,bt.short_name source_country_name,
|
||||
cu.member_code source_member_code,cu.member_name source_member_name,
|
||||
select b.period, cp.settle_date,
|
||||
so.order_code, so.order_type, bt.short_name source_country_name,
|
||||
nvl(cu.member_code, cum.member_code) source_member_code, nvl(cu.member_name, cum.member_name) source_member_name,
|
||||
nvl(so.pk_rate, 1) pk_rate, nvl(bc.out_exchange_rate, 1) out_exchange_rate,
|
||||
nvl(so.order_amount, 0) order_amount, nvl(so.order_achieve, 0) order_achieve,
|
||||
b.pk_country,b.pk_bonus_items,b.pretax_income,b.income_tax,b.real_income,b.income_status,
|
||||
|
@ -265,7 +265,8 @@
|
|||
select * from (
|
||||
select
|
||||
cb.pk_member,cd.pk_order,cb.period,cb.pk_country,cd.pk_bonus_items,cd.income_status,cd.CAL_ACHIEVE,cd.pretax_income,cd.income_tax,cd.real_income,
|
||||
cd.remark,cd.income_ratio,cd.income_dial_ratio,cd.order_dial_ratio from cu_member_bonus cb
|
||||
cd.remark,cd.income_ratio,cd.income_dial_ratio,cd.order_dial_ratio, cd.pk_modified
|
||||
from cu_member_bonus cb
|
||||
inner join cu_member_bonus_detail cd
|
||||
on cb.pk_id = cd.pk_bonus
|
||||
where 1=1
|
||||
|
@ -278,8 +279,8 @@
|
|||
union all
|
||||
select
|
||||
cb.pk_member,cp.pk_order,cb.period,cb.pk_country,cp.pk_bonus_items,cp.income_status,cp.CAL_ACHIEVE,cp.pretax_income,cp.income_tax,cp.real_income,
|
||||
cp.remark,cp.income_ratio,cp.income_dial_ratio,cp.order_dial_ratio from
|
||||
cu_member_bonus cb
|
||||
cp.remark,cp.income_ratio,cp.income_dial_ratio,cp.order_dial_ratio, cp.pk_modified
|
||||
from cu_member_bonus cb
|
||||
inner join cu_member_bonus_push cp
|
||||
on cb.pk_id = cp.pk_bonus
|
||||
where 1=1
|
||||
|
@ -292,8 +293,8 @@
|
|||
union all
|
||||
select
|
||||
cb.pk_member,ce.pk_order,cb.period,cb.pk_country,ce.pk_bonus_items,ce.income_status,ce.CAL_ACHIEVE,ce.pretax_income,ce.income_tax,ce.real_income,
|
||||
ce.remark,ce.income_ratio,ce.income_dial_ratio,ce.order_dial_ratio from
|
||||
cu_member_bonus cb
|
||||
ce.remark,ce.income_ratio,ce.income_dial_ratio,ce.order_dial_ratio, ce.pk_modified
|
||||
from cu_member_bonus cb
|
||||
inner join cu_member_bonus_expand ce
|
||||
on cb.pk_id = ce.pk_bonus
|
||||
where 1=1
|
||||
|
@ -306,8 +307,8 @@
|
|||
union all
|
||||
select
|
||||
cb.pk_member,cc.pk_order,cb.period,cb.pk_country,cc.pk_bonus_items,cc.income_status,cc.CAL_ACHIEVE,cc.pretax_income,cc.income_tax,cc.real_income,
|
||||
cc.remark,cc.income_ratio,cc.income_dial_ratio,cc.order_dial_ratio from
|
||||
cu_member_bonus cb
|
||||
cc.remark,cc.income_ratio,cc.income_dial_ratio,cc.order_dial_ratio, cc.pk_modified
|
||||
from cu_member_bonus cb
|
||||
inner join cu_member_bonus_coach cc
|
||||
on cb.pk_id = cc.pk_bonus
|
||||
where 1=1
|
||||
|
@ -320,8 +321,8 @@
|
|||
union all
|
||||
select
|
||||
cb.pk_member,cr.pk_order,cb.period,cb.pk_country,cr.pk_bonus_items,cr.income_status,cr.CAL_ACHIEVE,cr.pretax_income,cr.income_tax,cr.real_income,
|
||||
cr.remark,cr.income_ratio,cr.income_dial_ratio,cr.order_dial_ratio from
|
||||
cu_member_bonus cb
|
||||
cr.remark,cr.income_ratio,cr.income_dial_ratio,cr.order_dial_ratio, cr.pk_modified
|
||||
from cu_member_bonus cb
|
||||
inner join cu_member_bonus_range cr
|
||||
on cb.pk_id = cr.pk_bonus
|
||||
where 1=1
|
||||
|
@ -367,6 +368,8 @@
|
|||
on b.pk_member = tar.pk_id
|
||||
left join cu_member cu
|
||||
on so.pk_member = cu.pk_id
|
||||
left join cu_member cum
|
||||
on cum.pk_id = b.pk_modified
|
||||
left join cu_member_settle_period cp
|
||||
on b.period = cp.pk_id
|
||||
left join bd_vertex bv
|
||||
|
@ -382,7 +385,7 @@
|
|||
left join bd_country bt
|
||||
on bt.pk_id=so.pk_country
|
||||
left join bd_country bct
|
||||
on bct.pk_id=tar.pk_settle_country
|
||||
on bct.pk_id = tar.pk_settle_country
|
||||
<where>
|
||||
1=1
|
||||
<if test="bonusParam.pkCountry != null">
|
||||
|
@ -407,10 +410,16 @@
|
|||
and so.order_code like #{bonusParam.orderCode}|| '%'
|
||||
</if>
|
||||
<if test="bonusParam.sourceMemberCode != null and bonusParam.sourceMemberCode != ''">
|
||||
and cu.member_code = #{bonusParam.sourceMemberCode}
|
||||
and (
|
||||
cu.member_code = #{bonusParam.sourceMemberCode}
|
||||
or cum.member_code = #{bonusParam.sourceMemberCode}
|
||||
)
|
||||
</if>
|
||||
<if test="bonusParam.sourceMemberName != null and bonusParam.sourceMemberName != ''">
|
||||
and cu.member_name = #{bonusParam.sourceMemberName}
|
||||
and (
|
||||
cu.member_name = #{bonusParam.sourceMemberName}
|
||||
or cum.member_name = #{bonusParam.sourceMemberName}
|
||||
)
|
||||
</if>
|
||||
<if test="bonusParam.memberCode != null and bonusParam.memberCode != ''">
|
||||
and tar.member_code = #{bonusParam.memberCode}
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
cal_type,cal_achieve,cal_value,pretax_income,
|
||||
income_tax,real_income,current_touch,expand_touch,add_touch,expand_no_capping,
|
||||
expand_capping,expand_normal_half,expand_normal_real,remark,
|
||||
income_ratio,income_dial_ratio,order_dial_ratio,pk_country,pk_creator)
|
||||
income_ratio,income_dial_ratio,order_dial_ratio,pk_country, pk_creator, pk_modified)
|
||||
values
|
||||
(
|
||||
#{item.pkBonus},#{item.pkOrder},#{item.pkBonusItems},#{item.incomeStatus},
|
||||
|
@ -72,11 +72,12 @@
|
|||
#{item.incomeTax},#{item.realIncome},#{item.currentTouch},#{item.expandTouch},#{item.addTouch,jdbcType=NUMERIC},
|
||||
#{item.expandNoCapping},#{item.expandCapping},#{item.expandNormalHalf},#{item.expandNormalReal},
|
||||
#{item.remark},#{item.incomeRatio},#{item.incomeDialRatio},#{item.orderDialRatio},
|
||||
#{item.pkCountry},#{item.pkCreator}
|
||||
#{item.pkCountry} ,#{item.pkCreator} ,#{item.pkModified,jdbcType=NUMERIC}
|
||||
)
|
||||
</foreach>
|
||||
SELECT 1 FROM dual
|
||||
</insert>
|
||||
|
||||
<insert id="insertCuMemberBonusExpand">
|
||||
insert into cu_member_bonus_expand(pk_bonus, pk_order, pk_bonus_items, income_status,
|
||||
cal_type, cal_achieve, cal_value, pretax_income,
|
||||
|
@ -171,7 +172,7 @@
|
|||
<select id="queryMemberBonusExpandByBonusItemsForServer" resultMap="CuMemberBonusExpand">
|
||||
select b.period, cp.settle_date,
|
||||
so.order_code,so.order_type,bt.short_name source_country_name,
|
||||
cu.member_code source_member_code,cu.member_name source_member_name,
|
||||
nvl(cu.member_code, cum.member_code) source_member_code, nvl(cu.member_name, cum.member_name) source_member_name,
|
||||
nvl(so.pk_rate, 1) pk_rate, nvl(bc.out_exchange_rate, 1) out_exchange_rate,
|
||||
nvl(so.order_amount, 0) order_amount, nvl(so.order_achieve, 0) order_achieve,
|
||||
b.pk_country,b.pk_bonus_items,b.pretax_income,b.income_tax,b.real_income,b.income_status,
|
||||
|
@ -182,7 +183,7 @@
|
|||
select
|
||||
cb.pk_member,ce.pk_order,cb.period,cb.pk_country,ce.pk_bonus_items,ce.income_status,ce.CAL_ACHIEVE,ce.pretax_income,ce.income_tax,ce.real_income,
|
||||
ce.remark,ce.income_ratio,ce.income_dial_ratio,ce.order_dial_ratio,ce.current_touch,ce.expand_touch,
|
||||
ce.expand_no_capping,ce.expand_capping,ce.expand_normal_half,ce.expand_normal_real
|
||||
ce.expand_no_capping,ce.expand_capping,ce.expand_normal_half,ce.expand_normal_real, ce.pk_modified
|
||||
from cu_member_bonus cb
|
||||
inner join cu_member_bonus_expand ce
|
||||
on cb.pk_id = ce.pk_bonus
|
||||
|
@ -224,6 +225,8 @@
|
|||
on b.pk_member = tar.pk_id
|
||||
left join cu_member cu
|
||||
on so.pk_member = cu.pk_id
|
||||
left join cu_member cum
|
||||
on b.pk_modified = cum.pk_id
|
||||
left join cu_member_settle_period cp
|
||||
on b.period = cp.pk_id
|
||||
left join bd_vertex bv
|
||||
|
@ -264,10 +267,16 @@
|
|||
and so.order_code like #{bonusParam.orderCode}|| '%'
|
||||
</if>
|
||||
<if test="bonusParam.sourceMemberCode != null and bonusParam.sourceMemberCode != ''">
|
||||
and cu.member_code = #{bonusParam.sourceMemberCode}
|
||||
and (
|
||||
cu.member_code = #{bonusParam.sourceMemberCode}
|
||||
or cum.member_code = #{bonusParam.sourceMemberCode}
|
||||
)
|
||||
</if>
|
||||
<if test="bonusParam.sourceMemberName != null and bonusParam.sourceMemberName != ''">
|
||||
and cu.member_name = #{bonusParam.sourceMemberName}
|
||||
and (
|
||||
cu.member_name = #{bonusParam.sourceMemberName}
|
||||
or cum.member_name = #{bonusParam.sourceMemberName}
|
||||
)
|
||||
</if>
|
||||
<if test="bonusParam.memberCode != null and bonusParam.memberCode != ''">
|
||||
and tar.member_code = #{bonusParam.memberCode}
|
||||
|
|
|
@ -15,12 +15,10 @@ import java.math.RoundingMode;
|
|||
public class ComputeUtil {
|
||||
|
||||
/**
|
||||
* 统一的除法计算方法
|
||||
*
|
||||
* @param divisor 除数
|
||||
* @param dividend 被除数
|
||||
* @Description: 统一的除法计算方法
|
||||
* @return: BigDecimal
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/20 21:09
|
||||
*/
|
||||
public static BigDecimal computeDivide(BigDecimal divisor, BigDecimal dividend) {
|
||||
if (dividend.compareTo(BigDecimal.ZERO) == 0) {
|
||||
|
@ -30,12 +28,10 @@ public class ComputeUtil {
|
|||
}
|
||||
|
||||
/**
|
||||
* 统一的除法计算方法, 向上取整
|
||||
*
|
||||
* @param divisor 除数
|
||||
* @param dividend 被除数
|
||||
* @Description: 统一的除法计算方法, 向上取整
|
||||
* @return: BigDecimal
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/20 21:09
|
||||
*/
|
||||
public static BigDecimal computeDivideRoundUp(BigDecimal divisor, BigDecimal dividend) {
|
||||
if (dividend.compareTo(BigDecimal.ZERO) == 0) {
|
||||
|
@ -45,12 +41,10 @@ public class ComputeUtil {
|
|||
}
|
||||
|
||||
/**
|
||||
* 统一的除法计算方法, 向下取整
|
||||
*
|
||||
* @param divisor 除数
|
||||
* @param dividend 被除数
|
||||
* @Description: 统一的除法计算方法, 向下取整
|
||||
* @return: BigDecimal
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/20 21:09
|
||||
*/
|
||||
public static BigDecimal computeDivideRoundDown(BigDecimal divisor, BigDecimal dividend) {
|
||||
if (dividend.compareTo(BigDecimal.ZERO) == 0) {
|
||||
|
@ -60,12 +54,10 @@ public class ComputeUtil {
|
|||
}
|
||||
|
||||
/**
|
||||
* 统一的减法计算方法,前面减后面
|
||||
*
|
||||
* @param subtract 值1
|
||||
* @param subtract1 值2
|
||||
* 统一的减法计算方法,前面减后面
|
||||
* @return: BigDecimal
|
||||
* @Author: sui q
|
||||
* @Date: 2022/9/20 21:09
|
||||
*/
|
||||
public static BigDecimal computeSubtract(BigDecimal subtract, BigDecimal subtract1) {
|
||||
return subtract.subtract(subtract1);
|
||||
|
|
Loading…
Reference in New Issue