## 直推升级撤单处理等级;

This commit is contained in:
cabbage 2025-09-24 13:37:51 +08:00
parent 3c105f5c4a
commit 1b7a065a24
6 changed files with 17 additions and 15 deletions

View File

@ -296,9 +296,9 @@ public interface IMemberServiceApi {
* 用户降级 -- 来源于活动
*
* @param cuMember 用户信息
* @param saOrder 订单信息
* @param pkOrder 订单ID
*/
R<?> reduceMemberLevel(CuMember cuMember, SaOrder saOrder);
R<?> reduceMemberLevel(CuMember cuMember, Long pkOrder);
/**
* 更新升级记录 -- 来源于活动

View File

@ -352,9 +352,9 @@ public class MemberServiceProvider implements IMemberServiceApi {
}
@Override
public R<?> reduceMemberLevel(CuMember cuMember, SaOrder saOrder) {
public R<?> reduceMemberLevel(CuMember cuMember, Long pkOrder) {
try {
iCuMemberBusinessService.reduceMemberLevel(cuMember, saOrder);
iCuMemberBusinessService.reduceMemberLevel(cuMember, pkOrder);
return R.ok();
} catch (Exception e) {
return R.fail(e.getMessage());

View File

@ -180,9 +180,9 @@ public interface ICuMemberBusinessService {
* 用户降级 -- 来源于活动
*
* @param cuMember 用户信息
* @param saOrder 订单信息
* @param pkOrder 订单ID
*/
void reduceMemberLevel(CuMember cuMember, SaOrder saOrder);
void reduceMemberLevel(CuMember cuMember, Long pkOrder);
/**
* 更新升级记录 -- 来源于活动

View File

@ -1207,12 +1207,12 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
@Transactional(rollbackFor = Exception.class)
@Override
public void reduceMemberLevel(CuMember cuMember, SaOrder saOrder) {
public void reduceMemberLevel(CuMember cuMember, Long pkOrder) {
updateCuMember(cuMember);
iCuMemberLevelService.update(Wrappers.<CuMemberLevel>lambdaUpdate()
.eq(CuMemberLevel::getPkMember, cuMember.getPkId())
.eq(CuMemberLevel::getUpType, EUpgradeType.ACTIVITY_UPGRADE.getValue())
.eq(CuMemberLevel::getPkOrder, saOrder.getPkId())
.eq(CuMemberLevel::getPkOrder, pkOrder)
.set(CuMemberLevel::getDelFlag, EDelFlag.DELETE.getValue())
.set(CuMemberLevel::getUpgradeTime, new Date())
);

View File

@ -707,10 +707,12 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
Long pkOrderId = saOrderExt.getPkId();
// 推荐人
Long pkMember = saOrderExt.getPkReference();
// 订单年月
String upgradeTime = DateUtils.parseDateToFormat(DateUtils.YYYYMM, saOrderExt.getPayTime());
List<AcRecomUpgradeRecord> upgradeRecordList = iAcRecomUpgradeRecordService.list(Wrappers.<AcRecomUpgradeRecord>lambdaQuery()
.eq(AcRecomUpgradeRecord::getPkMember, pkMember)
.eq(AcRecomUpgradeRecord::getPkOrderId, pkOrderId)
.eq(AcRecomUpgradeRecord::getUpgradeTime, upgradeTime)
.orderByDesc(AcRecomUpgradeRecord::getUpgradeTime)
);
if (CollectionUtil.isNotEmpty(upgradeRecordList)) {
@ -732,10 +734,10 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
.pkId(pkMember)
.pkSettleGrade(referenceMember.getPkSettleGrade())
.build();
iMemberServiceApi.reduceMemberLevel(cuMember, saOrderExt);
iMemberServiceApi.reduceMemberLevel(cuMember, recomUpgradeRecord.getPkOrderId());
} else {
// 活动基础配置
AcBaseConfig baseConfig = iAcBaseConfigService.getById(recomUpgradeRecord.getPkId());
AcBaseConfig baseConfig = iAcBaseConfigService.getById(recomUpgradeRecord.getPkBaseId());
// 活动基础配置
AcRecomUpgradeRuleConfig upgradeRuleConfig = iAcRecomUpgradeRuleConfigService.getById(recomUpgradeRecord.getPkRuleId());
// 查询订单时间范围
@ -762,7 +764,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
.pkId(pkMember)
.pkSettleGrade(recomUpgradeRecord.getPkSettleGrade())
.build();
iMemberServiceApi.reduceMemberLevel(cuMember, saOrderExt);
iMemberServiceApi.reduceMemberLevel(cuMember, recomUpgradeRecord.getPkOrderId());
return;
}
// 足够升级更新升级记录时间

View File

@ -51,9 +51,9 @@ public class ActivityBackListener {
if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType()
|| EOrderType.UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) {
// 处理直推升级
iActivityServiceApi.invokeRecommendUpgrade(AcRecommendUpgradeDTO.builder().
saOrderExt(saOrderExt).
orderOperateStatus(EOrderOperateStatus.CANCEL)
iActivityServiceApi.invokeRecommendUpgrade(AcRecommendUpgradeDTO.builder()
.saOrderExt(saOrderExt)
.orderOperateStatus(EOrderOperateStatus.CANCEL)
.build());
}
}