fix(pre-planting): 无推荐关系用户购买预种时 404 导致整笔交易失败
问题:PrePlantingReferralClient.getReferralChain() 生产环境遇到 404
(用户无推荐人)时直接 throw error,导致整个购买事务回滚,
无推荐关系的用户(测试账号、直接注册用户)完全无法购买预种份额。
修复:AxiosError status === 404 时返回 { directReferrer: null },
与"直接注册、无推荐人"的正常业务场景对齐,不阻断购买流程。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
fe9a30df85
commit
560674f2e9
|
|
@ -37,14 +37,18 @@ export class PrePlantingReferralClient {
|
|||
);
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
// 404 = 用户无推荐关系,属于正常情况(如测试账号、直接注册用户)
|
||||
// 返回空推荐链而非抛错,避免阻断购买流程
|
||||
if (error?.response?.status === 404) {
|
||||
this.logger.warn(
|
||||
`No referral chain found for ${accountSequence}, proceeding without referrer`,
|
||||
);
|
||||
return { accountSequence, directReferrer: null };
|
||||
}
|
||||
this.logger.error(
|
||||
`Failed to get referral chain for ${accountSequence}`,
|
||||
error,
|
||||
);
|
||||
if (this.configService.get('NODE_ENV') === 'development') {
|
||||
this.logger.warn('Development mode: returning empty referral chain');
|
||||
return { accountSequence, directReferrer: null };
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue