declare namespace Ermcp {
    /** 首页统计数据 请求 */
    interface HomeDataReq {
        userid: number; // 用户ID
    }

    /** 首页统计数据 响应 */
    interface HomeDataRsp {
        purchasedtransactions: number; // 已购买的交易
        transactioninpurchase: number; // 求购中的交易
        transactionsonsale: number; // 出售中的交易
        transactionssold: number; // 已卖出的交易
        unhandledmessage: number; // 未处理消息
    }

    /** 查询汇率信息 请求 */
    interface RatesReq {
        page?: number; // 页码
        pagesize?: number; // 每页条数
        oricurrencyid?: number; // 源币种ID
        descurrencyid?: number; // 目标币种ID
    }

    /** 查询汇率信息 响应 */
    interface RatesRsp {
        descurrencyid: number; // 目标币种ID
        exchangerate: number; // 汇率
        oricurrencyid: number; // 源币种ID
        remark: string; // 备注
    }

    /** 通知公告系统消息查询 请求 */
    interface NoticeReq {
        page?: number; // 页码
        pagesize?: number; // 每页条数
        loginID: number; // 登录账号
        msgType?: number; // 消息类型 - 1:公告通知 2:系统消息
        onlyUnRead?: boolean; // 是否只获取未读信息
        lastID?: number; // 自增ID，传入后会返回这个ID后面的记录
    }

    /** 通知公告系统消息查询 响应 */
    interface NoticeRsp {
        auditoruserid: number; // 审核人
        auditremark: string; // 审核备注
        audittime: string; // 审核日期
        autoid: number; // 自增ID
        content: string; // 内容
        createtime: string; // 创建时间
        creatorid: number; // 建仓人
        endtime: string; // 结束时间
        istop: number; // 是否置顶 - 0:不置顶 1:置顶
        msgiconurl: string; // 消息图标Url
        msgtype: number; // 消息类型 - 1:公告通知 2:系统消息 3:商品到期提货通知
        publisher: string; // 消息发布者
        readed: boolean; // 是否已读
        scheduletime: string; // 计划发送时间
        sendtype: number; // 推送方式 - 1：全体广播 2：按会员广播 3：个人推送 4:按会员广播(仅会员)
        sentstatus: number; // 推送状态 - 0:未推送 1:已推送 2:审核拒绝
        title: string; // 标题
        userid: number; // 会员/投资者ID推送方式 为 个人时，填写投资者ID
    }

    /** 通知公告设置已读 请求 */
    interface NoticeReadedReq {
        loginID: number; // 登录账号
        noticeID: number; // 通知公告ID
    }

    /** 获取数据库错误信息 请求 */
    interface ErrorInfosReq {
        rowNumber?: string; // 起始行号前索引
    }

    /** 获取数据库错误信息 响应 */
    interface ErrorInfosRsp {
        description: string; // 异常描述
        errorcode: string; // 异常代码
        errorid: number; // 异常ID
        modulecode: string; // 所属模块
        operatecode: string; // 所属操作
        rownumber: string; // 行号
    }

    /** 钻石价格计算器 请求 */
    interface PriceCalcReq {
        zsshape: number; // 形状 - 1:BR(圆形) 2:PS(异形)
        zscolor: string; // 颜色(D-M)
        zsclarity: string; // 净度
        weight: number; // 重量
        rate: number; // 汇率
        discount?: number; // 折扣(%), 方向(加:10, 减:-10 )
    }

    /** 钻石价格计算器 响应 */
    interface PriceCalcRsp {
        dollar: string; // 美元
        rmb: string; // 人民币
    }

    /** Rapaport最新报价表(广钻) 响应 */
    interface GzCertAddressConfigRsp {
        certregion: number; // 证书地域 - 1:国内 2:国际
        certtype: string; // 证书类型
        orderindex: number; // 显示顺序
        orgcnname: string; // 机构名称(中文)
        orgenname: string; // 机构名称(英文)
        queryaddress: string; // 查询地址
        remark: string; // 备注
        updatetime: string; // 更新时间
    }

    /** 钻石证书地址参数 响应 */
    interface GzCertAddressParamRsp {
        certtype: string; // 证书类型
        orderindex: number; // 参数顺序
        paramkey: string; // 参数Key
        paramname: string; // 参数名称
        updatetime: string; // 更新时间
    }

    /** 查询市场运行信息 请求 */
    interface MarketRunReq {
        marketID?: number; // 市场ID，不传返回所有
    }

    /** 查询市场运行信息 响应 */
    interface MarketRunRsp {
        afternexttradedate: string; // 下下交易日
        clearquoteflag: number; // 行情清盘标志- 1:未发送 2:已发送 3:已回复
        lastreckondate: string; // 最新交易日(结算成功)
        machinedate: string; // 机器时间
        manualflag: number; // 手动开市标志- 0:否 1:是 (市场为手动时，是否触发了手动开市标志)
        marketid: number; // 市场ID
        nexttradedate: string; // 下一交易日
        pretradedate: string; // 上一交易日
        reckonflag: number; // 结算标识 - 0: 停止结算 1: 正常(管理端控制此字段，交易服务根据此字段判断是否做结算)
        runstatus: number; // 运行状态 - 0:初始化 1:待开市 2:开市 3:休市 4:手工休市 5:闭市 6:确认行权开始 7:确认行权结束 10:日终处理开始 11:日终处理成功 12:日终处理失败 13基础服务结算开始 14基础服务结算成功 23.资金结算开始 24.资金结算成功 25.资金结算失败 26.系统结算成功 27.系统结算失败 28.盘中处理开始 29.盘中处理成功 30.盘中处理失败 31.资金结算开始(内) 32.资金结算成功(内) 33.资金结算失败(内) 40.签到开始 41.签到成功 42.签到部份成功 43.签到失败 44.签退开始 45.签退成功 46.签退部份成功 47.签退失败 48.对账开始 49.对账成功 50.对账失败 51.清算开始 52.清算成功 53.清算失败 54.清算部分成功 55. 系统结算开始 62.今日免清算
        sectionid: number; //时间段号[多时段时用]
        tradedate: string; // 当前交易日(服务) 资金结算完成即变更，供交易服务使用
        tradedate2: string; // 当前交易日(行情) 在第一个市场待开市时变更为TradeDate，供行情及终端系统使用
        updatetime: string; // 更新时间
    }
}