feat(contribution): 为 HEADQUARTERS 未分配算力创建明细记录
- 每笔未分配算力都创建 HEADQUARTERS 的明细记录 - 发布 SystemContributionRecordCreatedEvent 事件同步到 mining-admin-service - 明细记录包含来源用户ID (sourceAccountSequence)
This commit is contained in:
parent
97e974b6da
commit
974b45554d
|
|
@ -291,6 +291,40 @@ export class ContributionCalculationService {
|
||||||
totalUnallocatedAmount,
|
totalUnallocatedAmount,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// 为每笔未分配算力创建 HEADQUARTERS 明细记录
|
||||||
|
for (const unallocated of result.unallocatedContributions) {
|
||||||
|
const savedRecord = await this.systemAccountRepository.saveContributionRecord({
|
||||||
|
accountType: 'HEADQUARTERS',
|
||||||
|
regionCode: null,
|
||||||
|
sourceAdoptionId,
|
||||||
|
sourceAccountSequence,
|
||||||
|
distributionRate: 0, // 未分配算力没有固定比例
|
||||||
|
amount: unallocated.amount,
|
||||||
|
effectiveDate,
|
||||||
|
expireDate: null,
|
||||||
|
});
|
||||||
|
|
||||||
|
// 发布 HEADQUARTERS 算力明细事件
|
||||||
|
const recordEvent = new SystemContributionRecordCreatedEvent(
|
||||||
|
savedRecord.id,
|
||||||
|
'HEADQUARTERS',
|
||||||
|
null,
|
||||||
|
sourceAdoptionId,
|
||||||
|
sourceAccountSequence,
|
||||||
|
0,
|
||||||
|
unallocated.amount.value.toString(),
|
||||||
|
effectiveDate,
|
||||||
|
null,
|
||||||
|
savedRecord.createdAt,
|
||||||
|
);
|
||||||
|
await this.outboxRepository.save({
|
||||||
|
aggregateType: SystemContributionRecordCreatedEvent.AGGREGATE_TYPE,
|
||||||
|
aggregateId: savedRecord.id.toString(),
|
||||||
|
eventType: SystemContributionRecordCreatedEvent.EVENT_TYPE,
|
||||||
|
payload: recordEvent.toPayload(),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// 发布 HEADQUARTERS 账户同步事件
|
// 发布 HEADQUARTERS 账户同步事件
|
||||||
const headquartersAccount = await this.systemAccountRepository.findByTypeAndRegion('HEADQUARTERS', null);
|
const headquartersAccount = await this.systemAccountRepository.findByTypeAndRegion('HEADQUARTERS', null);
|
||||||
if (headquartersAccount) {
|
if (headquartersAccount) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue