import { PageQueryParam, PageResult } from "../../base";
export interface reQueryParam extends PageQueryParam {
    admitStatus?: string | null;
    batchName?: string | null;
    direction?: array | string | null;
    Available?: string | null;
    endTime?: string;
    memberId?: string;
    property?: string;
    startTime?: string;
    status?: string;
}
// 跟单记录返回数据
export interface recordItme extends PageResult {}

// 交易员申请列表 请求数据
export interface traderApplicationParam extends PageQueryParam {
    currentPage: number | string;
    pageSize: number | string;
    email: number | string;
    memberId: number | string;
    phone: number | string;
    traderLevelId: number | string;
    nickname: number | string;
    isTop?: number | string;
}

// 交易员申请列表 返回数据
export interface traderApplicationItem {
    id?: number;
    createdTime?: number;
    updatedTime?: number;
    nickname?: string;
    avatar?: null;
    description?: null;
    trader?: number;
    maxLoss?: null;
    maxProfit?: null;
    memberId?: number;
    automaticUnfollow?: boolean;
    traderLevelId?: null;
    balance?: null;
    traderTime?: null;
}

// 交易员等级列表 返回数据
export interface traderHierarchyItem {
    id: number;
    createdTime?: number;
    updatedTime?: null;
    name?: string;
    enName?: string;
    asset?: string;
    maxFollow?: number;
    dividendPercent?: string;
}

// 交易审批请求数据

export interface approvalOfTransactionParam extends PageQueryParam {
    levelId: number | string;
    traderId: number | string;
    isTop?: number | null;
}

// 标签列表返回数据
export interface labelManagementItem {
    id?: number;
    name?: string;
    enName?: string;
}
// 添加标签请求数据
export interface addlabelParam extends PageQueryParam {
    enName: string;
    name: string;
}

// 添加交易员请求数据
export interface addTraderLevelsParam extends PageQueryParam {
    asset: number;
    enName: string;
    maxFollow: number;
    name: string;
    dividendPercent: number | string;
}
// 添加交易员等级详细修改请求数据
export interface updateParam extends PageQueryParam {
    id: number;
    asset: number;
    enName: string;
    maxFollow: number;
    name: string;
    dividendPercent: number | string;
}
// 修改标签内容请求数据

export interface updatalabelParam extends PageQueryParam {
    id: number;
    enName: string;
    name: string;
}
export type traderApplicationResult = PageResult<traderApplicationItem[]>;

export type traderHierarchyResult = PageResult<traderHierarchyItem[]>;

export type labelManagementResult = PageResult<labelManagementItem[]>;

// 获取特级交易员下单数量 返回数据

export interface orderQuantityItem {
    id: number;
    memberId: number;
    leverage: number;
    totalPosition: number | string;
    openPrice: number;
    closedOpenPrice: null;
    closePrice: null;
    principalAmount: number;
    totalPrincipalAmount: number;
    frozenPosition: number;
    closedPosition: number;
    type: number;
    moneyType: number;
    direction: string;
    usdtProfit: number;
    shareNumber: number;
    status: string;
    coin: {
        id: number;
        name: string;
        symbol: string;
        coinSymbol: string;
        baseSymbol: string;
        sort: number;
        coinScale: number;
        baseCoinScale: number;
        type: string;
        enable: number;
        visible: number;
        exchangeable: number;
        enableOpenSell: number;
        enableOpenBuy: number;
        enableMarketSell: number;
        enableMarketBuy: number;
        enableTriggerEntrust: number;
        spreadType: number;
        spread: number;
        leverageType: number;
        leverage: string;
        shareNumber: number;
        minShare: number;
        maxShare: number;
        intervalHour: number;
        feePercent: number;
        maintenanceMarginRate: number;
        openFee: number;
        closeFee: number;
        takerFee: number;
        makerFee: number;
        totalProfit: number;
        totalLoss: number;
        totalOpenFee: number;
        totalCloseFee: number;
        currentTime: null;
        currentPrice: null;
        usdtRate: number;
        maxTotalShare: number;
    };
    createTime: string;
    openTime: string;
    latestOpenTime: string;
    closeTime: null;
    openType: number;
    closeType: null;
    decimalScale: number;
    commissionFee: number;
    blastedAmount: null;
    isLock: null;
    violateTime: null;
    currentPrice: null;
    followOrderId: null;
    followPositionId: null;
    dividendPercent: null;
    isSpecial: null;
    currentMargin: number;
    currentPosition: number;
    currentOpenValue: number;
    availablePosition: number;
    currentProfit: number;
    currentMarketValue: number;
}
