28 lines
907 B
TypeScript
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(),
|
|
};
|
|
}
|
|
}
|