import { PageQueryParam, PageResult } from '../base';

/**
 * 请求参数
 */
export interface AssetQueryParam extends PageQueryParam {
  account?: string;
  walletAddress?: string;
  unit?: string;
  minBalance?: string;
  maxBalance?: string;
  minFrozenBalance?: string;
  maxFrozenBalance?: string;
  minAllBalance?: string;
  maxAllBalance?: string;
  property?: string;
  direction?: string;
}

/**
 * 列表分页列表项
 */
export interface AssetItem {
  id: number;
  memberId: number;
  username: string;
  address: string;
  allBalance: number;
  balance: number;
  frozenBalance: number;
  mobilePhone: string | null;
  email: string;
  realName: string | null;
  unit: string;
  // 资产账户（现货账户）
  spotBalance?: number;
  spotFrozenBalance?: number;
  spotTotalBalance?: number;
  // 合约账户
  contractBalance?: number;
  contractFrozenBalance?: number;
  contractTotalBalance?: number;
  // 跟单账户
  followBalance?: number;
  followFrozenBalance?: number;
  followTotalBalance?: number;
}

/**
 * 分页项类型
 */
export type AssetPageResult = PageResult<AssetItem[]>;
