import "Common.proto";
// 交易委托请求 0 3 31
message ChannelOrderReq {
	optional MessageHead Header = 1; // MessageHead
	optional string ClientSerialNo = 2; // string 客户端流水号
	optional string ClientOrderTime = 3; // string 客户端委托时间
	optional uint32 ClientType = 4; // uint32 终端类型
	optional uint64 LoginID = 5; // uint64 登陆账号
	optional uint64 AccountID = 6; // uint64 交易账号
	optional uint32 GoodsID = 7; // uint32 商品IDOrderReq
	optional uint32 MarketID = 8; // uint32 市场ID
	optional int32 ValidType = 9; // int32 有效类型 - 1当日有效
	optional uint32 ChannelOperateType = 10; // uint32 操作类型:
	optional uint32 ChannelOrderSrc = 11; // uint32 单据来源委托来源 -  1:客户端 2:管理端 3:风控服务 
	optional uint32 HedgeFlag = 12; // uint32 投机套保标志 - 0:无 1:投机 2:套保 3:套利
	optional uint64 OperatorID = 13; // uint64 操作员账号ID
	optional double OrderPrice = 14; // double 委托价格
	optional uint64 OrderQty = 15; // uint64 委托数量
	optional uint32 BuyOrSell = 16; // uint32 买卖方向(买卖 - 0:买 1:卖 )
	optional uint32 ChannelBuildType = 17; // uint32 下单类型(开平标志 - 0:无 1:建仓 2:平仓)
	optional uint32 CloseType = 18; // uint32 平仓方式(平仓方式 - 0:无 1:平今 2:平昨)
	optional uint32 PriceMode = 19; // uint32 取价方式 - 1:市价 2: 限价
	optional uint32 TimeValidType = 20; // uint32 时间有效类型
	optional uint64 RelatedID = 21; // uint64 关联单号
	optional string ServiceTime = 22; // string 服务端时间
	optional string validtime = 23; // string 有效时间
	optional uint64 CloseTodayQty = 24; // uint64 平今仓数量
}
// 交易委托应答 0 3 32
message ChannelOrderRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 OrderID = 4; // uint64 一级生成的订单号
	optional string OrderTime = 5; // string 接收委托交易的时间
}// 外部交易所查询请求
message ExternalExchangeReq {
	optional MessageHead Header = 1;
		optional uint64 ExUTime = 2; // 更新时间
}
// 外部交易所查询应答
message ExternalExchangeRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
	repeated ExternalExchange ExternalExchangeList = 4; // 外部交易所列表
}
// 外部交易所信息
message ExternalExchange {
	optional uint32 AutoID = 1; // 外部交易所id
	optional string ExExchangeCode = 2; // 外部交易所代码
	optional string ExExchangeName = 3; // 外部交易所名称
        optional string IsMarketPrice = 4;  // 是否支持市价0：不支持 1支持
}
// 商品组查询请求
message GoodsGroupReq {
	optional MessageHead Header = 1;
		optional uint64 GoodsGroupUTime = 2; // 更新时间
}
// 商品组查询应答
message GoodsGroupRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		repeated GoodsGroup GoodsGroupList = 4; // 商品组（品种）列表
}
// 商品组信息
message GoodsGroup {
		optional uint32 GoodsGroupID = 1; // 商品组id
		optional string GoodsGroupName = 2; // 商品组名称
		optional uint32 MarketID = 3; // 市场id
		optional uint32 ExExchangeID = 4; // 外部交易所id
                optional uint32 CanShort = 5; // 是否允许做空[通道交易]-0:不能做空
}

