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 { ContributionDistributionPublisherService } from './contribution-distribution-publisher.service';
|
||||||
import { ContributionRateService } from './contribution-rate.service';
|
import { ContributionRateService } from './contribution-rate.service';
|
||||||
import { BonusClaimService } from './bonus-claim.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) {
|
if (result.systemContributions.length > 0) {
|
||||||
await this.systemAccountRepository.ensureSystemAccountsExist();
|
await this.systemAccountRepository.ensureSystemAccountsExist();
|
||||||
|
|
||||||
|
|
@ -295,6 +295,23 @@ export class ContributionCalculationService {
|
||||||
effectiveDate,
|
effectiveDate,
|
||||||
expireDate: null, // System account contributions never expire based on the schema's contributionNeverExpires field
|
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