diff --git a/backend/services/mining-admin-service/src/application/services/users.service.ts b/backend/services/mining-admin-service/src/application/services/users.service.ts index 92eca421..1ac3c00b 100644 --- a/backend/services/mining-admin-service/src/application/services/users.service.ts +++ b/backend/services/mining-admin-service/src/application/services/users.service.ts @@ -111,10 +111,13 @@ export class UsersService { if (accountSequences.length === 0) return result; - // 获取每个用户的个人认种数量 + // 获取每个用户的个人认种数量(只统计 MINING_ENABLED 状态) const personalAdoptions = await this.prisma.syncedAdoption.groupBy({ by: ['accountSequence'], - where: { accountSequence: { in: accountSequences } }, + where: { + accountSequence: { in: accountSequences }, + status: 'MINING_ENABLED', + }, _sum: { treeCount: true }, }); @@ -153,6 +156,7 @@ export class UsersService { const teamAdoptionStats = await this.prisma.syncedAdoption.aggregate({ where: { accountSequence: { in: teamMembers.map((m) => m.accountSequence) }, + status: 'MINING_ENABLED', }, _sum: { treeCount: true }, }); @@ -212,9 +216,9 @@ export class UsersService { throw new NotFoundException(`用户 ${accountSequence} 不存在`); } - // 获取个人认种数量(从 synced_adoptions 统计) + // 获取个人认种数量(从 synced_adoptions 统计,只统计 MINING_ENABLED 状态) const personalAdoptionStats = await this.prisma.syncedAdoption.aggregate({ - where: { accountSequence }, + where: { accountSequence, status: 'MINING_ENABLED' }, _sum: { treeCount: true }, _count: { id: true }, }); @@ -226,7 +230,7 @@ export class UsersService { }); const directReferralCount = directReferrals.length; - // 获取直推认种数量 + // 获取直推认种数量(只统计 MINING_ENABLED 状态) let directReferralAdoptions = 0; if (directReferrals.length > 0) { const directAdoptionStats = await this.prisma.syncedAdoption.aggregate({ @@ -234,6 +238,7 @@ export class UsersService { accountSequence: { in: directReferrals.map((r) => r.accountSequence), }, + status: 'MINING_ENABLED', }, _sum: { treeCount: true }, }); @@ -267,6 +272,7 @@ export class UsersService { accountSequence: { in: teamMembers.map((m) => m.accountSequence), }, + status: 'MINING_ENABLED', }, _sum: { treeCount: true }, }); @@ -568,14 +574,14 @@ export class UsersService { } /** - * 获取用户认种统计 + * 获取用户认种统计(只统计 MINING_ENABLED 状态) */ private async getUserAdoptionStats( accountSequence: string, ): Promise<{ personal: number; team: number }> { - // 个人认种 + // 个人认种(只统计 MINING_ENABLED 状态) const personalStats = await this.prisma.syncedAdoption.aggregate({ - where: { accountSequence }, + where: { accountSequence, status: 'MINING_ENABLED' }, _sum: { treeCount: true }, }); @@ -587,7 +593,7 @@ export class UsersService { let teamCount = 0; if (referral?.originalUserId) { - // 团队认种 = 所有下级的认种总和 + // 团队认种 = 所有下级的认种总和(只统计 MINING_ENABLED 状态) const teamMembers = await this.prisma.syncedReferral.findMany({ where: { ancestorPath: { contains: referral.originalUserId.toString() }, @@ -599,6 +605,7 @@ export class UsersService { const teamStats = await this.prisma.syncedAdoption.aggregate({ where: { accountSequence: { in: teamMembers.map((m) => m.accountSequence) }, + status: 'MINING_ENABLED', }, _sum: { treeCount: true }, });