forked from angelo/java-retail-app
## 撤单处理盒数、业绩等;
This commit is contained in:
parent
9289057d55
commit
5cedaa4f2e
|
@ -57,7 +57,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
private IBonusOrderService iBonusOrderService;
|
private IBonusOrderService iBonusOrderService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实时计算当月奖衔
|
* 实时计算秒结数据(业绩、盒数、等级、奖衔、日奖)
|
||||||
*/
|
*/
|
||||||
List<CuMemberBonusRange> calculateCuMemberRetailRangeBonusBySecond(String settleDate, SaOrderExt saOrderExt, BonusConfigDTO bonusConfigDTO,
|
List<CuMemberBonusRange> calculateCuMemberRetailRangeBonusBySecond(String settleDate, SaOrderExt saOrderExt, BonusConfigDTO bonusConfigDTO,
|
||||||
String secondRangeTableName, int beforePeriod, int currentPeriod,
|
String secondRangeTableName, int beforePeriod, int currentPeriod,
|
||||||
|
@ -191,7 +191,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
cuMemberBonusDetailList.add(cuMemberBonusDetail);
|
cuMemberBonusDetailList.add(cuMemberBonusDetail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 回退会员等级
|
// 回退会员等级
|
||||||
iCuMemberGradeService.updateCuMemberGrade(secondRangeTableName, saOrderExt.getPkId());
|
iCuMemberGradeService.updateCuMemberGrade(secondRangeTableName, saOrderExt.getPkId());
|
||||||
if (cuMemberGradeList.size() > 0) {
|
if (cuMemberGradeList.size() > 0) {
|
||||||
|
@ -215,32 +214,43 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实时计算当月奖衔
|
* 实时计算撤单数据(业绩、盒数、等级、奖衔、日奖)
|
||||||
*/
|
*/
|
||||||
void calculateCuMemberBackRetailIncome(SaOrderExt saOrderExt, BonusConfigDTO bonusConfigDTO,
|
void calculateCuMemberBackRetailIncome(SaOrderExt saOrderExt, BonusConfigDTO bonusConfigDTO,
|
||||||
String secondRangeTableName, int beforePeriod, int currentPeriod) {
|
String secondRangeTableName, int beforePeriod, int currentPeriod) {
|
||||||
// 当天的撤单
|
// 当天的撤单
|
||||||
List<CuMemberRetailRangeExt> memberRetailRangeExtList;
|
List<CuMemberRetailRangeExt> memberRetailRangeExtList;
|
||||||
String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod;
|
String rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + beforePeriod;
|
||||||
|
|
||||||
if (DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate())) {
|
if (DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate())) {
|
||||||
// 按照血缘,查询该会员所有伞上会员
|
// 当天撤单
|
||||||
|
// 实时网体查询血缘伞上会员,更新秒结表等级、奖衔
|
||||||
iCuMemberRetailRangeService.mergeMemberRetailGradeByMember(secondRangeTableName, saOrderExt.getPkMember());
|
iCuMemberRetailRangeService.mergeMemberRetailGradeByMember(secondRangeTableName, saOrderExt.getPkMember());
|
||||||
// 恢复奖衔
|
// 恢复秒结表奖衔
|
||||||
iCuMemberAwardsService.mergeCuMemberBackAwards(secondRangeTableName, saOrderExt.getPkMember(), currentPeriod);
|
iCuMemberAwardsService.mergeCuMemberBackAwards(secondRangeTableName, saOrderExt.getPkMember(), currentPeriod);
|
||||||
|
// 查询 昨天日结 + 今天秒结 血缘上会员结算数据
|
||||||
memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeParent(rangeTableName, secondRangeTableName, saOrderExt.getPkMember());
|
memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeParent(rangeTableName, secondRangeTableName, saOrderExt.getPkMember());
|
||||||
} else {
|
} else {
|
||||||
|
// 非当天撤单
|
||||||
rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + currentPeriod;
|
rangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + currentPeriod;
|
||||||
List<SaOrderExt> retailOrderList = new ArrayList<>();
|
List<SaOrderExt> retailOrderList = new ArrayList<>();
|
||||||
retailOrderList.add(saOrderExt);
|
retailOrderList.add(saOrderExt);
|
||||||
|
// 实时网体查询血缘上会员,更新订单支付日结表等级、奖衔
|
||||||
iCuMemberRetailRangeService.mergeMemberRetailGradeByMember(rangeTableName, saOrderExt.getPkMember());
|
iCuMemberRetailRangeService.mergeMemberRetailGradeByMember(rangeTableName, saOrderExt.getPkMember());
|
||||||
// 恢复奖衔
|
// 恢复日结表奖衔
|
||||||
iCuMemberAwardsService.mergeCuMemberBackAwards(rangeTableName, saOrderExt.getPkMember(), beforePeriod);
|
iCuMemberAwardsService.mergeCuMemberBackAwards(rangeTableName, saOrderExt.getPkMember(), beforePeriod);
|
||||||
|
// 查询 订单下单日结 血缘上会员结算数据
|
||||||
memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList);
|
memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 会员结算map(key:会员ID,value:结算扩展)
|
||||||
Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>();
|
Map<Long, CuMemberRetailRangeExt> memberRangeExtMap = new HashMap<>();
|
||||||
|
|
||||||
|
// 团队升级等级map(key:等级值,value:等级对象)
|
||||||
Map<Integer, BdGrade> retailTeamGradeMap = new TreeMap<>();
|
Map<Integer, BdGrade> retailTeamGradeMap = new TreeMap<>();
|
||||||
|
// 等级map(key:等级ID,value:等级对象)
|
||||||
Map<Integer, BdGrade> gradeIdMap = new HashMap<>();
|
Map<Integer, BdGrade> gradeIdMap = new HashMap<>();
|
||||||
|
// 等级列表
|
||||||
List<BdGrade> retaiGradeList = bonusConfigDTO.getRetaiGradeList();
|
List<BdGrade> retaiGradeList = bonusConfigDTO.getRetaiGradeList();
|
||||||
// 等级
|
// 等级
|
||||||
for (BdGrade bdGrade : retaiGradeList) {
|
for (BdGrade bdGrade : retaiGradeList) {
|
||||||
|
@ -249,18 +259,20 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
gradeIdMap.put(bdGrade.getPkId(), bdGrade);
|
gradeIdMap.put(bdGrade.getPkId(), bdGrade);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 奖衔map(key:奖衔值,value:奖衔对象)
|
||||||
Map<Integer, BdAwards> retailAwardsMap = new HashMap<>();
|
Map<Integer, BdAwards> retailAwardsMap = new HashMap<>();
|
||||||
List<BdAwards> awardsList = bonusConfigDTO.getAwardsList();
|
List<BdAwards> awardsList = bonusConfigDTO.getAwardsList();
|
||||||
awardsList.forEach(bdAwards -> retailAwardsMap.put(bdAwards.getAwardsValue(), bdAwards));
|
awardsList.forEach(bdAwards -> retailAwardsMap.put(bdAwards.getAwardsValue(), bdAwards));
|
||||||
|
|
||||||
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) {
|
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : memberRetailRangeExtList) {
|
||||||
if (!memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
if (!memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
||||||
cuMemberRetailRangeExt.setBuyNum(0);
|
cuMemberRetailRangeExt.setBuyNum(0);
|
||||||
// 转换等级购买数量
|
|
||||||
memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt);
|
memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Map<String, CuMemberGrade> cuMemberGradeMap = new HashMap<>();
|
|
||||||
Map<String, CuMemberAwards> cuMemberAwardsMap = new HashMap<>();
|
// 计算自消费奖衔
|
||||||
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
||||||
// 先算等级 注册、升级计算等级
|
// 先算等级 注册、升级计算等级
|
||||||
int boxNum = 0;
|
int boxNum = 0;
|
||||||
|
@ -272,23 +284,32 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
saOrderExt.setBoxNum(boxNum);
|
||||||
|
|
||||||
|
// 订单业绩
|
||||||
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
||||||
// if (saOrderExt.getOrderType().equals(EOrderType.RETAIL_REGISTER.getValue()) ||
|
if (EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()
|
||||||
// saOrderExt.getOrderType().equals(EOrderType.RETAIL_UPGRADE.getValue())) {
|
|| EOrderType.RETAIL_CONSUME.getValue() == saOrderExt.getOrderType()
|
||||||
// orderAchieve = BigDecimal.ZERO;
|
) {
|
||||||
// }else{
|
// 复购、重消,盒数、业绩算个人累计数据(盒数、业绩)
|
||||||
//
|
|
||||||
// }
|
|
||||||
// 个人累计消费pv
|
|
||||||
sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() - boxNum);
|
sourceMemberRangeExt.setConsumeBoxNum(sourceMemberRangeExt.getConsumeBoxNum() - boxNum);
|
||||||
sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() - boxNum);
|
sourceMemberRangeExt.setNewBoxNum(sourceMemberRangeExt.getNewBoxNum() - boxNum);
|
||||||
sourceMemberRangeExt.setConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getConsumePv(), orderAchieve));
|
sourceMemberRangeExt.setConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getConsumePv(), orderAchieve));
|
||||||
sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
|
sourceMemberRangeExt.setMonthConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getMonthConsumePv(), orderAchieve));
|
||||||
sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
|
sourceMemberRangeExt.setNewConsumePv(ComputeUtil.computeSubtract(sourceMemberRangeExt.getNewConsumePv(), orderAchieve));
|
||||||
// 团队业绩,计算奖衔
|
}
|
||||||
|
|
||||||
|
// 会员等级map
|
||||||
|
Map<String, CuMemberGrade> cuMemberGradeMap = new HashMap<>();
|
||||||
|
// 会员奖衔map
|
||||||
|
Map<String, CuMemberAwards> cuMemberAwardsMap = new HashMap<>();
|
||||||
|
// 计算自己等级、奖衔等
|
||||||
calculateBackGrade(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, cuMemberGradeMap, cuMemberAwardsMap, sourceMemberRangeExt);
|
calculateBackGrade(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, cuMemberGradeMap, cuMemberAwardsMap, sourceMemberRangeExt);
|
||||||
|
// 计算团队业绩、盒数,计算等级、奖衔
|
||||||
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = calculateRetailBackRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap);
|
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = calculateRetailBackRangeGradeAwards(currentPeriod, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, boxNum, cuMemberGradeMap, cuMemberAwardsMap);
|
||||||
cuMemberRetailRangeExtList.add(sourceMemberRangeExt);
|
cuMemberRetailRangeExtList.add(sourceMemberRangeExt);
|
||||||
|
|
||||||
|
|
||||||
// 查询期间的等级和奖衔
|
// 查询期间的等级和奖衔
|
||||||
List<CuMemberGrade> memberGradeList = iCuMemberGradeService.queryCuMemberGrade(cuMemberRetailRangeExtList, currentPeriod);
|
List<CuMemberGrade> memberGradeList = iCuMemberGradeService.queryCuMemberGrade(cuMemberRetailRangeExtList, currentPeriod);
|
||||||
// 查询最大的手动奖衔
|
// 查询最大的手动奖衔
|
||||||
|
@ -926,7 +947,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 如果等级值 大于 当前会员等级值 并且 等级要求累计盒数 小于等于 团队累计盒数 + 累计消费盒数,则可以进行升级
|
// 如果等级值 大于 当前会员等级值 并且 等级要求累计盒数 小于等于 团队累计盒数 + 累计消费盒数,则可以进行升级
|
||||||
if (bdGrade.getGradeValue() > targetMemberRangeExt.getGradeValue()
|
if (bdGrade.getGradeValue() > targetMemberRangeExt.getGradeValue()
|
||||||
&& bdGrade.getBoxTotal() <= (targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum())) {
|
&& bdGrade.getBoxTotal() <= (targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum())) {
|
||||||
|
|
||||||
// 验证小区,计算小区累计盒数 查询伞下会员
|
// 验证小区,计算小区累计盒数 查询伞下会员
|
||||||
List<CuMemberRetailRangeExt> cuMemberRangeExtList;
|
List<CuMemberRetailRangeExt> cuMemberRangeExtList;
|
||||||
if (secondRangeTableName != null) {
|
if (secondRangeTableName != null) {
|
||||||
|
@ -982,7 +1002,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 先验证累计业绩
|
// 先验证累计业绩
|
||||||
// new 升级奖衔判断为当月累计业绩,累计业绩为团队业绩 + 个人消费业绩
|
// new 升级奖衔判断为当月累计业绩,累计业绩为团队业绩 + 个人消费业绩
|
||||||
if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getTotalCheck())) {
|
if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getTotalCheck())) {
|
||||||
// 累计业绩足够
|
// 累计业绩足够,即可升奖衔
|
||||||
// BigDecimal consumeBigPv = BigDecimal.ZERO;
|
// BigDecimal consumeBigPv = BigDecimal.ZERO;
|
||||||
// if (ComputeUtil.compareValue(bdAwards.getCommunityCheck())) {
|
// if (ComputeUtil.compareValue(bdAwards.getCommunityCheck())) {
|
||||||
// // 验证小区,计算小区业绩
|
// // 验证小区,计算小区业绩
|
||||||
|
@ -1002,12 +1022,11 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// // new 新制度奖衔不校验小区
|
|
||||||
// BigDecimal smallAreaPv = ComputeUtil.computeSubtract(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), consumeBigPv);
|
// BigDecimal smallAreaPv = ComputeUtil.computeSubtract(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), consumeBigPv);
|
||||||
// if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getCommunityCheck())) {
|
// if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getCommunityCheck())) {
|
||||||
cuMemberAwardsList.add(getCuMemberRetailAwards(targetMemberRangeExt, period, saOrderExt, bdAwards, EAwardsType.RANGE_TYPE.getValue()));
|
cuMemberAwardsList.add(getCuMemberRetailAwards(targetMemberRangeExt, period, saOrderExt, bdAwards, EAwardsType.RANGE_TYPE.getValue()));
|
||||||
targetMemberRangeExt.setAwardsValue(bdAwards.getAwardsValue());
|
|
||||||
targetMemberRangeExt.setPkAwards(bdAwards.getPkId());
|
targetMemberRangeExt.setPkAwards(bdAwards.getPkId());
|
||||||
|
targetMemberRangeExt.setAwardsValue(bdAwards.getAwardsValue());
|
||||||
targetMemberRangeExt.setAwardsName(bdAwards.getAwardsName());
|
targetMemberRangeExt.setAwardsName(bdAwards.getAwardsName());
|
||||||
continue;
|
continue;
|
||||||
// }
|
// }
|
||||||
|
@ -1075,11 +1094,17 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
public List<CuMemberRetailRangeExt> calculateRetailBackRangeGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt,
|
public List<CuMemberRetailRangeExt> calculateRetailBackRangeGradeAwards(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt,
|
||||||
Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, String secondRangeTableName,
|
Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, String secondRangeTableName,
|
||||||
Integer boxNum, Map<String, CuMemberGrade> cuMemberGradeMap, Map<String, CuMemberAwards> cuMemberAwardsMap) {
|
Integer boxNum, Map<String, CuMemberGrade> cuMemberGradeMap, Map<String, CuMemberAwards> cuMemberAwardsMap) {
|
||||||
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
|
||||||
CuMemberRetailRangeExt targetMemberRangeExt = memberRangeExtMap.get(sourceMemberRangeExt.getPkParent());
|
|
||||||
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = new ArrayList<>();
|
List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList = new ArrayList<>();
|
||||||
|
// 订单会员
|
||||||
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
||||||
|
// 订单会员的推荐人
|
||||||
|
CuMemberRetailRangeExt targetMemberRangeExt = memberRangeExtMap.get(sourceMemberRangeExt.getPkParent());
|
||||||
|
|
||||||
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
BigDecimal orderAchieve = saOrderExt.getOrderAchieve();
|
||||||
BigDecimal orderAmount = saOrderExt.getOrderAmount();
|
BigDecimal orderAmount = saOrderExt.getOrderAmount();
|
||||||
|
while (targetMemberRangeExt != null) {
|
||||||
|
// 激活的账号才能累计业绩和盒数(有注册、升级订单)
|
||||||
|
if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) {
|
||||||
// 累计业绩
|
// 累计业绩
|
||||||
targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount));
|
targetMemberRangeExt.setTeamConsumeAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumeAmount(), orderAmount));
|
||||||
targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumePv(), orderAchieve));
|
targetMemberRangeExt.setTeamConsumePv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamConsumePv(), orderAchieve));
|
||||||
|
@ -1087,14 +1112,13 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthPv(), orderAchieve));
|
targetMemberRangeExt.setTeamMonthPv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthPv(), orderAchieve));
|
||||||
targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamNewAmount(), orderAmount));
|
targetMemberRangeExt.setTeamNewAmount(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamNewAmount(), orderAmount));
|
||||||
targetMemberRangeExt.setTeamNewPv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamNewPv(), orderAchieve));
|
targetMemberRangeExt.setTeamNewPv(ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamNewPv(), orderAchieve));
|
||||||
while (targetMemberRangeExt != null) {
|
|
||||||
// 累计盒数
|
// 累计盒数
|
||||||
if (targetMemberRangeExt.getEnableStatus() == EYesNo.YES.getIntValue()) {
|
|
||||||
targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() - boxNum);
|
targetMemberRangeExt.setTeamBoxNum(targetMemberRangeExt.getTeamBoxNum() - boxNum);
|
||||||
targetMemberRangeExt.setMonthBoxNum(targetMemberRangeExt.getMonthBoxNum() - boxNum);
|
targetMemberRangeExt.setMonthBoxNum(targetMemberRangeExt.getMonthBoxNum() - boxNum);
|
||||||
targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() - boxNum);
|
targetMemberRangeExt.setTeamNewBoxNum(targetMemberRangeExt.getTeamNewBoxNum() - boxNum);
|
||||||
cuMemberRetailRangeExtList.add(targetMemberRangeExt);
|
// 计算等级
|
||||||
calculateBackGrade(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, cuMemberGradeMap, cuMemberAwardsMap, targetMemberRangeExt);
|
calculateBackGrade(period, memberRangeExtMap, rangeTableName, saOrderExt, retailTeamGradeMap, retailAwardsMap, secondRangeTableName, cuMemberGradeMap, cuMemberAwardsMap, targetMemberRangeExt);
|
||||||
|
cuMemberRetailRangeExtList.add(targetMemberRangeExt);
|
||||||
}
|
}
|
||||||
// 计算等级
|
// 计算等级
|
||||||
targetMemberRangeExt = memberRangeExtMap.get(targetMemberRangeExt.getPkParent());
|
targetMemberRangeExt = memberRangeExtMap.get(targetMemberRangeExt.getPkParent());
|
||||||
|
@ -1102,34 +1126,51 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
return cuMemberRetailRangeExtList;
|
return cuMemberRetailRangeExtList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void calculateBackGrade(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName, SaOrderExt saOrderExt, Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap, String secondRangeTableName, Map<String, CuMemberGrade> cuMemberGradeMap, Map<String, CuMemberAwards> cuMemberAwardsMap, CuMemberRetailRangeExt targetMemberRangeExt) {
|
private void calculateBackGrade(Integer period, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, String rangeTableName,
|
||||||
|
SaOrderExt saOrderExt, Map<Integer, BdGrade> retailTeamGradeMap, Map<Integer, BdAwards> retailAwardsMap,
|
||||||
|
String secondRangeTableName, Map<String, CuMemberGrade> cuMemberGradeMap, Map<String, CuMemberAwards> cuMemberAwardsMap,
|
||||||
|
CuMemberRetailRangeExt targetMemberRangeExt) {
|
||||||
|
// 遍历团队等级map(V4,V5)
|
||||||
for (Integer gradeValue : retailTeamGradeMap.keySet()) {
|
for (Integer gradeValue : retailTeamGradeMap.keySet()) {
|
||||||
BdGrade bdGrade = retailTeamGradeMap.get(gradeValue);
|
BdGrade bdGrade = retailTeamGradeMap.get(gradeValue);
|
||||||
|
|
||||||
if (bdGrade.getBoxTotal() <= (targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum())) {
|
if (bdGrade.getBoxTotal() <= (targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum())) {
|
||||||
// 验证小区,计算小区累计盒数 查询伞下会员
|
// 验证小区,计算小区累计盒数 查询伞下会员
|
||||||
List<CuMemberRetailRangeExt> cuMemberRangeExtList;
|
List<CuMemberRetailRangeExt> cuMemberRangeExtList;
|
||||||
if (secondRangeTableName != null) {
|
if (secondRangeTableName != null) {
|
||||||
|
// 秒结表关联昨日结算表,查询订单会员直推数据
|
||||||
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
|
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
|
||||||
} else {
|
} else {
|
||||||
|
// 昨日结算表,查询订单会员直推数据
|
||||||
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
|
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 有注水的,大区无限大,新增全算小区
|
||||||
|
// 大区盒数
|
||||||
int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum();
|
int bigBoxNum = targetMemberRangeExt.getConsumeBoxNum();
|
||||||
if (targetMemberRangeExt.getBigBoxNum() > 0) {
|
if (targetMemberRangeExt.getBigBoxNum() > 0) {
|
||||||
|
// 大区存在注水盒数,直接使用大区注水盒数
|
||||||
bigBoxNum = targetMemberRangeExt.getBigBoxNum();
|
bigBoxNum = targetMemberRangeExt.getBigBoxNum();
|
||||||
} else {
|
} else {
|
||||||
|
// 秒结 cuMemberRangeExtList 为直推会员数据, memberRangeExtMap 为会员伞上数据,这块应该永远不会处理
|
||||||
|
// 日结这块处理直推判断大小区没问题
|
||||||
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
|
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
|
||||||
if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
||||||
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
|
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
|
||||||
}
|
}
|
||||||
|
// 伞下团队累计盒数 + 自己消费盒数 - 大区注水 - 小区注水
|
||||||
int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum()
|
int areaBoxNum = cuMemberRetailRangeExt.getTeamBoxNum() + cuMemberRetailRangeExt.getConsumeBoxNum()
|
||||||
- cuMemberRetailRangeExt.getBigBoxNum() - cuMemberRetailRangeExt.getSmallBoxNum();
|
- cuMemberRetailRangeExt.getBigBoxNum() - cuMemberRetailRangeExt.getSmallBoxNum();
|
||||||
if (areaBoxNum > bigBoxNum) {
|
if (areaBoxNum > bigBoxNum) {
|
||||||
|
// 实际订单累计盒数 大于 累计消费盒数,实际订单累计盒数为大区
|
||||||
bigBoxNum = areaBoxNum;
|
bigBoxNum = areaBoxNum;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 小区盒数
|
||||||
int smallBoxNum = targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum() - bigBoxNum;
|
int smallBoxNum = targetMemberRangeExt.getTeamBoxNum() + targetMemberRangeExt.getConsumeBoxNum() - bigBoxNum;
|
||||||
if (smallBoxNum >= bdGrade.getBoxSmallTotal()) {
|
if (smallBoxNum >= bdGrade.getBoxSmallTotal()) {
|
||||||
|
// 小区盒数 大于等于 升级小区盒数
|
||||||
CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade);
|
CuMemberGrade cuMemberGrade = getCuMemberGrade(period, targetMemberRangeExt, bdGrade);
|
||||||
cuMemberGradeMap.put(cuMemberGrade.getPkMember() + "_" + cuMemberGrade.getNewLevel(), cuMemberGrade);
|
cuMemberGradeMap.put(cuMemberGrade.getPkMember() + "_" + cuMemberGrade.getNewLevel(), cuMemberGrade);
|
||||||
targetMemberRangeExt.setGradeValue(bdGrade.getGradeValue());
|
targetMemberRangeExt.setGradeValue(bdGrade.getGradeValue());
|
||||||
|
@ -1138,39 +1179,42 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 计算奖衔
|
// 计算奖衔(荣誉级别)
|
||||||
while (true) {
|
while (true) {
|
||||||
int awardsValue = targetMemberRangeExt.getAwardsValue() + 5;
|
int awardsValue = targetMemberRangeExt.getAwardsValue() + 5;
|
||||||
if (targetMemberRangeExt.getGradeValue().equals(EGrade.S_VIP.getValue()) && retailAwardsMap.containsKey(awardsValue)) {
|
if (targetMemberRangeExt.getGradeValue().equals(EGrade.S_VIP.getValue()) && retailAwardsMap.containsKey(awardsValue)) {
|
||||||
|
// 等级达到V5 并且 存在下个奖衔,判断是否能升奖衔
|
||||||
BdAwards bdAwards = retailAwardsMap.get(awardsValue);
|
BdAwards bdAwards = retailAwardsMap.get(awardsValue);
|
||||||
// 先验证累计业绩
|
// 先验证累计业绩
|
||||||
|
// new 升级奖衔判断为当月累计业绩,累计业绩为团队业绩 + 个人消费业绩
|
||||||
if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getTotalCheck())) {
|
if (ComputeUtil.compareValue(ComputeUtil.computeAdd(targetMemberRangeExt.getTeamMonthPv(), targetMemberRangeExt.getMonthConsumePv()), bdAwards.getTotalCheck())) {
|
||||||
// 验证小区,计算小区业绩
|
// 累计业绩足够,即可升奖衔
|
||||||
List<CuMemberRetailRangeExt> cuMemberRangeExtList;
|
// // 验证小区,计算小区业绩
|
||||||
if (secondRangeTableName != null) {
|
// List<CuMemberRetailRangeExt> cuMemberRangeExtList;
|
||||||
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
|
// if (secondRangeTableName != null) {
|
||||||
} else {
|
// cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberSecondRangeExtByParent(rangeTableName, secondRangeTableName, targetMemberRangeExt.getPkMember());
|
||||||
cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
|
// } else {
|
||||||
}
|
// cuMemberRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeExtByParent(rangeTableName, targetMemberRangeExt.getPkMember());
|
||||||
BigDecimal consumeBigPv = BigDecimal.ZERO;
|
// }
|
||||||
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
|
// BigDecimal consumeBigPv = BigDecimal.ZERO;
|
||||||
if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
// for (CuMemberRetailRangeExt cuMemberRetailRangeExt : cuMemberRangeExtList) {
|
||||||
cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
|
// if (memberRangeExtMap.containsKey(cuMemberRetailRangeExt.getPkMember())) {
|
||||||
}
|
// cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
|
||||||
BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv());
|
// }
|
||||||
if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) {
|
// BigDecimal consumePv = ComputeUtil.computeAdd(cuMemberRetailRangeExt.getMonthConsumePv(), cuMemberRetailRangeExt.getTeamMonthPv());
|
||||||
consumeBigPv = consumePv;
|
// if (ComputeUtil.compareGreaterThan(consumePv, consumeBigPv)) {
|
||||||
}
|
// consumeBigPv = consumePv;
|
||||||
}
|
// }
|
||||||
BigDecimal smallAreaPv = ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthPv(), consumeBigPv);
|
// }
|
||||||
if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getCommunityCheck())) {
|
// BigDecimal smallAreaPv = ComputeUtil.computeSubtract(targetMemberRangeExt.getTeamMonthPv(), consumeBigPv);
|
||||||
|
// if (ComputeUtil.compareValue(smallAreaPv, bdAwards.getCommunityCheck())) {
|
||||||
CuMemberAwards cuMemberRetailAwards = getCuMemberRetailAwards(targetMemberRangeExt, period, saOrderExt, bdAwards, EAwardsType.RANGE_TYPE.getValue());
|
CuMemberAwards cuMemberRetailAwards = getCuMemberRetailAwards(targetMemberRangeExt, period, saOrderExt, bdAwards, EAwardsType.RANGE_TYPE.getValue());
|
||||||
cuMemberAwardsMap.put(cuMemberRetailAwards.getPkMember() + "_" + cuMemberRetailAwards.getNewLevel(), cuMemberRetailAwards);
|
cuMemberAwardsMap.put(cuMemberRetailAwards.getPkMember() + "_" + cuMemberRetailAwards.getNewLevel(), cuMemberRetailAwards);
|
||||||
targetMemberRangeExt.setAwardsValue(bdAwards.getAwardsValue());
|
|
||||||
targetMemberRangeExt.setPkAwards(bdAwards.getPkId());
|
targetMemberRangeExt.setPkAwards(bdAwards.getPkId());
|
||||||
|
targetMemberRangeExt.setAwardsValue(bdAwards.getAwardsValue());
|
||||||
targetMemberRangeExt.setAwardsName(bdAwards.getAwardsName());
|
targetMemberRangeExt.setAwardsName(bdAwards.getAwardsName());
|
||||||
continue;
|
continue;
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -214,7 +214,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
// 订单下单处理(正向)
|
// 订单下单处理(正向)
|
||||||
// 会员奖金明细
|
// 会员奖金明细
|
||||||
List<CuMemberBonusDetail> cuMemberBonusDetailList = new ArrayList<>();
|
List<CuMemberBonusDetail> cuMemberBonusDetailList = new ArrayList<>();
|
||||||
// 实时计算当月奖衔
|
// 实时计算秒结数据(业绩、盒数、等级、奖衔、日奖)
|
||||||
List<CuMemberBonusRange> cuMemberBonusRangeList = bonusSettleRangeHandle.calculateCuMemberRetailRangeBonusBySecond(settleDate, saOrderExt, bonusConfigDTO,
|
List<CuMemberBonusRange> cuMemberBonusRangeList = bonusSettleRangeHandle.calculateCuMemberRetailRangeBonusBySecond(settleDate, saOrderExt, bonusConfigDTO,
|
||||||
secondRangeTableName, beforePeriod, currentPeriod, cuMemberBonusMap, cuMemberBonusDetailList);
|
secondRangeTableName, beforePeriod, currentPeriod, cuMemberBonusMap, cuMemberBonusDetailList);
|
||||||
saveCuMemberBonus(currentPeriod, settleDate, cuMemberBonusMap);
|
saveCuMemberBonus(currentPeriod, settleDate, cuMemberBonusMap);
|
||||||
|
@ -236,6 +236,7 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
settleDate = DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS));
|
settleDate = DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS));
|
||||||
currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
|
currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
|
||||||
}
|
}
|
||||||
|
// 实时计算撤单数据(业绩、盒数、等级、奖衔、日奖)
|
||||||
bonusSettleRangeHandle.calculateCuMemberBackRetailIncome(saOrderExt, bonusConfigDTO,
|
bonusSettleRangeHandle.calculateCuMemberBackRetailIncome(saOrderExt, bonusConfigDTO,
|
||||||
secondRangeTableName, beforePeriod, currentPeriod);
|
secondRangeTableName, beforePeriod, currentPeriod);
|
||||||
// 处理收益
|
// 处理收益
|
||||||
|
|
|
@ -683,7 +683,7 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
||||||
public void mergeBackMemberBonusIncome(Long pkOrder) {
|
public void mergeBackMemberBonusIncome(Long pkOrder) {
|
||||||
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RETAIL_RANGE_INCOME.getValue());
|
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RETAIL_RANGE_INCOME.getValue());
|
||||||
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RETAIL_SAME_LEVEL_INCOME.getValue());
|
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RETAIL_SAME_LEVEL_INCOME.getValue());
|
||||||
// baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RETAIL_AREA_INCOME.getValue());
|
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RETAIL_AREA_INCOME.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -56,21 +56,22 @@
|
||||||
<insert id="batchInsertCuMemberBonusDetail">
|
<insert id="batchInsertCuMemberBonusDetail">
|
||||||
insert ALL
|
insert ALL
|
||||||
<foreach item="item" index="index" collection="cuMemberBonusDetailList" separator=" ">
|
<foreach item="item" index="index" collection="cuMemberBonusDetailList" separator=" ">
|
||||||
into cu_member_bonus_detail(pk_bonus,pk_order,pk_bonus_items,income_status,
|
into cu_member_bonus_detail (
|
||||||
|
pk_bonus, pk_order, pk_bonus_items, income_status,
|
||||||
cal_type, cal_achieve, cal_value, pretax_income,
|
cal_type, cal_achieve, cal_value, pretax_income,
|
||||||
income_tax, real_income, remark,
|
income_tax, real_income, remark,
|
||||||
income_ratio,income_dial_ratio,order_dial_ratio,pk_country,pk_creator)
|
income_ratio, income_dial_ratio, order_dial_ratio,
|
||||||
values
|
pk_country, pk_creator)
|
||||||
(
|
values (
|
||||||
#{item.pkBonus}, nvl(#{item.pkOrder, jdbcType=BIGINT},0), #{item.pkBonusItems}, #{item.incomeStatus},
|
#{item.pkBonus}, nvl(#{item.pkOrder, jdbcType=BIGINT},0), #{item.pkBonusItems}, #{item.incomeStatus},
|
||||||
#{item.calType}, #{item.calAchieve, jdbcType=NUMERIC}, #{item.calValue, jdbcType=NUMERIC}, #{item.pretaxIncome, jdbcType=NUMERIC},
|
#{item.calType}, #{item.calAchieve, jdbcType=NUMERIC}, #{item.calValue, jdbcType=NUMERIC}, #{item.pretaxIncome, jdbcType=NUMERIC},
|
||||||
#{item.incomeTax,jdbcType=NUMERIC},#{item.realIncome,jdbcType=NUMERIC},
|
#{item.incomeTax, jdbcType=NUMERIC}, #{item.realIncome, jdbcType=NUMERIC}, #{item.remark},
|
||||||
#{item.remark},#{item.incomeRatio,jdbcType=NUMERIC},#{item.incomeDialRatio,jdbcType=NUMERIC},#{item.orderDialRatio,jdbcType=NUMERIC},
|
#{item.incomeRatio, jdbcType=NUMERIC}, #{item.incomeDialRatio, jdbcType=NUMERIC}, #{item.orderDialRatio, jdbcType=NUMERIC},
|
||||||
#{item.pkCountry},#{item.pkCreator}
|
#{item.pkCountry},#{item.pkCreator})
|
||||||
)
|
|
||||||
</foreach>
|
</foreach>
|
||||||
SELECT 1 FROM dual
|
SELECT 1 FROM dual
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<insert id="insertCuMemberBonusDetail">
|
<insert id="insertCuMemberBonusDetail">
|
||||||
insert into cu_member_bonus_detail(pk_bonus, pk_order, pk_bonus_items, income_status,
|
insert into cu_member_bonus_detail(pk_bonus, pk_order, pk_bonus_items, income_status,
|
||||||
cal_type, cal_achieve, cal_value, pretax_income,
|
cal_type, cal_achieve, cal_value, pretax_income,
|
||||||
|
|
|
@ -74,6 +74,7 @@
|
||||||
and pk_country = #{pkCountry}
|
and pk_country = #{pkCountry}
|
||||||
</if>
|
</if>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="mergeBackRangeBonusIncome">
|
<update id="mergeBackRangeBonusIncome">
|
||||||
merge into cu_member_bonus a
|
merge into cu_member_bonus a
|
||||||
using(
|
using(
|
||||||
|
@ -104,6 +105,7 @@
|
||||||
,a.retail_area_income = a.retail_area_income - b.pretax_income
|
,a.retail_area_income = a.retail_area_income - b.pretax_income
|
||||||
</if>
|
</if>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<delete id="deleteCuMemberBonus">
|
<delete id="deleteCuMemberBonus">
|
||||||
delete
|
delete
|
||||||
from cu_member_bonus
|
from cu_member_bonus
|
||||||
|
|
|
@ -48,7 +48,6 @@
|
||||||
<result column="SETTLE_COUNTRY" property="settleCountry"/>
|
<result column="SETTLE_COUNTRY" property="settleCountry"/>
|
||||||
<result column="PERIOD" property="period"/>
|
<result column="PERIOD" property="period"/>
|
||||||
<result column="OUT_EXCHANGE_RATE" property="outExchangeRate"/>
|
<result column="OUT_EXCHANGE_RATE" property="outExchangeRate"/>
|
||||||
|
|
||||||
<result column="service_code" property="serviceCode"/>
|
<result column="service_code" property="serviceCode"/>
|
||||||
<result column="pk_vertex" property="pkVertex"/>
|
<result column="pk_vertex" property="pkVertex"/>
|
||||||
<result column="nick_name" property="nickName"/>
|
<result column="nick_name" property="nickName"/>
|
||||||
|
@ -57,18 +56,20 @@
|
||||||
<insert id="batchInsertCuMemberBonusRange">
|
<insert id="batchInsertCuMemberBonusRange">
|
||||||
insert ALL
|
insert ALL
|
||||||
<foreach item="item" index="index" collection="cuMemberBonusRangeList" separator=" ">
|
<foreach item="item" index="index" collection="cuMemberBonusRangeList" separator=" ">
|
||||||
into cu_member_bonus_range(pk_bonus,pk_order,pk_order_items,pk_bonus_items,income_status,
|
into cu_member_bonus_range (
|
||||||
cal_type,cal_achieve,cal_value,pk_range,pk_before_range,pretax_income,
|
pk_bonus, pk_order, pk_order_items, pk_bonus_items,
|
||||||
|
income_status, cal_type, cal_achieve, cal_value,
|
||||||
|
pk_range, pk_before_range, pretax_income,
|
||||||
income_tax, real_income, remark,
|
income_tax, real_income, remark,
|
||||||
income_ratio,income_dial_ratio,order_dial_ratio,pk_country,pk_creator)
|
income_ratio, income_dial_ratio, order_dial_ratio,
|
||||||
values
|
pk_country, pk_creator)
|
||||||
(
|
values (
|
||||||
#{item.pkBonus},#{item.pkOrder},#{item.pkOrderItems},#{item.pkBonusItems},#{item.incomeStatus},
|
#{item.pkBonus}, #{item.pkOrder}, #{item.pkOrderItems}, #{item.pkBonusItems},
|
||||||
#{item.calType},#{item.calAchieve},#{item.calValue},#{item.pkRange},#{item.pkBeforeRange},
|
#{item.incomeStatus}, #{item.calType}, #{item.calAchieve}, #{item.calValue},
|
||||||
#{item.pretaxIncome},#{item.incomeTax},#{item.realIncome},
|
#{item.pkRange}, #{item.pkBeforeRange}, #{item.pretaxIncome},
|
||||||
#{item.remark},#{item.incomeRatio},#{item.incomeDialRatio},#{item.orderDialRatio},
|
#{item.incomeTax}, #{item.realIncome}, #{item.remark},
|
||||||
#{item.pkCountry},#{item.pkCreator}
|
#{item.incomeRatio}, #{item.incomeDialRatio}, #{item.orderDialRatio},
|
||||||
)
|
#{item.pkCountry}, #{item.pkCreator})
|
||||||
</foreach>
|
</foreach>
|
||||||
SELECT 1 FROM dual
|
SELECT 1 FROM dual
|
||||||
</insert>
|
</insert>
|
||||||
|
|
Loading…
Reference in New Issue