import { BuyOrSell, BuildType, PriceType } from '@/common/constants/enumCommon';

// 交易委托请求 0 3 31
export interface ChannelOrderReq {
    ClientSerialNo: string; // string 客户端流水号
    ClientOrderTime: string; // string 客户端委托时间
    ClientType: number; // uint32 终端类型
    LoginID: number; // uint64 登陆账号
    AccountID: number | undefined; // uint64 交易账号
    GoodsID: number | undefined; // uint32 商品ID
    MarketID: number; // uint32 市场ID
    ValidType: number; // int32 有效类型 - 1当日有效
    ChannelOperateType: number; // uint32 操作类型:
    ChannelOrderSrc: number; // uint32 单据来源委托来源 -  1:客户端 2:管理端 3:风控服务 
    HedgeFlag: number; // uint32 投机套保标志 - 0:无 1:投机 2:套保 3:套利 4:套期保值 5:单边 6:移仓 7:错单处理 8:跨期套利
    OperatorID: number; // uint64 操作员账号ID
    OrderPrice: number; // double 委托价格
    OrderQty: number; // uint64 委托数量
    BuyOrSell: BuyOrSell; // uint32 买卖方向(买卖 - 0:买 1:卖 )
    ChannelBuildType: BuildType; // uint32 下单类型(开平标志 - 0:无 1:建仓 2:平仓)
    CloseType: number; // uint32 平仓方式(平仓方式 - 0:无 1:平今 2:平昨)
    PriceMode: PriceType; // uint32 取价方式 - 1:市价 2: 限价
    TimeValidType: number; // uint32 时间有效类型
    RelatedID?: number; // uint64 关联单号
    ServiceTime?: string; // string 服务端时间
    validtime?: string; // string 有效时间
    CloseTodayQty?: number; // uint64 平今仓数量
    SpotContractID?: string; // uint64 现货合同ID - 为4：套期保值时填写
    SaleUserID?: number; // uint64 业务员ID
    BizSubjectID?: number; // uint64 归属业务部门ID
}

// 交易委托应答 0 3 32
export interface ChannelOrderRsp {
    RetCode: number; // int32 返回码
    RetDesc: string; // string 描述信息
    OrderID: number; // uint64 一级生成的订单号
    OrderTime: string; // string 接收委托交易的时间
}