// 入金验证码校验报文请求 0 9 87
message t2bShortMsgCheckReq {
    optional MessageHead Header = 1; // MessageHead
    required uint64 extoperatorid = 2; // uint64 外部操作流水号(发起本次交易的流水,发起方填写)
    required string CusBankID = 3; // string 托管银行编号
    required string AccountCode = 4; // string 资金账户
    optional string ExchId = 5; // string 交易所编号
    optional string TradeDate = 6; // string 交易日
    optional string ExchTicket = 7; // string 交易所流水号
    required string RelatedExchTicket = 8; // string 关联的入金流水号（返回的银行服务流水号）
    optional string ShortMsgId = 9; // string 手机验证码
    optional string Extend = 10; // string 扩展信息
}
// 入金验证码校验报文应答 0 9 88
message t2bShortMsgCheckRsp {
    optional MessageHead Header = 1; // MessageHead 消息头
    optional int32 RetCode = 2; // int32 返回码
    optional string RetDesc = 3; // string 描述信息
    optional uint64 ExtOperatorID = 4; // uint64 外部操作流水号
    optional int32 Status = 5; // int32 状态（0 成功, 其他数值参考银行服务的错误码）
    optional string ExchId = 6; // string 交易所编号
    optional string ExchTicket = 7; // string 交易所流水号
    optional string CenterRetCode = 8; // string 返回码
    optional string CenterRetDesc = 9; // string 返回结果说明
    optional string BankTicket = 10; // string 中心流水号
}
// 通道解锁锁仓请求 0 3 50
message ChannelUnlockLockReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 OrderID = 2; // uint64 锁仓单据ID
	optional string ClientOrderTime = 3; // string 管理端操作时间
	optional uint64 AccountID = 4; // uint64 交易账号
	optional uint64 OperatorID = 5; // uint64 操作员账号ID
	optional string Remark = 6; // string 备注
}
// 通道解锁锁仓应答 0 3 51
message ChannelUnlockLockRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 OrderID = 4; // uint64 一级生成的订单号
}
// 通道锁仓请求 0 3 43
message ChannelLockReq {
	optional MessageHead Header = 1; // MessageHead
	optional string ClientSerialNo = 2; // string 客户端流水号
	optional string ClientOrderTime = 3; // string 客户端委托时间
	optional uint32 ClientType = 4; // uint32 终端类型
	optional uint64 LoginID = 5; // uint64 登陆账号
	optional uint64 AccountID = 6; // uint64 交易账号
	optional uint32 GoodsID = 7; // uint32 商品ID
	optional uint32 MarketID = 8; // uint32 市场ID
	optional uint64 OperatorID = 9; // uint64 操作员账号ID
	optional uint64 ActiveInfoID = 10; // uint64 锁仓活动ID
	optional uint64 Qty = 11; // uint64 锁仓数量
	optional double OrderPrice = 12; // double 当前价格
	optional uint64 GiftQty = 13; // uint64 赠送数量
	optional string StopDate = 14; // string 锁仓结束时间(格式YYYY-MM-DD)
	optional string IDCardPhotoURL = 15; // string 身份证地址
	optional string SignatureURL = 16; // string 电子签名地址
}
// 通道锁仓应答 0 3 44
message ChannelLockRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 OrderID = 4; // uint64 一级生成的订单号
	optional string OrderTime = 5; // string 接收委托交易的时间
}
// 通道撤销锁仓请求 0 3 45
message ChannelCancelLockReq {
	optional MessageHead Header = 1; // MessageHead
	optional string ClientSerialNo = 2; // string 客户端流水号
	optional string ClientOrderTime = 3; // string 客户端委托时间
	optional uint32 ClientType = 4; // uint32 终端类型
	optional uint64 LoginID = 5; // uint64 登陆账号
	optional uint64 AccountID = 6; // uint64 交易账号
	optional uint64 OperatorID = 7; // uint64 操作员账号ID
	optional uint64 OrderID = 8; // uint64 锁仓单据ID
}
// 通道撤销锁仓应答 0 3 46
message ChannelCancelLockRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 OrderID = 4; // uint64 一级生成的订单号
	optional string OrderTime = 5; // string 接收委托交易的时间
}
// 止盈止损请求 0 3 67
message ChannelSPSLOrderReq {
        optional MessageHead Header = 1; // MessageHead
        optional uint32 ClientType = 2; // uint32 终端类型
        optional uint64 LoginID = 3; // uint64 登陆账号
        optional uint64 AccountID = 4; // uint64 交易账号
        optional uint32 GoodsID = 5; // uint32 商品ID
        optional uint32 MarketID = 6; // uint32 市场ID
        optional int32 ValidType = 7; // int32 有效类型：1 - 当日有效 4 - 一直有效
        optional uint32 OperateType = 8; // uint32 操作类型: 1 - 止盈 2 - 止损 3 - 撤单
        optional uint32 OrderSrc = 9; // uint32 单据委托来源 - 1:客户端
        optional uint64 OrderQty = 10; // uint64 委托数量
        optional uint32 BuyOrSell = 11; // uint32 买卖方向(买卖 - 0:买 1:卖 )
        optional uint64 RelatedID = 12; // uint64 关联单号(撤单时填写)
        optional double SpPrice = 13; // double 止盈价格
        optional double SlPrice = 14; // double 止损价格
        optional uint32 PriceType = 15; // uint32 价格类型: 1 - 最新价 2 - 对手价 3 - 市价
        optional uint32 TriggerType = 16; // uint32 触发条件: 1 - 触发价 2 - 追踪价差
}
// 止盈止损应答 0 3 68
message ChannelSPSLOrderRsp {
        optional MessageHead Header = 1; // MessageHead 消息头
        optional int32 RetCode = 2; // int32 返回码
        optional string RetDesc = 3; // string 描述信息
        optional uint64 OrderID = 4; // uint64 一级生成的订单号
}

