diff --git a/backend/services/planting-service/src/pre-planting/infrastructure/external/pre-planting-referral.client.ts b/backend/services/planting-service/src/pre-planting/infrastructure/external/pre-planting-referral.client.ts index fe728df1..451eb0e4 100644 --- a/backend/services/planting-service/src/pre-planting/infrastructure/external/pre-planting-referral.client.ts +++ b/backend/services/planting-service/src/pre-planting/infrastructure/external/pre-planting-referral.client.ts @@ -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; } }