import { ApiProperty } from '@nestjs/swagger';

export class DailySnapshotResponse {
  @ApiProperty({ description: '快照ID' })
  id: string;

  @ApiProperty({ description: '快照日期' })
  snapshotDate: Date;

  @ApiProperty({ description: '总个人算力' })
  totalPersonalContribution: string;

  @ApiProperty({ description: '总团队层级算力' })
  totalTeamLevelContribution: string;

  @ApiProperty({ description: '总团队奖励算力' })
  totalTeamBonusContribution: string;

  @ApiProperty({ description: '总算力' })
  totalContribution: string;

  @ApiProperty({ description: '总账户数' })
  totalAccounts: number;

  @ApiProperty({ description: '活跃账户数' })
  activeAccounts: number;

  @ApiProperty({ description: '创建时间' })
  createdAt: Date;
}

export class UserContributionRatioResponse {
  @ApiProperty({ description: '用户算力' })
  contribution: string;

  @ApiProperty({ description: '占比' })
  ratio: number;
}

export class BatchUserRatioItem {
  @ApiProperty({ description: '账户序号' })
  accountSequence: string;

  @ApiProperty({ description: '算力' })
  contribution: string;

  @ApiProperty({ description: '占比' })
  ratio: number;
}

export class BatchUserRatiosResponse {
  @ApiProperty({ type: [BatchUserRatioItem] })
  data: BatchUserRatioItem[];

  @ApiProperty({ description: '总数' })
  total: number;

  @ApiProperty({ description: '总算力' })
  totalContribution: string;
}