// 菜单查询 1 5 41
message FuncMenuReq {
        optional MessageHead Header = 1; // MessageHead
        optional uint64 MenuUTime = 2;   // uint64 菜单最后更新时间
}

// 菜单查询查询应答 1 5 42
message FuncMenuRsp {
        optional MessageHead Header = 1; // MessageHead 消息头
        optional int32 RetCode = 2; // int32 返回码
        optional string RetDesc = 3; // string 描述信息
        repeated FuncMenu FuncMenuList = 4; // FuncMenu 菜单列表
}

// 菜单权限 1 5 43
message FuncMenu {
        optional string FuncMenuName = 1; // string 功能菜单名称
        optional string FuncMenuCode = 2; // string 功能菜单代码
        optional string Parentfuncmenucode = 3; // string 父级菜单代码
        repeated FuncMenu SonMenus = 4; // FuncMenu 子菜单
}

// 行情源分组时段查询请求 1 5 64
message QuotesourceGroupRunQueryReq {
	optional MessageHead Header = 1; // MessageHead
	optional string TradeDate = 2; // string 交易日
}
// 行情源分组时段查询应答 1 5 65
message QuotesourceGroupRunQueryRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional string TradeDate = 4; // string 交易日
	repeated QuotesourceGroupRun QuotesourceGroupRunList = 5; // QuotesourceGroupRun 市场及其日计划列表
}
// 行情源分组及其日计划信息 1 5 66
message QuotesourceGroupRun {
	optional uint32 QuotesourceGroupId = 1; // uint32 行情源分组id
	optional uint32 GoodsGroupId = 2; // uint32 商品组id
	optional uint32 MarketId = 3; // uint32 市场id
	repeated DayRun DayRunList = 4; // DayRun 行情源分组日运行计划表
}
// 市场日运行计划信息 1 5 26
message DayRun {
	optional uint32 TradeWeekDay = 1; // uint32 交易归属日,星期几
	optional uint32 RunStep = 2; // uint32 运行阶段
	optional uint32 StartWeekDay = 3; // uint32 起始周几
	optional string StartTime = 4; // string 起始时间
	optional uint32 EndWeekDay = 5; // uint32 结束周几
	optional string EndTime = 6; // string 结束时间
}
// 商品提货请求 0 3 65
message GoodsPickupReq {
        optional MessageHead Header = 1; // MessageHead
        optional uint64 AccountID = 2; // uint64 交易账号
        optional uint32 GoodsID = 3; // uint32 商品ID
        optional uint64 Qty = 4; // uint64 提货数量
        optional string ReciverName = 5; // string 提货人姓名
        optional uint32 CardTypeId = 6; // uint32 提货人证件类型
        optional string CardNum = 7; // string 提货人证件号码
        optional string PhoneNum = 8; // string 提货人联系方式
        optional uint32 TakeMode = 9; // uint32 提货方式 - 2:自提 3:配送
        optional string Address = 10; // string 提货人详细地址
        optional string TakeRemark = 11; // string 提货备注
        optional string ClientTicket = 12; // string 客户端流水号
        optional uint32 ConvertType = 13; // 转换类型
        optional string DstGoodsCode = 14; // 目标商品编码
}
// 商品提货响应 0 3 66
message GoodsPickupRsp {
       optional MessageHead Header = 1; // MessageHead 消息头
       optional int32 RetCode = 2; // int32 返回码
       optional string RetDesc = 3; // string 描述信息
       optional string ClientTicket = 4; // string 客户端流水号
}

// 提货单确认收货请求 0 29 87
message TakeConfirmReq {
       optional MessageHead Header = 1; // MessageHead
       optional uint64 ClientSerialID = 2; // uint64 客户端唯一ID
       optional uint64 TakeOrderID = 3; // uint64 提货单号
}
// 提货单确认收货应答 0 29 88
message TakeConfirmRsp {
       optional MessageHead Header = 1; // MessageHead 消息头
       optional int32 RetCode = 2; // int32 返回码
       optional string RetDesc = 3; // string 描述信息
       optional uint64 ClientSerialID = 4; // uint64 客户端唯一ID
       optional uint64 TakeOrderID = 5; // uint64 提货单号
}

// 提货单确认收货请求 0 29 97
message TakeConfirmSZDZReq {
      optional MessageHead Header = 1; // MessageHead
      optional uint64 ClientSerialID = 2; // uint64 客户端唯一ID
      optional uint64 TakeOrderID = 3; // uint64 提货单号
}
// 提货单确认收货应答 0 29 98
message TakeConfirmSZDZRsp {
      optional MessageHead Header = 1; // MessageHead 消息头
      optional int32 RetCode = 2; // int32 返回码
      optional string RetDesc = 3; // string 描述信息
      optional uint64 ClientSerialID = 4; // uint64 客户端唯一ID
      optional uint64 TakeOrderID = 5; // uint64 提货单号
}

// 通道交易头寸转金点拍请求
message ChannelTradePosConvertJdpReq {
     optional MessageHead Header = 1;
     optional uint32 UserID = 2; // 用户ID
     optional uint64 AccountID = 3; // 账号ID
     optional string Mobile = 4; // 手机号
     optional string SrcGoodsCode = 5; // 源商品编码
     optional string DstGoodsCode = 6; // 目标商品编码
     optional uint32 GoodsID = 7; // 商品ID
     optional double Qty = 8; // 转换数量
     optional string ClientSerialNo = 9; // 客户端流水号
     optional uint64 LogID = 10; // 日志ID(内部用)
     optional uint32 ConvertType = 11; // uint32 转换类型（1：金点赞转交易 2：金点拍转交易 3:交易转金点赞（不设置）4:交易转金点拍（不设置）5:花生米转交易 6：交易转花生米(不设置)）
     optional uint32 PickupFlag = 12; // uint32 提货操作日志（内部用）
}
// 通道交易头寸转金点拍请求
message ChannelTradePosConvertJdpRsp {
     optional MessageHead Header = 1; // 消息头
     optional int32 RetCode = 2; // 返回码
     optional string RetDesc = 3; // 描述信息
     optional uint32 UserID = 4; // 用户ID
     optional uint64 AccountID = 5; // 账号ID
     optional string Mobile = 6; // 手机号
     optional string SrcGoodsCode = 7; // 源商品编码
     optional string DstGoodsCode = 8; // 目标商品编码
     optional uint32 GoodsID = 9; // 商品ID
     optional double Qty = 10; // 转换数量
     optional double ConvertQty = 11; // 转换目标商品数量
     optional string ClientSerialNo = 12; // 客户端流水号
     optional uint64 LogID = 13; // 日志ID(内部用)
}
// 通道金点拍PD转交易请求
message ChannelJdpPdConvertTradeReq {
     optional MessageHead Header = 1;
     optional uint32 UserID = 2; // 用户ID
     optional uint64 AccountID = 3; // 账号ID
     optional string Mobile = 4; // 手机号
     optional string SrcGoodsCode = 5; // 源商品编码
     optional string DstGoodsCode = 6; // 目标商品编码
     optional uint32 GoodsID = 7; // 商品ID
     optional double Qty = 8; // 转换数量
     optional string ClientSerialNo = 9; // 客户端流水号
     optional uint64 LogID = 10; // 日志ID(内部用)
}
// 通道金点拍PD转交易响应
message ChannelJdpPdConvertTradeRsp {
     optional MessageHead Header = 1; // 消息头
     optional int32 RetCode = 2; // 返回码
     optional string RetDesc = 3; // 描述信息
     optional uint32 UserID = 4; // 用户ID
     optional uint64 AccountID = 5; // 账号ID
     optional string Mobile = 6; // 手机号
     optional string SrcGoodsCode = 7; // 源商品编码
     optional string DstGoodsCode = 8; // 外部商品编码
     optional uint32 GoodsID = 9; // 商品ID
     optional double Qty = 10; // 转换数量
     optional double ConvertQty = 11; // 转换目标商品数量
     optional string ClientSerialNo = 12; // 客户端流水号
     optional uint64 LogID = 13; // 日志ID(内部用)
}
// 撤销支付请求 0 3 89
message CancelPaymentReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 TradeID = 2; // uint64 成交单号
	optional uint64 AccountID = 3; // uint64 校验买方账号
}
// 撤销支付应答 0 3 90
message CancelPaymentRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 TradeID = 4; // uint64 成交单号
}

message OrderReq {
	optional MessageHead Header = 1; // MessageHead
	optional string ClientSerialNo = 2; // string 客户端流水号
	optional string ClientOrderTime = 3; // string 客户端委托时间
	optional uint32 ClientType = 4; // uint32 终端类型
	optional uint64 LoginID = 5; // uint64 登陆账号
	optional uint64 AccountID = 6; // uint64 交易账号
	optional uint32 GoodsID = 7; // uint32 商品ID
	optional uint32 MarketID = 8; // uint32 市场ID
	optional int32 ValidType = 9; // int32 校验类型
	optional uint32 OperateType = 10; // uint32 操作类型:
	optional uint32 OrderSrc = 11; // uint32 单据来源
	optional uint64 OperatorID = 12; // uint64 操作员账号ID
	optional double OrderPrice = 13; // double 委托价格
	optional double MarketMaxSub = 14; // double 市价允许最大偏差(做市)
	optional uint64 OrderQty = 15; // uint64 委托数量
	optional uint32 BuyOrSell = 16; // uint32 买卖方向
	optional uint32 BuildType = 17; // uint32 下单类型
	optional double CurtQuotePrice = 18; // double 保留，计算冻结金额使用
	optional double SpPrice = 19; // double 止盈价格
	optional double SlPrice = 20; // double 止损价格
	optional uint32 PriceMode = 21; // uint32 取价方式
	optional uint32 TimevalidType = 22; // uint32 时间有效类型
	optional uint32 TriggerType = 23; // uint32 预埋单触发类型
	optional double TriggerPrice = 24; // double 预埋单触发价格
	optional uint32 ListingSelectType = 25; // uint32 挂牌点选类型
	optional uint32 DelistingType = 26; // uint32 摘牌类型
	optional uint64 RelatedID = 27; // uint64 关联单号
	optional uint32 OptionType = 28; // uint32 期权类型(1:认购(看涨) 2:认沽(看跌))
	optional double Premium = 29; // double 权利金
	optional uint32 TriggerOperator = 30; // uint32 触发条件(1: 大于等于 2:小于等于)
	optional string ServiceTime = 31; // string 服务端时间
	optional uint64 CouponTypeID = 32; // uint64 优惠券类型ID(买方)
	optional uint32 UsedQty = 33; // uint32 使用数量
	optional string ValidTime = 34; // string 指定有效日期
	optional uint64 ReceiveInfoID = 35; // uint64 收货地址ID
}
