import { GM_MAIL_STATUS, GM_MAIL_TYPE } from "../../consts";

export interface SearchUserParam {
    uid?: number;
    tel?: string;
    channelType?: string;
}

export interface SearchRoleParam {
    uid?: number;                // 玩家id
    roleId?: string;             // 角色id
    roleName?: string;           // 昵称
    tel?: string;
    channelId?: string;
}

export interface SearchHeroParam {
    roleId?: string;
    roleName?: string;
    hid?: number;
}

export interface SearchEquipParam {
    roleId?: string;
    roleName?: string;
    id?: number;
}

export interface SearchJewelParam {
    roleId?: string;
    roleName?: string;
    id?: number;
}

export interface SearchItemParam {
    roleId?: string;
    roleName?: string;
    id?: number;
}

export interface SearchGuildParam {
    serverId?: number;
    name?: string;
}

export interface SearchMailParam {
    createTimeStart?: number;
    createTimeEnd?: number;
    serverId?: number;
    roleId?: string;
    roleName?: string;
    title?: string;
    status?: GM_MAIL_STATUS;
    mailType?: GM_MAIL_TYPE;
    hasGoods?: boolean;
}

export interface SearchMarqueeParam {
    code?: string;
    createdBy?: number;
    createTimeStart?: number;
    createTimeEnd?: number;
    sendTimeStart?: number;
    sendTimeEnd?: number;
}

export interface SearchGiftCodeParam {
    env?: string;
    id?: number;
    name?: string;
    createTimeStart?: number;
    createTimeEnd?: number;
}

export interface SearchGiftCodeDetailParam {
    giftId?: number;
    giftName?: string;
    generateType?: number;
    code?: string;
    roleId?: string;
    roleName?: string;
}

export interface SearchLogParam {
    env?: string;
    apiModule?: string;
    api?: string;
    createTimeStart?: number;
    createTimeEnd?: number;
    uid?: number;
}


export interface SearchUserLogParam {
    type?: string;
    serverId?: number;
    uid?: number;
    roleId?: string;
    roleName?: string;
    guildCode?: string;
    itemId?: number;
    itemChangeReason?: number;
    ceChangeReason?: number;
    createTimeStart?: number;
    createTimeEnd?: number;
}


export interface SearchGachaLogParam {
    roleId?: string;
    gachaId?: number;
    count?: number;
    hid?: number;
    createTimeStart?: number;
    createTimeEnd?: number;
}

export interface SearchOrderParam {
    roleId?: string;             // 角色id
    localOrderID?: string;	    // 本地订单号
    orderID?: string;	         // 第3方订单号
    productID?: string;			// 商品
    payType?: number;			// 支付类型
    state?: number;			// 订单状态
    createTimeStart?: number;
    createTimeEnd?: number;
}

export interface SearchSurveyParam {
    surveyName?: string; // 问卷名
}
