diff --git a/backend/services/admin-service/src/infrastructure/persistence/repositories/user-detail-query.repository.impl.ts b/backend/services/admin-service/src/infrastructure/persistence/repositories/user-detail-query.repository.impl.ts index fca64c87..e1476b97 100644 --- a/backend/services/admin-service/src/infrastructure/persistence/repositories/user-detail-query.repository.impl.ts +++ b/backend/services/admin-service/src/infrastructure/persistence/repositories/user-detail-query.repository.impl.ts @@ -83,13 +83,14 @@ export class UserDetailQueryRepositoryImpl implements IUserDetailQueryRepository ]); // 实时统计:获取每个祖先的认种数量、团队认种量和直推数量 - const userAccountSequences = users.map(u => u.accountSequence); + // 注意:优先从 referrals 获取 accountSequences,因为用户可能不存在于 user_query_view + const referralAccountSequences = referrals.map(r => r.accountSequence); const [adoptionCounts, directReferralCounts, teamStats] = await Promise.all([ // 统计每个用户的认种订单数量(状态为 MINING_ENABLED) this.prisma.plantingOrderQueryView.groupBy({ by: ['accountSequence'], where: { - accountSequence: { in: userAccountSequences }, + accountSequence: { in: referralAccountSequences }, status: 'MINING_ENABLED', }, _count: { id: true }, @@ -101,7 +102,7 @@ export class UserDetailQueryRepositoryImpl implements IUserDetailQueryRepository _count: { userId: true }, }), // 获取团队认种量 - this.getBatchUserStats(userAccountSequences), + this.getBatchUserStats(referralAccountSequences), ]); const adoptionCountMap = new Map(adoptionCounts.map(a => [a.accountSequence, a._count.id]));