## 直推升级撤单处理等级;
This commit is contained in:
parent
ee86c4de8c
commit
fffe667561
|
@ -703,8 +703,6 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
|||
Date nowDate = new Date();
|
||||
// 订单信息
|
||||
SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt();
|
||||
// 订单ID
|
||||
Long pkOrderId = saOrderExt.getPkId();
|
||||
// 推荐人
|
||||
Long pkMember = saOrderExt.getPkReference();
|
||||
// 订单年月
|
||||
|
@ -735,42 +733,59 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
|||
.pkSettleGrade(referenceMember.getPkSettleGrade())
|
||||
.build();
|
||||
iMemberServiceApi.reduceMemberLevel(cuMember, recomUpgradeRecord.getPkOrderId());
|
||||
} else {
|
||||
// 活动基础配置
|
||||
AcBaseConfig baseConfig = iAcBaseConfigService.getById(recomUpgradeRecord.getPkBaseId());
|
||||
// 活动基础配置
|
||||
AcRecomUpgradeRuleConfig upgradeRuleConfig = iAcRecomUpgradeRuleConfigService.getById(recomUpgradeRecord.getPkRuleId());
|
||||
// 查询订单时间范围
|
||||
// 默认活动开始时间
|
||||
Date startTime = baseConfig.getActStartDate();
|
||||
// 默认活动结束时间
|
||||
Date endTime = baseConfig.getActEndDate();
|
||||
// 当月第一天
|
||||
Date monthFirst = DateUtils.getFirstDayOfMonth(nowDate);
|
||||
if (monthFirst.compareTo(startTime) > 0) {
|
||||
startTime = monthFirst;
|
||||
}
|
||||
// 当月最后一天
|
||||
Date monthLast = DateUtils.getLastDayOfMonth(nowDate);
|
||||
if (monthLast.compareTo(endTime) < 0) {
|
||||
endTime = monthLast;
|
||||
}
|
||||
List<SaOrder> recomOrderList = iAcRecomUpgradeRecordService.listRecomOrder(pkMember, upgradeRuleConfig.getPkRecommendGrade(), upgradeRuleConfig.getRecommendNumber(), startTime, endTime);
|
||||
// 校验推荐人是否可以升级
|
||||
if (CollectionUtil.isEmpty(recomOrderList)
|
||||
|| recomOrderList.size() != upgradeRuleConfig.getRecommendNumber()) {
|
||||
// 订单撤单后,目前订单不够升级了,需要降级
|
||||
CuMember cuMember = CuMember.builder()
|
||||
.pkId(pkMember)
|
||||
.pkSettleGrade(recomUpgradeRecord.getPkSettleGrade())
|
||||
.build();
|
||||
iMemberServiceApi.reduceMemberLevel(cuMember, recomUpgradeRecord.getPkOrderId());
|
||||
return;
|
||||
}
|
||||
// 足够升级,更新升级记录时间
|
||||
SaOrder newOrder = recomOrderList.get(recomOrderList.size() - 1);
|
||||
iMemberServiceApi.changeMemberLevel(saOrderExt, newOrder);
|
||||
return;
|
||||
}
|
||||
// 活动基础配置
|
||||
AcBaseConfig baseConfig = iAcBaseConfigService.getById(recomUpgradeRecord.getPkBaseId());
|
||||
// 活动基础配置
|
||||
AcRecomUpgradeRuleConfig upgradeRuleConfig = iAcRecomUpgradeRuleConfigService.getById(recomUpgradeRecord.getPkRuleId());
|
||||
// 查询订单时间范围
|
||||
// 默认活动开始时间
|
||||
Date startTime = baseConfig.getActStartDate();
|
||||
// 默认活动结束时间
|
||||
Date endTime = baseConfig.getActEndDate();
|
||||
// 当月第一天
|
||||
Date monthFirst = DateUtils.getFirstDayOfMonth(nowDate);
|
||||
if (monthFirst.compareTo(startTime) > 0) {
|
||||
startTime = monthFirst;
|
||||
}
|
||||
// 当月最后一天
|
||||
Date monthLast = DateUtils.getLastDayOfMonth(nowDate);
|
||||
if (monthLast.compareTo(endTime) < 0) {
|
||||
endTime = monthLast;
|
||||
}
|
||||
List<SaOrder> recomOrderList = iAcRecomUpgradeRecordService.listRecomOrder(pkMember, upgradeRuleConfig.getPkRecommendGrade(), upgradeRuleConfig.getRecommendNumber(), startTime, endTime);
|
||||
// 校验推荐人是否可以升级
|
||||
if (CollectionUtil.isEmpty(recomOrderList)
|
||||
|| recomOrderList.size() != upgradeRuleConfig.getRecommendNumber()) {
|
||||
// 订单撤单后,目前订单不够升级了,需要降级
|
||||
CuMember cuMember = CuMember.builder()
|
||||
.pkId(pkMember)
|
||||
.pkSettleGrade(recomUpgradeRecord.getPkSettleGrade())
|
||||
.build();
|
||||
iMemberServiceApi.reduceMemberLevel(cuMember, recomUpgradeRecord.getPkOrderId());
|
||||
return;
|
||||
}
|
||||
|
||||
// 足够升级,更新升级记录时间
|
||||
SaOrder newOrder = recomOrderList.get(recomOrderList.size() - 1);
|
||||
|
||||
// 封装规则升级记录
|
||||
AcRecomUpgradeRecord newUpgradeRecord = AcRecomUpgradeRecord.builder()
|
||||
.pkBaseId(baseConfig.getPkId())
|
||||
.pkRuleId(upgradeRuleConfig.getPkId())
|
||||
.pkMember(pkMember)
|
||||
.pkSettleGrade(recomUpgradeRecord.getPkSettleGrade())
|
||||
.pkRecommendGrade(recomUpgradeRecord.getPkRecommendGrade())
|
||||
.pkOrderId(newOrder.getPkId())
|
||||
.upgradeTime(upgradeTime)
|
||||
.build();
|
||||
newUpgradeRecord.setPkCreator(referenceMember.getPkId());
|
||||
newUpgradeRecord.setPkCountry(referenceMember.getPkSettleCountry());
|
||||
iAcRecomUpgradeRecordService.save(newUpgradeRecord);
|
||||
|
||||
saOrderExt.setPkId(recomUpgradeRecord.getPkOrderId());
|
||||
iMemberServiceApi.changeMemberLevel(saOrderExt, newOrder);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue