rwadurian/backend/services/contribution-service/src/domain/events/system-account-synced.event.ts

28 lines
907 B
TypeScript

/**
* 系统账户算力同步事件
* 用于将系统账户(运营、省、市、总部)的算力同步到 mining-service
*/
export class SystemAccountSyncedEvent {
static readonly EVENT_TYPE = 'SystemAccountSynced';
static readonly AGGREGATE_TYPE = 'SystemAccount';
constructor(
public readonly accountType: string, // OPERATION / PROVINCE / CITY / HEADQUARTERS
public readonly regionCode: string | null, // 省/市代码,如 440000, 440100
public readonly name: string,
public readonly contributionBalance: string,
public readonly createdAt: Date,
) {}
toPayload(): Record<string, any> {
return {
eventType: SystemAccountSyncedEvent.EVENT_TYPE,
accountType: this.accountType,
regionCode: this.regionCode,
name: this.name,
contributionBalance: this.contributionBalance,
createdAt: this.createdAt.toISOString(),
};
}
}