diff --git a/backend/services/mining-service/src/application/services/mining-distribution.service.ts b/backend/services/mining-service/src/application/services/mining-distribution.service.ts index 96103c2d..b2303d8c 100644 --- a/backend/services/mining-service/src/application/services/mining-distribution.service.ts +++ b/backend/services/mining-service/src/application/services/mining-distribution.service.ts @@ -193,6 +193,27 @@ export class MiningDistributionService { secondDistribution, ); } + + // 为 HEADQUARTERS 累积待解锁算力的挖矿数据 + if (result.pendingRedisData.length > 0) { + const headquartersTotalReward = result.pendingRedisData.reduce( + (sum, data) => sum.add(data.reward), + new ShareAmount(0), + ); + const headquartersTotalContribution = result.pendingRedisData.reduce( + (sum, data) => sum.add(new ShareAmount(data.pending.amount)), + new ShareAmount(0), + ); + await this.accumulateSystemMinuteData( + SystemAccountType.HEADQUARTERS, + currentMinute, + headquartersTotalReward, + headquartersTotalContribution, + networkTotalContribution, + secondDistribution, + ); + } + for (const data of result.pendingRedisData) { await this.accumulatePendingMinuteData( data.pendingId, @@ -435,6 +456,26 @@ export class MiningDistributionService { ); } + // 为 HEADQUARTERS 累积待解锁算力的挖矿数据 + if (pendingRewards.length > 0) { + const headquartersTotalReward = pendingRewards.reduce( + (sum, { reward }) => sum.add(reward), + new ShareAmount(0), + ); + const headquartersTotalContribution = pendingRewards.reduce( + (sum, { pending }) => sum.add(new ShareAmount(pending.amount)), + new ShareAmount(0), + ); + await this.accumulateSystemMinuteData( + SystemAccountType.HEADQUARTERS, + currentMinute, + headquartersTotalReward, + headquartersTotalContribution, + networkTotalContribution, + secondDistribution, + ); + } + for (const { pending, reward } of pendingRewards) { await this.accumulatePendingMinuteData( pending.id,