fix(contribution): 处理认种时发布系统账户同步事件
- 在保存系统账户算力后,发布 SystemAccountSyncedEvent - 使 mining-service 能够同步运营/省/市公司的算力 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
962e7874c8
commit
130bf57842
|
|
@ -13,7 +13,7 @@ import { SyncedReferral } from '../../domain/repositories/synced-data.repository
|
|||
import { ContributionDistributionPublisherService } from './contribution-distribution-publisher.service';
|
||||
import { ContributionRateService } from './contribution-rate.service';
|
||||
import { BonusClaimService } from './bonus-claim.service';
|
||||
import { ContributionRecordSyncedEvent, NetworkProgressUpdatedEvent, ContributionAccountUpdatedEvent } from '../../domain/events';
|
||||
import { ContributionRecordSyncedEvent, NetworkProgressUpdatedEvent, ContributionAccountUpdatedEvent, SystemAccountSyncedEvent } from '../../domain/events';
|
||||
|
||||
/**
|
||||
* 算力计算应用服务
|
||||
|
|
@ -280,7 +280,7 @@ export class ContributionCalculationService {
|
|||
);
|
||||
}
|
||||
|
||||
// 5. 保存系统账户算力
|
||||
// 5. 保存系统账户算力并发布同步事件
|
||||
if (result.systemContributions.length > 0) {
|
||||
await this.systemAccountRepository.ensureSystemAccountsExist();
|
||||
|
||||
|
|
@ -295,6 +295,23 @@ export class ContributionCalculationService {
|
|||
effectiveDate,
|
||||
expireDate: null, // System account contributions never expire based on the schema's contributionNeverExpires field
|
||||
});
|
||||
|
||||
// 发布系统账户同步事件(用于 mining-service 同步系统账户算力)
|
||||
const systemAccount = await this.systemAccountRepository.findByType(sys.accountType);
|
||||
if (systemAccount) {
|
||||
const event = new SystemAccountSyncedEvent(
|
||||
sys.accountType,
|
||||
systemAccount.name,
|
||||
systemAccount.contributionBalance.value.toString(),
|
||||
systemAccount.createdAt,
|
||||
);
|
||||
await this.outboxRepository.save({
|
||||
aggregateType: SystemAccountSyncedEvent.AGGREGATE_TYPE,
|
||||
aggregateId: sys.accountType,
|
||||
eventType: SystemAccountSyncedEvent.EVENT_TYPE,
|
||||
payload: event.toPayload(),
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue