## 乐学复购级差法宝券结算;
This commit is contained in:
parent
e04067e186
commit
dc77f6c9fc
|
@ -651,14 +651,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 xueRangeRemark(SaOrderExt saOrderExt, CuMemberBonusRange cuMemberBonusRange, CuMemberSettleExt sourceCuMemberSettleExt,
|
||||
CuMemberSettleExt targetCuMemberSettleExt) {
|
||||
|
@ -858,13 +856,11 @@ public abstract class BonusSettleHandle {
|
|||
}
|
||||
|
||||
/**
|
||||
* 根据订单获取会员的血缘父级,用于嗨粉推荐、复购极差
|
||||
*
|
||||
* @param cuMemberSettleExtMap 树关系
|
||||
* @param settleTableName 结算表
|
||||
* @param saOrderList 订单
|
||||
* @Description: 根据订单获取会员的血缘父级,用于嗨粉推荐、复购极差
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/4 14:10
|
||||
*/
|
||||
protected List<CuMemberSettleExt> getMemberParentBySaOrder(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleTableName, List<SaOrderExt> saOrderList) {
|
||||
Set<Long> memberSet = new HashSet<>();
|
||||
|
@ -946,12 +942,10 @@ public abstract class BonusSettleHandle {
|
|||
}
|
||||
|
||||
/**
|
||||
* 设置奖金扣项,计算税前收益,扣税,实际收益, 设置主表
|
||||
*
|
||||
* @param cuMemberBonus 奖金明细
|
||||
* @param bonusDetail 奖金明细表
|
||||
* @Description: 设置奖金扣项,计算税前收益,扣税,实际收益, 设置主表
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2023/1/11 11:17
|
||||
*/
|
||||
protected void setBonusDeduct(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) {
|
||||
BigDecimal pretaxIncome = ReflectUtils.invokeGetter(bonusDetail, BonusFieldConstants.PRETAX_INCOME);
|
||||
|
@ -966,12 +960,10 @@ public abstract class BonusSettleHandle {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获得需要查询的会员,免考通过的不需要查询考核记录
|
||||
*
|
||||
* @param cuMemberSettleExtMap 存储目前有的会员数据
|
||||
* @param cuMemberSettleExtList 需要查询的会员数据
|
||||
* @Description: 获得需要查询的会员,免考通过的不需要查询考核记录
|
||||
* @return: List<CuMemberSettleExt>
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/17 17:57
|
||||
*/
|
||||
protected List<CuMemberSettleExt> getQueryMemberSettleExtList(Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, List<CuMemberSettleExt> cuMemberSettleExtList) {
|
||||
// 过滤数据,免考的会员不进行查询
|
||||
|
@ -1006,6 +998,7 @@ public abstract class BonusSettleHandle {
|
|||
* @Date: 2023/1/11 13:59
|
||||
*/
|
||||
protected void setPurchaseTotal(BdBonusDeduct bdBonusDeduct, CuMemberBonus cuMemberBonus, Object bonusDetail) {
|
||||
// 处理扣项
|
||||
setBonusDeduct(bdBonusDeduct, cuMemberBonus, bonusDetail);
|
||||
BigDecimal realIncome = ReflectUtils.invokeGetter(bonusDetail, BonusFieldConstants.REAL_INCOME);
|
||||
cuMemberBonus.setRepurRealSubtotal(ComputeUtil.computeAdd(cuMemberBonus.getRepurRealSubtotal(), realIncome));
|
||||
|
|
|
@ -428,8 +428,12 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
}*/
|
||||
});
|
||||
List<CuMemberBonusRange> cuMemberBonusRangeList = new ArrayList<>();
|
||||
List<CuMemberSettleExt> cuMemberSettleExtList = getMemberParentBySaOrder(cuMemberSettleExtMap, settleTableName, purchaseOrderList);
|
||||
Map<Long, CuMemberAssess> cuMemberAssessMap = getCuMemberAssessMap(cuMemberSettleExtMap, settleDate, cuMemberSettleExtList);
|
||||
// TODO new 乐学不需要考核相关
|
||||
// List<CuMemberSettleExt> cuMemberSettleExtList = getMemberParentBySaOrder(cuMemberSettleExtMap, settleTableName, purchaseOrderList);
|
||||
// Map<Long, CuMemberAssess> cuMemberAssessMap = getCuMemberAssessMap(cuMemberSettleExtMap, settleDate, cuMemberSettleExtList);
|
||||
|
||||
Map<Long, CuMemberAssess> cuMemberAssessMap = null;
|
||||
|
||||
// if (chinaRangeOrderList.size() > 0) {
|
||||
// Map<String, List<SaOrderRangeDto>> saOrderRangeDtoMap = saOrderServiceApi.queryOrderRangeVO(chinaRangeOrderList).getData();
|
||||
// Map<String, RangeDTO> rangePkDtoMap = new HashMap<>(ComputeUtil.mapInitCapacity(rangeDtoMap.size()));
|
||||
|
@ -502,6 +506,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
// }
|
||||
// }
|
||||
// }
|
||||
// TODO new 乐学复购级差,商品4个等级购买差价300,这个位置进行拨出
|
||||
if (specialOrderList.size() > 0) {
|
||||
for (SaOrderExt saOrderExt : specialOrderList) {
|
||||
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsExtList()) {
|
||||
|
@ -590,6 +595,7 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
}
|
||||
}
|
||||
}
|
||||
// TODO new 乐学特殊级差
|
||||
calculateLeXueRangeBonus(settleTableName, rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, leXueRangeParam, specialOrderList, cuMemberBonusRangeList);
|
||||
}
|
||||
return cuMemberBonusRangeList;
|
||||
|
@ -616,22 +622,44 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
cuMemberBonusRangeList.add(cuMemberBonusRange);
|
||||
}
|
||||
|
||||
/**
|
||||
* 乐学特殊复购级差,根据法宝券进行计算奖金
|
||||
* 每个等级最多拨出一张法宝券,给200奖金,遇到V4为止
|
||||
*
|
||||
* @param settleTableName
|
||||
* @param rangeDtoMap
|
||||
* @param bonusConfigDTO
|
||||
* @param period
|
||||
* @param cuMemberBonusMap
|
||||
* @param leXueRangeParam
|
||||
* @param specialOrderList
|
||||
* @param cuMemberBonusRangeList
|
||||
*/
|
||||
private void calculateLeXueRangeBonus(String settleTableName, Map<String, RangeDTO> rangeDtoMap, BonusConfigDTO bonusConfigDTO,
|
||||
Integer period, Map<Long, CuMemberBonus> cuMemberBonusMap, LeXueRangeParam leXueRangeParam,
|
||||
List<SaOrderExt> specialOrderList, List<CuMemberBonusRange> cuMemberBonusRangeList) {
|
||||
// 计算乐学易考特殊复购极差,找第一个vip,svip,找到有代金券,代金券-1,奖金给金额,第一个是svip后,就不给
|
||||
if (specialOrderList.size() > 0) {
|
||||
// 查找订单血缘
|
||||
// 查找订单血缘上会员
|
||||
Set<Long> expandMemberSet = specialOrderList.stream().distinct().map(SaOrderExt::getPkMember).collect(Collectors.toSet());
|
||||
List<CuMemberSettleExt> specialMemberSettleExtList = cuMemberTreeService.batchQueryCuMemberSettleParentForSpecial(settleTableName, expandMemberSet);
|
||||
|
||||
// 重算的时候首先先把数量还回来,在重新计算,查询订单扣除的记录
|
||||
List<AcPickMemberLog> acPickMemberLogList = acPickServiceApi.queryPickMemberLog(specialOrderList).getData();
|
||||
// key: 会员ID + 提货专区ID
|
||||
Map<String, AcPickMemberLog> pickMemberLogMap = new HashMap<>(ComputeUtil.mapInitCapacity(acPickMemberLogList.size()));
|
||||
// key: 会员ID + 订单ID
|
||||
Map<String, AcPickMemberLog> orderMemberMap = new HashMap<>(ComputeUtil.mapInitCapacity(acPickMemberLogList.size()));
|
||||
if (CollectionUtil.isNotEmpty(acPickMemberLogList)) {
|
||||
acPickMemberLogList.forEach(acPickMemberLog ->
|
||||
pickMemberLogMap.put(acPickMemberLog.getPkMember().toString() + acPickMemberLog.getPkId(), acPickMemberLog));
|
||||
acPickMemberLogList.forEach(acPickMemberLog -> {
|
||||
pickMemberLogMap.put(acPickMemberLog.getPkMember().toString() + acPickMemberLog.getPkId(), acPickMemberLog);
|
||||
orderMemberMap.put(acPickMemberLog.getPkMember() + acPickMemberLog.getPickOrder(), acPickMemberLog);
|
||||
}
|
||||
);
|
||||
|
||||
leXueRangeParam.setAcPickMemberLogList(acPickMemberLogList);
|
||||
}
|
||||
|
||||
// 初始化父类网体的值
|
||||
Map<Long, CuMemberSettleExt> specialmeberSettleExtMap = new HashMap<>();
|
||||
getMemberSettle(specialmeberSettleExtMap, specialMemberSettleExtList);
|
||||
|
@ -645,53 +673,123 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
List<AcPickExt> acPickExtList = new ArrayList<>();
|
||||
for (SaOrderExt saOrderExt : specialOrderList) {
|
||||
for (SaOrderItemsExt saOrderItemsExt : saOrderExt.getOrderItemsExtList()) {
|
||||
if (EYesNo.YES.getIntValue() == saOrderItemsExt.getIsGift() || ComputeUtil.compareEqual(saOrderItemsExt.getPrice(), BigDecimal.ZERO) ||
|
||||
ComputeUtil.compareEqual(saOrderItemsExt.getAchievement(), BigDecimal.ZERO)) {
|
||||
if (EYesNo.YES.getIntValue() == saOrderItemsExt.getIsGift()
|
||||
|| ComputeUtil.compareEqual(saOrderItemsExt.getPrice(), BigDecimal.ZERO)
|
||||
|| ComputeUtil.compareEqual(saOrderItemsExt.getAchievement(), BigDecimal.ZERO)) {
|
||||
// 赠品 或者 金额为0 或者 业绩为0 则不进行处理
|
||||
continue;
|
||||
}
|
||||
// 订单对应的会员
|
||||
CuMemberSettleExt sourceMemberSettleExt = specialmeberSettleExtMap.get(saOrderExt.getPkMember());
|
||||
if (sourceMemberSettleExt == null) {
|
||||
continue;
|
||||
if (null == sourceMemberSettleExt) {
|
||||
break;
|
||||
}
|
||||
// 找不到父级了或者找到第一个svip直接跳出
|
||||
boolean flag = Boolean.TRUE;
|
||||
if (validatePkBonusItems(bonusConfigDTO, sourceMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue())) {
|
||||
// 没有这个奖项,直接退出
|
||||
break;
|
||||
}
|
||||
|
||||
// 订单会员推荐人
|
||||
Long pkParent = sourceMemberSettleExt.getPkParent();
|
||||
// 订单会员等级
|
||||
int gradeValue = sourceMemberSettleExt.getGradeValue();
|
||||
|
||||
// 订单是否使用法宝券(true 使用了法宝券)
|
||||
boolean useFlag = null != orderMemberMap.get(saOrderExt.getPkMember() + saOrderExt.getOrderCode()) ? Boolean.TRUE : Boolean.FALSE;
|
||||
if (EGrade.S_VIP.getValue() == gradeValue && useFlag) {
|
||||
// 下单会员是 V4 并且 使用了法宝券,直接结束
|
||||
break;
|
||||
}
|
||||
|
||||
// 找不到父级了或者找到第一个svip直接跳出
|
||||
boolean V1Flag = Boolean.TRUE;
|
||||
boolean V2Flag = Boolean.TRUE;
|
||||
boolean V3Flag = Boolean.TRUE;
|
||||
while (true) {
|
||||
CuMemberSettleExt targetMemberSettleExt = specialmeberSettleExtMap.get(pkParent);
|
||||
if (targetMemberSettleExt == null) {
|
||||
if (null == targetMemberSettleExt) {
|
||||
// 上面没有推荐人了,直接结束
|
||||
break;
|
||||
}
|
||||
if (gradeValue < targetMemberSettleExt.getGradeValue() && EGrade.VIP.getValue() == targetMemberSettleExt.getGradeValue() && flag) {
|
||||
// 获得奖金
|
||||
// 验证是否有奖金
|
||||
if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue())) {
|
||||
|
||||
if (useFlag) {
|
||||
// 订单使用了法宝券,查询大于当前会员的
|
||||
if (gradeValue < targetMemberSettleExt.getGradeValue() && EGrade.MAKER.getValue() == targetMemberSettleExt.getGradeValue() && V2Flag && V3Flag) {
|
||||
// 订单会员等级小于推荐人等级 并且 推荐人是 V2 并且 V2 V3 都没有算过
|
||||
AcPickExt acPickExt = calculateRangeBonus(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, sourceMemberSettleExt,
|
||||
targetMemberSettleExt, cuMemberBonusRangeList);
|
||||
if (null != acPickExt) {
|
||||
acPickExtList.add(acPickExt);
|
||||
}
|
||||
pkParent = targetMemberSettleExt.getPkParent();
|
||||
sourceMemberSettleExt = targetMemberSettleExt;
|
||||
continue;
|
||||
}
|
||||
AcPickExt acPickExt = calculateRangeBonus(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, sourceMemberSettleExt,
|
||||
targetMemberSettleExt, cuMemberBonusRangeList);
|
||||
if (acPickExt != null) {
|
||||
acPickExtList.add(acPickExt);
|
||||
}
|
||||
pkParent = targetMemberSettleExt.getPkParent();
|
||||
sourceMemberSettleExt = targetMemberSettleExt;
|
||||
flag = Boolean.FALSE;
|
||||
} else if (gradeValue < targetMemberSettleExt.getGradeValue() && EGrade.S_VIP.getValue() == targetMemberSettleExt.getGradeValue()) {
|
||||
// 获得奖金
|
||||
if (validatePkBonusItems(bonusConfigDTO, targetMemberSettleExt.getPkSettleCountry(), EBonusItems.REPURCHASE_RANGE_INCOME.getValue())) {
|
||||
V2Flag = Boolean.FALSE;
|
||||
} else if (gradeValue < targetMemberSettleExt.getGradeValue() && EGrade.VIP.getValue() == targetMemberSettleExt.getGradeValue() && V3Flag) {
|
||||
// 订单会员等级小于推荐人等级 并且 推荐人是 V3 并且 V3没有算过
|
||||
AcPickExt acPickExt = calculateRangeBonus(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, sourceMemberSettleExt,
|
||||
targetMemberSettleExt, cuMemberBonusRangeList);
|
||||
if (null != acPickExt) {
|
||||
acPickExtList.add(acPickExt);
|
||||
}
|
||||
pkParent = targetMemberSettleExt.getPkParent();
|
||||
sourceMemberSettleExt = targetMemberSettleExt;
|
||||
V3Flag = Boolean.FALSE;
|
||||
} else if (gradeValue < targetMemberSettleExt.getGradeValue() && EGrade.S_VIP.getValue() == targetMemberSettleExt.getGradeValue()) {
|
||||
// 订单会员等级小于推荐人等级 并且 推荐人是 V4
|
||||
AcPickExt acPickExt = calculateRangeBonus(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, sourceMemberSettleExt,
|
||||
targetMemberSettleExt, cuMemberBonusRangeList);
|
||||
if (null != acPickExt) {
|
||||
acPickExtList.add(acPickExt);
|
||||
}
|
||||
break;
|
||||
} else {
|
||||
pkParent = targetMemberSettleExt.getPkParent();
|
||||
sourceMemberSettleExt = targetMemberSettleExt;
|
||||
}
|
||||
AcPickExt acPickExt = calculateRangeBonus(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, sourceMemberSettleExt,
|
||||
targetMemberSettleExt, cuMemberBonusRangeList);
|
||||
if (acPickExt != null) {
|
||||
acPickExtList.add(acPickExt);
|
||||
}
|
||||
break;
|
||||
} else {
|
||||
pkParent = targetMemberSettleExt.getPkParent();
|
||||
sourceMemberSettleExt = targetMemberSettleExt;
|
||||
// 订单没有使用法宝券
|
||||
if (gradeValue <= targetMemberSettleExt.getGradeValue() && EGrade.YOU_KE.getValue() == targetMemberSettleExt.getGradeValue() && V1Flag && V2Flag && V3Flag) {
|
||||
// 订单会员等级小于推荐人等级 并且 推荐人是 V1 并且 V1 V2 V3 都没有算过
|
||||
AcPickExt acPickExt = calculateRangeBonus(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, sourceMemberSettleExt,
|
||||
targetMemberSettleExt, cuMemberBonusRangeList);
|
||||
if (null != acPickExt) {
|
||||
acPickExtList.add(acPickExt);
|
||||
}
|
||||
pkParent = targetMemberSettleExt.getPkParent();
|
||||
sourceMemberSettleExt = targetMemberSettleExt;
|
||||
V1Flag = Boolean.FALSE;
|
||||
} else if (gradeValue <= targetMemberSettleExt.getGradeValue() && EGrade.MAKER.getValue() == targetMemberSettleExt.getGradeValue() && V2Flag && V3Flag) {
|
||||
// 订单会员等级小于推荐人等级 并且 推荐人是 V2 并且 V2 V3 都没有算过
|
||||
AcPickExt acPickExt = calculateRangeBonus(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, sourceMemberSettleExt,
|
||||
targetMemberSettleExt, cuMemberBonusRangeList);
|
||||
if (null != acPickExt) {
|
||||
acPickExtList.add(acPickExt);
|
||||
}
|
||||
pkParent = targetMemberSettleExt.getPkParent();
|
||||
sourceMemberSettleExt = targetMemberSettleExt;
|
||||
V2Flag = Boolean.FALSE;
|
||||
} else if (gradeValue <= targetMemberSettleExt.getGradeValue() && EGrade.VIP.getValue() == targetMemberSettleExt.getGradeValue() && V3Flag) {
|
||||
// 订单会员等级小于推荐人等级 并且 推荐人是 V3 并且 V3没有算过
|
||||
AcPickExt acPickExt = calculateRangeBonus(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, sourceMemberSettleExt,
|
||||
targetMemberSettleExt, cuMemberBonusRangeList);
|
||||
if (null != acPickExt) {
|
||||
acPickExtList.add(acPickExt);
|
||||
}
|
||||
pkParent = targetMemberSettleExt.getPkParent();
|
||||
sourceMemberSettleExt = targetMemberSettleExt;
|
||||
V3Flag = Boolean.FALSE;
|
||||
} else if (gradeValue <= targetMemberSettleExt.getGradeValue() && EGrade.S_VIP.getValue() == targetMemberSettleExt.getGradeValue()) {
|
||||
// 订单会员等级小于推荐人等级 并且 推荐人是 V4
|
||||
AcPickExt acPickExt = calculateRangeBonus(rangeDtoMap, bonusConfigDTO, period, cuMemberBonusMap, saOrderExt, saOrderItemsExt, sourceMemberSettleExt,
|
||||
targetMemberSettleExt, cuMemberBonusRangeList);
|
||||
if (null != acPickExt) {
|
||||
acPickExtList.add(acPickExt);
|
||||
}
|
||||
break;
|
||||
} else {
|
||||
pkParent = targetMemberSettleExt.getPkParent();
|
||||
sourceMemberSettleExt = targetMemberSettleExt;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -702,6 +800,20 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算封装乐学复购特殊级差(法宝券)返回扣除提货法宝券
|
||||
*
|
||||
* @param rangeDtoMap
|
||||
* @param bonusConfigDTO
|
||||
* @param period
|
||||
* @param cuMemberBonusMap
|
||||
* @param saOrderExt
|
||||
* @param saOrderItemsExt
|
||||
* @param sourceMemberSettleExt
|
||||
* @param targetMemberSettleExt
|
||||
* @param cuMemberBonusRangeList
|
||||
* @return
|
||||
*/
|
||||
private AcPickExt calculateRangeBonus(Map<String, RangeDTO> rangeDtoMap, BonusConfigDTO bonusConfigDTO, Integer period,
|
||||
Map<Long, CuMemberBonus> cuMemberBonusMap, SaOrderExt saOrderExt, SaOrderItemsExt saOrderItemsExt,
|
||||
CuMemberSettleExt sourceMemberSettleExt,
|
||||
|
|
|
@ -357,6 +357,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
validateSettleTable(yesterday, yesterdayTableName);
|
||||
Map<String, BdAwards> awardsMap = awardsServiceApi.getAwards().getData();
|
||||
cuMemberTreeService.initCuMemberTreeTable(yesterdayTableName, currentSettleTableName);
|
||||
|
||||
// 查看是否有特殊业务,有特殊业务的处理,特殊业务,注水处理
|
||||
List<CuMemberAchieveLog> cuMemberAchieveLogList = cuMemberAchieveLogService.queryMemberAchieveLogByPeriod(period);
|
||||
// 有特殊业务
|
||||
|
@ -368,32 +369,25 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
cuMemberAchieveService.mergeCuMemberSettleByAchieveLogByDate(currentSettleTableName, DateUtils.parseStringToDate(settleDate));
|
||||
// 判断特殊业务是否有到期日期,有到期的需要使用真实业绩,昨天的期间真实更新当前的
|
||||
cuMemberAchieveService.updateCuMemberSettleAchieveByDueDate(currentSettleTableName, yesterdayTableName, DateUtils.parseStringToDate(settleDate));
|
||||
// // 每月10号进行甩网,将业绩从A甩到B, 甩网业绩修改为按照每日甩业绩
|
||||
// List<CuMemberAchieveExt> retMemberAchieveExtList = null;
|
||||
// if (settleDate.endsWith("10")) {
|
||||
// retMemberAchieveExtList = execNetAchieve(period, settleDate, currentSettleTableName);
|
||||
// }
|
||||
|
||||
// 根据日期开始计算网体 + 业绩
|
||||
//********************* 更新网体*************/
|
||||
// 按照订单时间开始奖金结算,当订单类型为注册订单需要进行上网,更新网体
|
||||
// 根据订单开始更新业绩
|
||||
// 订单按照体系开始分类
|
||||
// Map<Long, List<SaOrderExt>> saOrderMap = new HashMap<>(ComputeUtil.mapInitCapacity(saOrderExtList.size()));
|
||||
// suiqing 退单需要处理
|
||||
// 退单需要处理
|
||||
// 用于记录每天的撤单、退单数据数据,7天的网体均变为死点
|
||||
List<SaOrderExt> revokeRegSaOrderList = new ArrayList<>();
|
||||
List<SaOrderExt> revokeUpdSaOrderList = new ArrayList<>();
|
||||
|
||||
// 区分体系,体系按照多线程进行更新业绩
|
||||
// 首购订单 (注册+升级) 直推奖、量奖、领导奖、(注册)报单服务费
|
||||
// 嗨粉订单 (嗨粉) 嗨粉极差
|
||||
// 复购订单 (复购量奖、复购极差)
|
||||
// 其他订单 只累计业绩 仅算奖衔
|
||||
// 分红奖金 是固定的
|
||||
// 云代奖金 1% 待考虑
|
||||
// 首购订单
|
||||
List<SaOrderExt> firPurchaseOrderList = new ArrayList<>();
|
||||
// 注意
|
||||
// 复购订单
|
||||
List<SaOrderExt> repurchaseOrderList = new ArrayList<>();
|
||||
// 商城订单
|
||||
|
@ -432,6 +426,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
// 计算完奖衔回退业绩,最终根据新增进行回写
|
||||
// cuMemberTreeService.updateCuMemberBackSettle(cuMemberAchieveHashMap, currentSettleTableName);
|
||||
//********************************重新考核*********************************/
|
||||
// TODO new 乐学没有分红、复购考核,这个位置需要去掉
|
||||
cuMemberAssessService.retryCalculationAssess(DateUtils.parseStringToDate(settleDate), Boolean.TRUE);
|
||||
//*********************************计算奖金********************************/
|
||||
// 首购订单 (注册+升级) 直推奖、量奖、领导奖、(注册)报单服务费
|
||||
|
@ -440,6 +435,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
//计算 直推奖、拓展奖、辅导奖
|
||||
Map<Long, CuMemberSettleExt> cuMemberSettleExtMap = new HashMap<>();
|
||||
BonusRecordDetailVO recordDetailVO = new BonusRecordDetailVO();
|
||||
|
||||
// 计算奖金
|
||||
// 乐学易考奖金计算,回写代金券数量
|
||||
LeXueRangeParam leXueRangeParam = calculateBonusBySaOrderList(settleDate, period, currentSettleTableName,
|
||||
|
@ -736,6 +732,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
}
|
||||
|
||||
/**
|
||||
* 根据不同的订单类型计算奖金
|
||||
*
|
||||
* @param settleDate 结算日期
|
||||
* @param period 期间
|
||||
* @param currentSettleTableName 结算日表
|
||||
|
@ -743,10 +741,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
* @param bonusConfigDTO 奖金配置
|
||||
* @param cuMemberBonusMap 最终的奖金列表
|
||||
* @param cuMemberSettleExtMap 会员结算map
|
||||
* @Description: 根据不同的订单类型计算奖金
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2023/2/13 15:09
|
||||
*/
|
||||
private LeXueRangeParam calculateBonusBySaOrderList(String settleDate, Integer period, String currentSettleTableName,
|
||||
List<SaOrderExt> firPurchaseOrderList, List<SaOrderExt> repurchaseOrderList, List<SaOrderExt> mallOrderList,
|
||||
|
@ -1036,14 +1030,12 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
}
|
||||
|
||||
/**
|
||||
* 计算首购订单的奖金
|
||||
*
|
||||
* @param settleTableName 结算日表
|
||||
* @param settleDate 结算日期
|
||||
* @param bonusConfigDTO 各个国家奖金参数
|
||||
* @param purchaseOrderList 首购订单
|
||||
* @Desccription: 计算首购订单的奖金
|
||||
* @return: Map<Long, CuMemberSettleExt> 需要更新的
|
||||
* @Author: sui q
|
||||
* @Date: 2022/11/10 17:40
|
||||
*/
|
||||
private LeXueRangeParam calculatePurchaseOrder(Map<Long, CuMemberRiskControl> riskControlMap, Map<Long, CuMemberSettleExt> cuMemberSettleExtMap, String settleTableName, String settleDate, Map<String, RangeDTO> rangeDtoMap,
|
||||
Map<String, BdAwards> awardsMap, BonusConfigDTO bonusConfigDTO, Map<String, String> systemConfigMap, List<SaOrderExt> purchaseOrderList, Integer period, Map<Long, CuMemberBonus> weekMemberBonusMap,
|
||||
|
|
|
@ -640,9 +640,6 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
|||
public Boolean autoCalculateBonus(Date startDate, Date endDate) {
|
||||
String settleDate = DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD, startDate);
|
||||
Date settleEndDate = DateUtils.afterDate(1, ChronoUnit.DAYS, startDate);
|
||||
if (DateUtils.compareDateBefore(startDate, DateUtils.parseStringToDate("2024-09-10"))) {
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
// 自动初始化表
|
||||
cuMemberTreeService.createCuMemberTree(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS)));
|
||||
log.info("初始化表完成");
|
||||
|
|
|
@ -203,7 +203,8 @@
|
|||
</sql>
|
||||
|
||||
<sql id="memberParent">
|
||||
select pk_member,pk_parent,member_code,member_name,a.pk_awards,account_status,a.register_authority,customer_type,
|
||||
select
|
||||
pk_member,pk_parent,member_code,member_name,a.pk_awards,account_status,a.register_authority,customer_type,
|
||||
income_status,pk_settle_country,purchase_status,share_status,is_maker_space,
|
||||
a_balance,b_balance,r_a_balance,r_b_balance,rep_a_balance,rep_b_balance,r_rep_a_balance,r_rep_b_balance,
|
||||
register_amount,register_pv,upgrade_amount,upgrade_pv,repurchase_amount,pk_center_code,
|
||||
|
@ -240,9 +241,7 @@
|
|||
<sql id="CuMemberTableTrig">
|
||||
CREATE
|
||||
OR REPLACE TRIGGER
|
||||
${tableName}
|
||||
_
|
||||
TRIG
|
||||
${tableName}_TRIG
|
||||
BEFORE
|
||||
INSERT
|
||||
OR
|
||||
|
@ -277,6 +276,7 @@
|
|||
END IF;
|
||||
END;
|
||||
</sql>
|
||||
|
||||
<sql id="QueryMemberParent">
|
||||
<foreach collection="pkMemberList" item="item" open=" " close=" " separator=" union ">
|
||||
select pk_member,pk_parent,member_code,member_name,pk_awards,account_status,
|
||||
|
@ -294,8 +294,10 @@
|
|||
|
||||
<insert id="insertCuMemberSettleByMember">
|
||||
insert into ${settleTableName}(pk_member, pk_parent, pk_place_parent, place_dept, member_code, member_name,
|
||||
customer_type, phone, pk_grade, pk_awards, account_status, pay_status, register_authority, category,
|
||||
purchase_type, purchase_status, share_status, income_status, pk_team_code, is_maker_space,
|
||||
customer_type, phone, pk_grade, pk_awards, account_status, pay_status,
|
||||
register_authority, category,
|
||||
purchase_type, purchase_status, share_status, income_status, pk_team_code,
|
||||
is_maker_space,
|
||||
pk_center_code, pk_vertex, pk_settle_country, is_real_name, pk_country, pk_rate,
|
||||
store_level, is_maker_gift, expire_status)
|
||||
select cm.pk_id,
|
||||
|
@ -352,7 +354,8 @@
|
|||
|
||||
<insert id="insertCuMemberTreeBySettleDate">
|
||||
insert into ${targetTableName}(period, pk_member, pk_parent, pk_place_parent, place_dept, member_code,
|
||||
member_name, customer_type, phone, pk_grade, pk_awards, account_status, pay_status,
|
||||
member_name, customer_type, phone, pk_grade, pk_awards, account_status,
|
||||
pay_status,
|
||||
register_authority, category, purchase_type, purchase_status,
|
||||
share_status, income_status, pk_team_code, pk_center_code, pk_vertex,
|
||||
pk_settle_country, is_real_name, is_bus_license, is_maker_space, pk_country)
|
||||
|
@ -412,19 +415,19 @@
|
|||
</update>
|
||||
|
||||
<update id="createCuMemberTreeParentIndex">
|
||||
create index ${tableName}_parent on ${tableName}(pk_parent)
|
||||
create index ${tableName}_parent on ${tableName} ( pk_parent )
|
||||
</update>
|
||||
|
||||
<update id="createCuMemberTreePlaceIndex">
|
||||
create index ${tableName}_place on ${tableName}(pk_place_parent,place_dept)
|
||||
create index ${tableName}_place on ${tableName} ( pk_place_parent, place_dept )
|
||||
</update>
|
||||
|
||||
<update id="createCuMemberTableUniqueIndex">
|
||||
create unique index ${tableName}_PK_M on ${tableName}(PK_MEMBER,period)
|
||||
create unique index ${tableName}_PK_M on ${tableName} ( PK_MEMBER, period )
|
||||
</update>
|
||||
|
||||
<update id="createCuMemberTreeDayOnlyIndex">
|
||||
create unique index ${tableName}_PK_M on ${tableName}(PK_MEMBER)
|
||||
create unique index ${tableName}_PK_M on ${tableName} ( PK_MEMBER )
|
||||
</update>
|
||||
|
||||
<update id="updateCuMemberTreeByCancelOrder">
|
||||
|
@ -451,16 +454,25 @@
|
|||
|
||||
<insert id="insertCuMemberSettleByHis">
|
||||
insert into ${settleTableName}(pk_member, PK_PARENT, PK_PLACE_PARENT, PLACE_DEPT, MEMBER_CODE, member_name,
|
||||
CUSTOMER_TYPE, PHONE, PK_GRADE, PK_AWARDS, ACCOUNT_STATUS, PAY_STATUS, REGISTER_AUTHORITY,
|
||||
CATEGORY, PURCHASE_TYPE, PURCHASE_STATUS, SHARE_STATUS, INCOME_STATUS, PK_TEAM_CODE, PK_CENTER_CODE,
|
||||
PK_VERTEX, PK_SETTLE_COUNTRY, IS_REAL_NAME, IS_BUS_LICENSE, IS_MAKER_SPACE, PK_COUNTRY, PK_RATE,
|
||||
CUSTOMER_TYPE, PHONE, PK_GRADE, PK_AWARDS, ACCOUNT_STATUS, PAY_STATUS,
|
||||
REGISTER_AUTHORITY,
|
||||
CATEGORY, PURCHASE_TYPE, PURCHASE_STATUS, SHARE_STATUS, INCOME_STATUS,
|
||||
PK_TEAM_CODE, PK_CENTER_CODE,
|
||||
PK_VERTEX, PK_SETTLE_COUNTRY, IS_REAL_NAME, IS_BUS_LICENSE, IS_MAKER_SPACE,
|
||||
PK_COUNTRY, PK_RATE,
|
||||
a_balance, b_balance, A_SUM_AMOUNT, B_SUM_AMOUNT, A_SUM_PV, B_SUM_PV,
|
||||
A_NEW_AMOUNT, B_NEW_AMOUNT, A_NEW_PV, B_NEW_PV, A_SUM_REAL_AMOUNT, B_SUM_REAL_AMOUNT, A_SUM_REAL_PV, B_SUM_REAL_PV,
|
||||
REP_A_BALANCE, REP_B_BALANCE, REP_A_NEW_AMOUNT, REP_B_NEW_AMOUNT, REP_A_NEW_PV, REP_B_NEW_PV, REP_A_SUM_AMOUNT,
|
||||
REP_B_SUM_AMOUNT, REP_A_SUM_PV, REP_B_SUM_PV, REGISTER_AMOUNT, REGISTER_PV, REGISTER_NEW_AMOUNT, REGISTER_NEW_PV,
|
||||
UPGRADE_AMOUNT, UPGRADE_PV, UPGRADE_NEW_AMOUNT, UPGRADE_NEW_PV, REPURCHASE_AMOUNT, REPURCHASE_PV,
|
||||
REPURCHASE_NEW_AMOUNT, REPURCHASE_NEW_PV, HI_FUN_AMOUNT, HI_FUN_PV, HI_FUN_NEW_AMOUNT, HI_FUN_NEW_PV,
|
||||
MALL_AMOUNT, MALL_PV, MALL_NEW_AMOUNT, MALL_NEW_PV, REGISTER_BLO_NEW_PV, UPGRADE_BLO_NEW_PV, REPURCHASE_BLO_NEW_PV,
|
||||
A_NEW_AMOUNT, B_NEW_AMOUNT, A_NEW_PV, B_NEW_PV, A_SUM_REAL_AMOUNT,
|
||||
B_SUM_REAL_AMOUNT, A_SUM_REAL_PV, B_SUM_REAL_PV,
|
||||
REP_A_BALANCE, REP_B_BALANCE, REP_A_NEW_AMOUNT, REP_B_NEW_AMOUNT, REP_A_NEW_PV,
|
||||
REP_B_NEW_PV, REP_A_SUM_AMOUNT,
|
||||
REP_B_SUM_AMOUNT, REP_A_SUM_PV, REP_B_SUM_PV, REGISTER_AMOUNT, REGISTER_PV,
|
||||
REGISTER_NEW_AMOUNT, REGISTER_NEW_PV,
|
||||
UPGRADE_AMOUNT, UPGRADE_PV, UPGRADE_NEW_AMOUNT, UPGRADE_NEW_PV,
|
||||
REPURCHASE_AMOUNT, REPURCHASE_PV,
|
||||
REPURCHASE_NEW_AMOUNT, REPURCHASE_NEW_PV, HI_FUN_AMOUNT, HI_FUN_PV,
|
||||
HI_FUN_NEW_AMOUNT, HI_FUN_NEW_PV,
|
||||
MALL_AMOUNT, MALL_PV, MALL_NEW_AMOUNT, MALL_NEW_PV, REGISTER_BLO_NEW_PV,
|
||||
UPGRADE_BLO_NEW_PV, REPURCHASE_BLO_NEW_PV,
|
||||
HI_FUN_BLO_NEW_PV, MALL_BLO_NEW_PV, MIN_ACHIEVE, ROUND, SECOND)
|
||||
select ca.pk_member,
|
||||
ca.PK_PARENT,
|
||||
|
@ -549,9 +561,11 @@
|
|||
|
||||
<insert id="insertCuMemberRangeByMember">
|
||||
insert into ${settleTableName}(pk_member, pk_parent, member_code, member_name,
|
||||
customer_type, phone, pk_grade, pk_awards, pk_range_awards, pk_benefit_awards, account_status, pay_status, register_authority, category,
|
||||
customer_type, phone, pk_grade, pk_awards, pk_range_awards, pk_benefit_awards,
|
||||
account_status, pay_status, register_authority, category,
|
||||
purchase_status, income_status, pk_team_code,
|
||||
pk_center_code, pk_vertex, pk_settle_country, is_real_name, pk_country, pk_rate, assess_status, month_member, range_store_status, pay_time)
|
||||
pk_center_code, pk_vertex, pk_settle_country, is_real_name, pk_country, pk_rate,
|
||||
assess_status, month_member, range_store_status, pay_time)
|
||||
select cm.pk_id,
|
||||
pk_parent,
|
||||
member_code,
|
||||
|
@ -610,6 +624,7 @@
|
|||
<update id="createCuMemberTableSequence" statementType="STATEMENT">
|
||||
<include refid="CuMemberTableTrig"></include>
|
||||
</update>
|
||||
|
||||
<update id="updateCuMemberSettleExemptByAward">
|
||||
merge into ${settleTableName} a
|
||||
using (
|
||||
|
@ -635,24 +650,33 @@
|
|||
when matched then
|
||||
update set a.purchase_status = 0,a.purchase_type = b.purchase_type
|
||||
</update>
|
||||
|
||||
<update id="updateCuMemberSettle">
|
||||
merge into ${settleTableName} a
|
||||
using(
|
||||
select * from (
|
||||
<foreach collection="cuMemberTreeList" item="item" open=" " separator=" union " close=" ">
|
||||
select #{item.pkMember} pk_member,#{item.aBalance} a_balance, #{item.bBalance} b_balance,
|
||||
#{item.aNewAmount} a_new_amount,#{item.bNewAmount} b_new_amount,#{item.aNewPv} a_new_pv,#{item.bNewPv} b_new_pv,
|
||||
#{item.aNewAmount} a_new_amount,#{item.bNewAmount} b_new_amount,#{item.aNewPv} a_new_pv,#{item.bNewPv}
|
||||
b_new_pv,
|
||||
#{item.repABalance} rep_a_balance,#{item.repBBalance} rep_b_balance,#{item.repANewAmount} rep_a_new_amount,
|
||||
#{item.repBNewAmount} rep_b_new_amount,#{item.repANewPv} rep_a_new_pv,#{item.repBNewPv} rep_b_new_pv,
|
||||
#{item.registerAmount} register_amount,#{item.registerPv} register_pv,#{item.registerNewAmount} register_new_amount,#{item.registerNewPv} register_new_pv,
|
||||
#{item.upgradeAmount} upgrade_amount,#{item.upgradePv} upgrade_pv,#{item.upgradeNewAmount} upgrade_new_amount,#{item.upgradeNewPv} upgrade_new_pv,
|
||||
#{item.repurchaseAmount} repurchase_amount,#{item.repurchasePv} repurchase_pv,#{item.repurchaseNewAmount} repurchase_new_amount,#{item.repurchaseNewPv} repurchase_new_pV,
|
||||
#{item.hiFunAmount} hi_fun_amount,#{item.hiFunPv} hi_fun_pv,#{item.hiFunNewAmount} hi_fun_new_amount,#{item.hiFunNewPv} hi_fun_new_pv,
|
||||
#{item.mallAmount} mall_amount,#{item.mallPv} mall_pv,#{item.mallNewAmount} mall_new_amount,#{item.mallNewPv} mall_new_pv,
|
||||
#{item.registerBloNewPv} register_blo_new_pv,#{item.upgradeBloNewPv} upgrade_blo_new_pv,#{item.repurchaseBloNewPv} repurchase_blo_new_pv,
|
||||
#{item.registerAmount} register_amount,#{item.registerPv} register_pv,#{item.registerNewAmount}
|
||||
register_new_amount,#{item.registerNewPv} register_new_pv,
|
||||
#{item.upgradeAmount} upgrade_amount,#{item.upgradePv} upgrade_pv,#{item.upgradeNewAmount}
|
||||
upgrade_new_amount,#{item.upgradeNewPv} upgrade_new_pv,
|
||||
#{item.repurchaseAmount} repurchase_amount,#{item.repurchasePv} repurchase_pv,#{item.repurchaseNewAmount}
|
||||
repurchase_new_amount,#{item.repurchaseNewPv} repurchase_new_pV,
|
||||
#{item.hiFunAmount} hi_fun_amount,#{item.hiFunPv} hi_fun_pv,#{item.hiFunNewAmount}
|
||||
hi_fun_new_amount,#{item.hiFunNewPv} hi_fun_new_pv,
|
||||
#{item.mallAmount} mall_amount,#{item.mallPv} mall_pv,#{item.mallNewAmount}
|
||||
mall_new_amount,#{item.mallNewPv} mall_new_pv,
|
||||
#{item.registerBloNewPv} register_blo_new_pv,#{item.upgradeBloNewPv}
|
||||
upgrade_blo_new_pv,#{item.repurchaseBloNewPv} repurchase_blo_new_pv,
|
||||
#{item.hiFunBloNewPv} hi_fun_blo_new_pv,#{item.mallBloNewPv} mall_blo_new_pv,
|
||||
#{item.rABalance} r_a_balance,#{item.rBBalance} r_b_balance,#{item.rRepABalance} r_rep_a_balance,
|
||||
#{item.rRepBBalance} r_rep_b_balance,#{item.minAchieve} min_achieve,#{item.round} round,#{item.second} second from dual
|
||||
#{item.rRepBBalance} r_rep_b_balance,#{item.minAchieve} min_achieve,#{item.round} round,#{item.second}
|
||||
second from dual
|
||||
</foreach>)
|
||||
) b
|
||||
on (a.pk_member = b.pk_member)
|
||||
|
@ -661,7 +685,8 @@
|
|||
a.b_new_amount=b.b_new_amount,a.a_new_pv=b.a_new_pv,a.b_new_pv=b.b_new_pv,a.rep_a_balance=b.rep_a_balance,
|
||||
a.rep_b_balance=b.rep_b_balance, a.rep_a_new_amount=b.rep_a_new_amount,a.rep_b_new_amount=b.rep_b_new_amount,
|
||||
a.rep_a_new_pv=b.rep_a_new_pv,a.rep_b_new_pv=b.rep_b_new_pv,
|
||||
a.register_amount = b.register_amount,a.register_pv=b.register_pv,a.register_new_amount = b.register_new_amount,a.register_new_pv=b.register_new_pv,
|
||||
a.register_amount = b.register_amount,a.register_pv=b.register_pv,a.register_new_amount =
|
||||
b.register_new_amount,a.register_new_pv=b.register_new_pv,
|
||||
a.upgrade_amount=b.upgrade_amount,a.upgrade_pv=b.upgrade_pv,a.upgrade_new_amount=b.upgrade_new_amount,a.upgrade_new_pv=b.upgrade_new_pv,
|
||||
a.repurchase_amount=b.repurchase_amount,a.repurchase_pv=b.repurchase_pv,a.repurchase_new_amount=b.repurchase_new_amount,a.repurchase_new_pv=b.repurchase_new_pv,
|
||||
a.hi_fun_amount=b.hi_fun_amount,a.hi_fun_pv=b.hi_fun_pv,a.hi_fun_new_amount=b.hi_fun_new_amount,a.hi_fun_new_pv=b.hi_fun_new_pv,
|
||||
|
@ -689,12 +714,14 @@
|
|||
using(
|
||||
<foreach collection="cuMemberTreeList" item="item" open=" " separator=" union all " close=" ">
|
||||
select #{item.pkMember} pk_member,#{item.aBalance} a_balance, #{item.bBalance} b_balance,
|
||||
#{item.aNewAmount} a_new_amount,#{item.bNewAmount} b_new_amount,#{item.aNewPv} a_new_pv,#{item.bNewPv} b_new_pv,
|
||||
#{item.aNewAmount} a_new_amount,#{item.bNewAmount} b_new_amount,#{item.aNewPv} a_new_pv,#{item.bNewPv}
|
||||
b_new_pv,
|
||||
#{item.repABalance} rep_a_balance,#{item.repBBalance} rep_b_balance,#{item.repANewAmount} rep_a_new_amount,
|
||||
#{item.repBNewAmount} rep_b_new_amount,#{item.repANewPv} rep_a_new_pv,#{item.repBNewPv} rep_b_new_pv,
|
||||
#{item.registerAmount} register_amount,#{item.registerPv} register_pv,#{item.registerNewPv} register_new_pv,
|
||||
#{item.upgradeAmount} upgrade_amount,#{item.upgradePv} upgrade_pv,#{item.upgradeNewPv} upgrade_new_pv,
|
||||
#{item.repurchaseAmount} repurchase_amount,#{item.repurchasePv} repurchase_pv,#{item.repurchaseNewPv} repurchase_new_pv,
|
||||
#{item.repurchaseAmount} repurchase_amount,#{item.repurchasePv} repurchase_pv,#{item.repurchaseNewPv}
|
||||
repurchase_new_pv,
|
||||
#{item.hiFunAmount} hi_fun_amount,#{item.hiFunPv} hi_fun_pv,#{item.hiFunNewPv} hi_fun_new_pv,
|
||||
#{item.mallAmount} mall_amount,#{item.mallPv} mall_pv,#{item.mallNewPv} mall_new_pv,
|
||||
#{item.minAchieve} min_achieve,#{item.round} round,#{item.second} second from dual
|
||||
|
@ -743,7 +770,8 @@
|
|||
nvl(ST.REP_B_NEW_PV,0) REP_B_NEW_PV,nvl(yt.REP_A_SUM_AMOUNT,0) REP_A_SUM_AMOUNT,
|
||||
nvl(yt.REP_B_SUM_AMOUNT,0) REP_B_SUM_AMOUNT,nvl(yt.REP_A_SUM_PV,0) REP_A_SUM_PV,
|
||||
nvl(yt.REP_B_SUM_PV,0) REP_B_SUM_PV,
|
||||
nvl(ST.ROUND,0) ROUND,nvl(nvl(ST.SECOND,yt.second),1) SECOND,nvl(ST.MIN_ACHIEVE,0) MIN_ACHIEVE,b.expire_status from
|
||||
nvl(ST.ROUND,0) ROUND,nvl(nvl(ST.SECOND,yt.second),1) SECOND,nvl(ST.MIN_ACHIEVE,0) MIN_ACHIEVE,b.expire_status
|
||||
from
|
||||
(select t.pk_id,t.pk_settle_country,t.expire_status from cu_member t
|
||||
where t.del_flag = 0 start with t.pk_id = #{pkMember}
|
||||
connect by t.pk_id = prior
|
||||
|
@ -858,7 +886,8 @@
|
|||
share_status, income_status, pk_team_code, pk_center_code, pk_vertex,
|
||||
pk_settle_country, is_real_name, is_bus_license, is_maker_space, pk_country)
|
||||
values (b.period, b.pk_member, b.pk_parent, b.pk_place_parent, b.place_dept, b.member_code,
|
||||
b.member_name, b.customer_type, b.phone, b.pk_grade, b.pk_awards, b.account_status, b.pay_status,
|
||||
b.member_name, b.customer_type, b.phone, b.pk_grade, b.pk_awards, b.account_status,
|
||||
b.pay_status,
|
||||
b.register_authority, b.category, b.purchase_type, b.purchase_status,
|
||||
b.share_status, b.income_status, b.pk_team_code, b.pk_center_code, b.pk_vertex,
|
||||
b.pk_settle_country, b.is_real_name, b.is_bus_license, b.is_maker_space, b.pk_country)
|
||||
|
@ -1180,6 +1209,7 @@
|
|||
and bw.community_check <= a.b_sum_real_pv
|
||||
order by pk_member desc
|
||||
</select>
|
||||
|
||||
<select id="queryCuMemberSettlePlaceUnderUmbrella" resultType="java.lang.Integer">
|
||||
select count(a.pk_member)
|
||||
from (select a.*, b.pk_awards
|
||||
|
@ -1228,6 +1258,7 @@
|
|||
on x.pk_awards = ba.pk_id
|
||||
where ba.awards_value >= (select awards_value from bd_awards where pk_id = #{awardsValue}))
|
||||
</select>
|
||||
|
||||
<select id="queryExemptCuMemberSettle" resultMap="CuMemberSettleExt">
|
||||
select pk_member, 0 assess_type
|
||||
from ${tableName}
|
||||
|
@ -1239,7 +1270,8 @@
|
|||
</select>
|
||||
|
||||
<select id="queryMemberSettleBySaOrder" resultMap="CuMemberSettleExt">
|
||||
select pk_member,member_code,member_name,c.pk_awards,c.pk_grade,account_status,category,income_status,pk_settle_country,
|
||||
select
|
||||
pk_member,member_code,member_name,c.pk_awards,c.pk_grade,account_status,category,income_status,pk_settle_country,
|
||||
is_maker_space,purchase_status,share_status,bg.grade_value,pk_parent,is_maker_space,
|
||||
a_balance,b_balance,r_a_balance,r_b_balance,rep_a_balance,rep_b_balance,r_rep_a_balance,r_rep_b_balance,
|
||||
register_amount,register_pv,upgrade_amount,upgrade_pv,repurchase_amount,pk_center_code,c.pk_vertex,
|
||||
|
@ -1254,14 +1286,16 @@
|
|||
</select>
|
||||
|
||||
<select id="batchQueryCuMemberSettlePlaceParent" resultMap="CuMemberSettleExt">
|
||||
select pk_order,pk_member,member_code,member_name,pk_place_parent,place_dept,pk_grade,a.pk_awards,bg.grade_value,account_status,
|
||||
select
|
||||
pk_order,pk_member,member_code,member_name,pk_place_parent,place_dept,pk_grade,a.pk_awards,bg.grade_value,account_status,
|
||||
income_status,pk_settle_country,purchase_status,share_status,a.register_authority,
|
||||
a_balance,b_balance,r_a_balance,r_b_balance,rep_a_balance,rep_b_balance,r_rep_a_balance,r_rep_b_balance,
|
||||
register_amount,register_pv,upgrade_amount,upgrade_pv,repurchase_amount,pk_center_code,
|
||||
repurchase_pv,hi_fun_amount,hi_fun_pv,mall_amount,mall_pv,category,pk_vertex,
|
||||
min_achieve,round,second,store_level,expire_status from (
|
||||
<foreach collection="firPurchaseOrderList" item="item" open=" " close=" " separator=" union all ">
|
||||
select #{item.pkId} pk_order,pk_member,member_code,member_name,pk_place_parent,place_dept,pk_grade,pk_awards,account_status,
|
||||
select #{item.pkId}
|
||||
pk_order,pk_member,member_code,member_name,pk_place_parent,place_dept,pk_grade,pk_awards,account_status,
|
||||
income_status,pk_settle_country,purchase_status,share_status,register_authority,
|
||||
a_balance,b_balance,r_a_balance,r_b_balance,rep_a_balance,rep_b_balance,r_rep_a_balance,r_rep_b_balance,
|
||||
register_amount,register_pv,upgrade_amount,upgrade_pv,repurchase_amount,pk_center_code,
|
||||
|
@ -1292,7 +1326,8 @@
|
|||
</select>
|
||||
|
||||
<select id="batchQueryCuMemberSettleParentForSpecial" resultMap="CuMemberSettleExt">
|
||||
select a.pk_member,a.pk_parent,a.member_code,a.member_name,a.pk_awards,a.account_status,a.register_authority,a.customer_type,
|
||||
select
|
||||
a.pk_member,a.pk_parent,a.member_code,a.member_name,a.pk_awards,a.account_status,a.register_authority,a.customer_type,
|
||||
a.income_status,a.pk_settle_country,a.purchase_status,a.share_status,a.is_maker_space,
|
||||
a.a_balance,a.b_balance,a.r_a_balance,a.r_b_balance,a.rep_a_balance,a.rep_b_balance,a.r_rep_a_balance,a.r_rep_b_balance,
|
||||
a.register_amount,a.register_pv,a.upgrade_amount,a.upgrade_pv,a.repurchase_amount,a.pk_center_code,
|
||||
|
@ -1304,10 +1339,11 @@
|
|||
inner join bd_grade bg
|
||||
on a.pk_grade = bg.pk_id
|
||||
left join ac_pick ap
|
||||
on ap.pk_member = a.pk_member and ap.pick_type=8 and ap.del_flag=0
|
||||
on ap.pk_member = a.pk_member and ap.pick_type = 8 and ap.del_flag=0
|
||||
left join bd_product bp
|
||||
on ap.pk_data_id = bp.pk_id
|
||||
</select>
|
||||
|
||||
<select id="queryCuMemberSecondPlaceParent" resultMap="CuMemberSettleExt">
|
||||
select b.pk_id pk_member,
|
||||
b.pk_parent,
|
||||
|
@ -1517,7 +1553,8 @@
|
|||
</select>
|
||||
|
||||
<select id="queryCuMemberSecondParent" resultMap="CuMemberSettleExt">
|
||||
select b.pk_id pk_member,b.pk_parent,b.pk_place_parent,b.place_dept,b.pk_center_code,b.member_code,b.member_name,b.pk_grade,b.pk_awards,b.account_status,
|
||||
select b.pk_id
|
||||
pk_member,b.pk_parent,b.pk_place_parent,b.place_dept,b.pk_center_code,b.member_code,b.member_name,b.pk_grade,b.pk_awards,b.account_status,
|
||||
b.register_authority,b.customer_type,b.income_status,b.pk_settle_country,b.is_maker_space,b.purchase_status,
|
||||
b.share_status,bg.grade_value,b.category,st.a_balance,st.b_balance,0 r_a_balance,0 r_b_balance,
|
||||
st.a_sum_amount,st.b_sum_amount,st.a_sum_pv,st.b_sum_pv,st.a_new_amount,st.b_new_amount,st.a_new_pv,
|
||||
|
@ -1532,7 +1569,8 @@
|
|||
st.mall_amount,st.mall_pv,st.mall_new_amount,st.mall_new_pv,
|
||||
st.round,st.second,st.min_achieve,st.expire_status from
|
||||
(
|
||||
select pk_id,pk_parent,pk_place_parent,place_dept,member_code,member_name,pk_center_code,pk_settle_grade pk_grade,pk_awards,account_status,register_authority,customer_type,
|
||||
select pk_id,pk_parent,pk_place_parent,place_dept,member_code,member_name,pk_center_code,pk_settle_grade
|
||||
pk_grade,pk_awards,account_status,register_authority,customer_type,
|
||||
income_status,pk_settle_country,purchase_status,share_status,category,is_maker_space from cu_member
|
||||
where del_flag= 0 and pk_id in
|
||||
<foreach collection="cuMemberTreeList" item="item" open="(" close=")" separator=",">
|
||||
|
@ -1574,7 +1612,8 @@
|
|||
t.UPGRADE_NEW_PV,t.REPURCHASE_AMOUNT,t.REPURCHASE_PV,t.REPURCHASE_NEW_PV,t.HI_FUN_AMOUNT,t.HI_FUN_PV,t.HI_FUN_NEW_PV,t.MALL_AMOUNT,
|
||||
t.MALL_PV ,t.MALL_NEW_PV,t.MIN_ACHIEVE,t.ROUND,t.SECOND,
|
||||
</if>
|
||||
cm.PK_AWARDS,cm.PK_PLACE_PARENT,cm.PK_PARENT ,cm.PLACE_DEPT ,cm.MEMBER_NAME, cm.MEMBER_CODE,cm.PK_ID PK_MEMBER,cm.PK_COUNTRY,cm.PK_SETTLE_COUNTRY,cme.MEMBER_CODE parentMemberCode,
|
||||
cm.PK_AWARDS,cm.PK_PLACE_PARENT,cm.PK_PARENT ,cm.PLACE_DEPT ,cm.MEMBER_NAME, cm.MEMBER_CODE,cm.PK_ID
|
||||
PK_MEMBER,cm.PK_COUNTRY,cm.PK_SETTLE_COUNTRY,cme.MEMBER_CODE parentMemberCode,
|
||||
(select count(cr.pk_id) from CU_MEMBER cr where cr.pk_parent = cm.pk_id and cr.del_flag = 0) directPushNumber
|
||||
from
|
||||
CU_MEMBER cm
|
||||
|
@ -1679,7 +1718,8 @@
|
|||
t.UPGRADE_NEW_PV,t.REPURCHASE_AMOUNT,t.REPURCHASE_PV,t.REPURCHASE_NEW_PV,t.HI_FUN_AMOUNT,t.HI_FUN_PV,t.HI_FUN_NEW_PV,t.MALL_AMOUNT,
|
||||
t.MALL_PV ,t.MALL_NEW_PV,t.MIN_ACHIEVE,t.ROUND,t.SECOND,
|
||||
</if>
|
||||
level,cm.PK_AWARDS,cm.PK_PLACE_PARENT,cm.PK_PARENT ,cm.PLACE_DEPT ,cm.MEMBER_NAME, cm.MEMBER_CODE,cm.PK_ID PK_MEMBER,cm.PK_COUNTRY,cm.PK_SETTLE_COUNTRY,cme.MEMBER_CODE parentMemberCode
|
||||
level,cm.PK_AWARDS,cm.PK_PLACE_PARENT,cm.PK_PARENT ,cm.PLACE_DEPT ,cm.MEMBER_NAME, cm.MEMBER_CODE,cm.PK_ID
|
||||
PK_MEMBER,cm.PK_COUNTRY,cm.PK_SETTLE_COUNTRY,cme.MEMBER_CODE parentMemberCode
|
||||
from CU_MEMBER cm
|
||||
<if test="tableName != null and tableName != ''">
|
||||
left join ${tableName} t on cm.PK_ID = t.PK_MEMBER
|
||||
|
@ -1752,7 +1792,13 @@
|
|||
union
|
||||
select *
|
||||
from (
|
||||
select t.place_dept, t.pk_member, t.member_name, t.member_code, t.phone, t.category, t.pk_grade
|
||||
select t.place_dept,
|
||||
t.pk_member,
|
||||
t.member_name,
|
||||
t.member_code,
|
||||
t.phone,
|
||||
t.category,
|
||||
t.pk_grade
|
||||
from ${tableName} t
|
||||
where t.place_dept = 2
|
||||
start
|
||||
|
@ -1772,7 +1818,8 @@
|
|||
</select>
|
||||
|
||||
<select id="queryCuMemberTree" resultMap="CuMemberSettleExt">
|
||||
select t.place_dept, t.pk_member, t.member_name,t.member_code, t.phone,t.category,t.pk_grade,bg.grade_value from ${tableName} t
|
||||
select t.place_dept, t.pk_member, t.member_name,t.member_code, t.phone,t.category,t.pk_grade,bg.grade_value from
|
||||
${tableName} t
|
||||
left join bd_grade bg
|
||||
on bg.pk_id = t.pk_grade
|
||||
where 1=1
|
||||
|
@ -1875,11 +1922,13 @@
|
|||
</select>
|
||||
|
||||
<select id="batchQueryMemberSettleParentByMemberPk" resultMap="CuMemberSettleExt">
|
||||
select cl.pk_member,cl.member_code,cl.member_name,cl.pk_awards,cl.pk_grade,cl.account_status,cl.category,cl.income_status,cl.pk_settle_country,
|
||||
select
|
||||
cl.pk_member,cl.member_code,cl.member_name,cl.pk_awards,cl.pk_grade,cl.account_status,cl.category,cl.income_status,cl.pk_settle_country,
|
||||
cl.is_maker_space,cl.purchase_status,cl.share_status,
|
||||
cl.a_balance,cl.b_balance,cl.r_a_balance,cl.r_b_balance,cl.rep_a_balance,cl.rep_b_balance,cl.r_rep_a_balance,cl.r_rep_b_balance,
|
||||
cl.register_amount,cl.register_pv,cl.upgrade_amount,cl.upgrade_pv,cl.repurchase_amount,cl.pk_center_code,cl.register_authority,
|
||||
cl.repurchase_pv,cl.hi_fun_amount,cl.hi_fun_pv,cl.mall_amount,cl.mall_pv,cl.min_achieve,cl.round,cl.second from ${settleTableName} ct
|
||||
cl.repurchase_pv,cl.hi_fun_amount,cl.hi_fun_pv,cl.mall_amount,cl.mall_pv,cl.min_achieve,cl.round,cl.second from
|
||||
${settleTableName} ct
|
||||
inner join ${settleTableName} cl
|
||||
on ct.pk_parent = cl.pk_member
|
||||
where ct.pk_member in
|
||||
|
@ -1887,7 +1936,8 @@
|
|||
#{item}
|
||||
</foreach>
|
||||
union
|
||||
select pk_member,member_code,member_name,pk_awards,pk_grade,account_status,category,income_status,pk_settle_country,
|
||||
select
|
||||
pk_member,member_code,member_name,pk_awards,pk_grade,account_status,category,income_status,pk_settle_country,
|
||||
is_maker_space,purchase_status,share_status,
|
||||
a_balance,b_balance,r_a_balance,r_b_balance,rep_a_balance,rep_b_balance,r_rep_a_balance,r_rep_b_balance,
|
||||
register_amount,register_pv,upgrade_amount,upgrade_pv,repurchase_amount,pk_center_code,register_authority,
|
||||
|
@ -1925,7 +1975,8 @@
|
|||
t.UPGRADE_NEW_PV,t.REPURCHASE_AMOUNT,t.REPURCHASE_PV,t.REPURCHASE_NEW_PV,t.HI_FUN_AMOUNT,t.HI_FUN_PV,t.HI_FUN_NEW_PV,t.MALL_AMOUNT,
|
||||
t.MALL_PV ,t.MALL_NEW_PV,t.MIN_ACHIEVE,t.ROUND,t.SECOND,
|
||||
</if>
|
||||
cm.PK_AWARDS,cm.PK_PLACE_PARENT,cm.PK_PARENT ,cm.PLACE_DEPT ,cm.MEMBER_NAME, cm.MEMBER_CODE,cm.PK_ID PK_MEMBER,cm.PK_COUNTRY,cm.PK_SETTLE_COUNTRY,cme.MEMBER_CODE parentMemberCode
|
||||
cm.PK_AWARDS,cm.PK_PLACE_PARENT,cm.PK_PARENT ,cm.PLACE_DEPT ,cm.MEMBER_NAME, cm.MEMBER_CODE,cm.PK_ID
|
||||
PK_MEMBER,cm.PK_COUNTRY,cm.PK_SETTLE_COUNTRY,cme.MEMBER_CODE parentMemberCode
|
||||
from
|
||||
CU_MEMBER cm
|
||||
left join CU_MEMBER cme on cme.PK_ID = cm.PK_PARENT
|
||||
|
@ -1954,7 +2005,8 @@
|
|||
</select>
|
||||
|
||||
<select id="queryByMemberParentSumPv" resultType="com.hzs.bonus.achieve.param.MemberParentCountParam">
|
||||
select sum(cr.REGISTER_PV + cr.UPGRADE_PV + cr.REPURCHASE_PV + cr.HI_FUN_PV + cr.MALL_PV) parentMemberSumPv,cm.PK_PARENT pkMember from ${tableName} cr
|
||||
select sum(cr.REGISTER_PV + cr.UPGRADE_PV + cr.REPURCHASE_PV + cr.HI_FUN_PV + cr.MALL_PV)
|
||||
parentMemberSumPv,cm.PK_PARENT pkMember from ${tableName} cr
|
||||
left join CU_MEMBER cm on cm.PK_ID = cr.PK_MEMBER
|
||||
where cm.del_flag = 0 and cm.PK_PARENT in
|
||||
<foreach collection="memberIds" item="item" open="(" close=")" separator=",">
|
||||
|
@ -1971,7 +2023,8 @@
|
|||
t.REP_B_SUM_AMOUNT,t.REP_A_SUM_PV,t.REP_B_SUM_PV,t.REGISTER_AMOUNT,t.REGISTER_PV,t.REGISTER_NEW_PV,t.UPGRADE_AMOUNT,t.UPGRADE_PV,
|
||||
t.UPGRADE_NEW_PV,t.REPURCHASE_AMOUNT,t.REPURCHASE_PV,t.REPURCHASE_NEW_PV,t.HI_FUN_AMOUNT,t.HI_FUN_PV,t.HI_FUN_NEW_PV,t.MALL_AMOUNT,
|
||||
t.MALL_PV ,t.MALL_NEW_PV,t.MIN_ACHIEVE,t.ROUND,t.SECOND,
|
||||
level,cm.PK_AWARDS,cm.PK_PLACE_PARENT,cm.PK_PARENT ,cm.PLACE_DEPT ,cm.MEMBER_NAME, cm.MEMBER_CODE,cm.PK_ID PK_MEMBER,cm.PK_COUNTRY,cm.PK_SETTLE_COUNTRY,cme.MEMBER_CODE parentMemberCode
|
||||
level,cm.PK_AWARDS,cm.PK_PLACE_PARENT,cm.PK_PARENT ,cm.PLACE_DEPT ,cm.MEMBER_NAME, cm.MEMBER_CODE,cm.PK_ID
|
||||
PK_MEMBER,cm.PK_COUNTRY,cm.PK_SETTLE_COUNTRY,cme.MEMBER_CODE parentMemberCode
|
||||
from ${tableName} t
|
||||
left join CU_MEMBER cm on cm.PK_ID = t.PK_MEMBER
|
||||
left join CU_MEMBER cme on cme.PK_ID = cm.PK_PLACE_PARENT
|
||||
|
@ -2056,8 +2109,10 @@
|
|||
on cme.PK_ID = cm.PK_PARENT
|
||||
</select>
|
||||
|
||||
<select id="queryByMemberParentAndMemberSettleCount" resultType="com.hzs.bonus.achieve.param.MemberParentCountParam">
|
||||
select count(cr.PK_MEMBER) parentMemberCount,cr.PK_PARENT pkMember from cu_member_settle981 cr where cr.PK_PARENT in
|
||||
<select id="queryByMemberParentAndMemberSettleCount"
|
||||
resultType="com.hzs.bonus.achieve.param.MemberParentCountParam">
|
||||
select count(cr.PK_MEMBER) parentMemberCount,cr.PK_PARENT pkMember from cu_member_settle981 cr where
|
||||
cr.PK_PARENT in
|
||||
<trim suffixOverrides=" OR PK_ID IN()"> <!-- 表示删除最后一个条件 -->
|
||||
<foreach collection="memberIds" item="Id" index="index" open="(" close=")">
|
||||
<if test="index != 0">
|
||||
|
@ -2073,7 +2128,8 @@
|
|||
</select>
|
||||
|
||||
<select id="queryByMemberParentSettleSumPv" resultType="com.hzs.bonus.achieve.param.MemberParentCountParam">
|
||||
select sum(cr.REGISTER_PV + cr.UPGRADE_PV + cr.REPURCHASE_PV + cr.HI_FUN_PV + cr.MALL_PV) parentMemberSumPv,cr.PK_PARENT pkMember from ${tableName} cr
|
||||
select sum(cr.REGISTER_PV + cr.UPGRADE_PV + cr.REPURCHASE_PV + cr.HI_FUN_PV + cr.MALL_PV)
|
||||
parentMemberSumPv,cr.PK_PARENT pkMember from ${tableName} cr
|
||||
|
||||
where cr.PK_PARENT in
|
||||
<foreach collection="memberIds" item="item" open="(" close=")" separator=",">
|
||||
|
@ -2089,7 +2145,13 @@
|
|||
</select>
|
||||
|
||||
<select id="queryMemberSettleByAwards" resultType="com.hzs.common.domain.member.ext.CuMemberSettleExt">
|
||||
select a.pk_settle_country, a.income_status, a.pk_member, a.expire_status, a.purchase_status, ba.abonus_ratio, c.real_income_total
|
||||
select a.pk_settle_country,
|
||||
a.income_status,
|
||||
a.pk_member,
|
||||
a.expire_status,
|
||||
a.purchase_status,
|
||||
ba.abonus_ratio,
|
||||
c.real_income_total
|
||||
from ${settleTableName} a
|
||||
inner join bd_awards ba
|
||||
on a.pk_awards = ba.pk_id
|
||||
|
@ -2106,7 +2168,13 @@
|
|||
and ba.abonus_ratio > 0
|
||||
and a.pk_settle_country = 1
|
||||
union
|
||||
select a.pk_settle_country, a.income_status, a.pk_member, 1 expire_status, a.purchase_status, ba.abonus_ratio, c.real_income_total
|
||||
select a.pk_settle_country,
|
||||
a.income_status,
|
||||
a.pk_member,
|
||||
1 expire_status,
|
||||
a.purchase_status,
|
||||
ba.abonus_ratio,
|
||||
c.real_income_total
|
||||
from ${rangeTableName} a
|
||||
inner join bd_awards ba
|
||||
on a.pk_benefit_awards = ba.pk_id
|
||||
|
|
|
@ -44,13 +44,16 @@ public class AcPickMemberLogServiceImpl extends ServiceImpl<AcPickMemberLogMappe
|
|||
|
||||
@Override
|
||||
public List<AcPickMemberLog> queryPickMemberLog(List<SaOrderExt> saOrderExtList) {
|
||||
LambdaQueryWrapper<AcPickMemberLog> queryWrapper = new LambdaQueryWrapper<>();
|
||||
Set<String> orderCodeSet = saOrderExtList.stream().distinct().map(SaOrderExt::getOrderCode).collect(Collectors.toSet());
|
||||
queryWrapper.in(AcPickMemberLog::getPickOrder, orderCodeSet);
|
||||
List<AcPickMemberLog> retPickMemberLogList = new ArrayList<>();
|
||||
|
||||
Set<String> orderKey = new HashSet<>();
|
||||
saOrderExtList.forEach(saOrderExt -> orderKey.add(saOrderExt.getOrderCode() + saOrderExt.getPkMember()));
|
||||
List<AcPickMemberLog> retPickMemberLogList = new ArrayList<>();
|
||||
|
||||
Set<String> orderCodeSet = saOrderExtList.stream().distinct().map(SaOrderExt::getOrderCode).collect(Collectors.toSet());
|
||||
LambdaQueryWrapper<AcPickMemberLog> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.in(AcPickMemberLog::getPickOrder, orderCodeSet);
|
||||
List<AcPickMemberLog> acPickMemberLogList = baseMapper.selectList(queryWrapper);
|
||||
|
||||
for (AcPickMemberLog acPickMemberLog : acPickMemberLogList) {
|
||||
if (!orderKey.contains(acPickMemberLog.getPickOrder() + acPickMemberLog.getPkMember())) {
|
||||
retPickMemberLogList.add(acPickMemberLog);
|
||||
|
|
|
@ -242,7 +242,8 @@
|
|||
st.is_maker_gift,
|
||||
0 channel,
|
||||
sb.pk_order pk_bonus_order,
|
||||
bt.bonus_value pk_bonus_items,bw.wares_code,nvl(bet.maker_income,0) maker_income
|
||||
bt.bonus_value pk_bonus_items,
|
||||
bw.wares_code
|
||||
from sa_order so
|
||||
inner join sa_order_items st
|
||||
on so.pk_id = st.pk_order
|
||||
|
@ -252,10 +253,6 @@
|
|||
on bt.pk_id = sb.pk_bonus_items and bt.del_flag=0
|
||||
left join bd_wares bw
|
||||
on bw.pk_id=st.pk_wares and bw.del_flag=0
|
||||
left join bd_wares_extend bet
|
||||
on bet.pk_wares=bw.pk_id and bet.del_flag=0
|
||||
left join sa_cabin_card_detail sd
|
||||
on sd.pk_order=so.pk_id and sd.del_flag=0
|
||||
where so.order_status = 1
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and so.order_code=#{orderCode}
|
||||
|
|
Loading…
Reference in New Issue