// 消息头
message MessageHead {
	optional uint32 FunCode = 1; // 功能号
	optional uint32 RequestID = 2; // 客户端的流水ID
	optional uint64 AccountID = 3; // 账号ID
	optional uint32 AccessID = 4; //二级分配给客户端的接入ID
	optional int64 ClientTime = 5; //消息发起时间
	optional uint32 GoodsID = 6; //商品ID
	optional string UUID = 7; // 消息唯一ID
	optional uint32 MarketID = 8; // 所属市场ID
	optional uint32 UserID = 9; // 用户ID
	optional string ResponseTopic = 10; // 应答消息所属主题
	optional uint64 AccountID2 = 11; // 账号ID-币币交易使用
}
// 查询请求分页信息
message QueryReqPageInfo {
	optional int32 PageNumber = 1; // 查询第几页，1为第一页
	optional int32 RecordPerPage = 2; // 每页多少条记录（服务端应该有个最大允许数量，该字段值不允许超过服务端的）
	optional int32 QueryMark = 3; // 客户自定义查询标记
	optional string SortField = 4; // 按哪个字段排序
	optional int32 SortOrder = 5; // 排序方式，0降序 1升序页
	optional int32 NeedTotalCount = 6; // 是否需要返回TotalCount值
}
// 查询结果分页信息
message QueryRspPageInfo {
	optional int32 PageNumber = 1; // 查询第几页，1为第一页
	optional int32 RecordPerPage = 2; // 每页多少条记录（服务端应该有个最大允许数量，该字段值不允许超过服务端的）
	optional int32 QueryMark = 3; // 客户自定义查询标记
	optional string SortField = 4; // 按哪个字段排序
	optional int32 SortOrder = 5; // 排序方式，0降序 1升序页
	optional int32 RecordCount = 6; // 服务端返回，本次查询结果返回了多少条记录
	optional int32 TotalCount = 7; // 服务端返回，满足查询条件的共多少条记录
}
message CommonPackage {
	required MessageHead Header = 1; // 消息头
}
// 公共通知消息头
message NotifyHead {
		optional int32 NtfMode = 1; // 消息通知模式(单播、组播、广播)
		repeated uint32 ExcludeAcctIDs = 2; // 排除账号集合（首先过滤此集合帐号）
		repeated uint32 ExchIDs = 3; // 目标交易所集合（若匹配所属交易所，推送）
		repeated uint32 MemberIDs = 4; // 目标会员集合（若匹配所属会员，推送）
		repeated uint64 AccountIDs = 5; // 目标账号集合（以上均不匹配时，最后检查此集合）
}
// 平仓单平仓明细 0 2 7
message ArrayCloseInfo {
	optional uint64 ClosedOrderID = 1; // uint64 被平持仓单ID
	optional uint64 ClosedQty = 2; // uint64 被平仓数量
	optional double ClosePL = 3; // double 平仓盈亏
	optional double RlsUsedMargin = 4; // double 释放的占用保证金
	optional double TradeCharge = 5; // double 平仓手续费
	optional double WareHouseCharge = 6; // double 仓单服务费
	optional double TradeAmount = 7; // double 成交金额
	optional string OpenTime = 8; // string 开仓时间(对冲接口用)
	optional double OpenPrice = 9; // double 开仓价格(对冲接口用)
	optional uint64 MatchAccountID = 10; // uint64 对手方资金账号代码
	optional double RealClosePL = 11; // double 实际盈亏
}
// 公共通知消息
message CommonNtf {
	optional MessageHead Header = 1; // 消息头
		optional NotifyHead NtfHeader = 2; // NotifyHead 公共通知消息(生成后包含MessageHead，引用上面消息即可)
}
// 用户登录请求
message LoginReq {
	optional MessageHead Header = 1;
		optional uint64 LoginID = 2; // 登录ID
		optional string LoginPWD = 3; // 登录密码
		optional uint32 LoginType = 4; // 登陆类型
		optional uint32 ClientType = 5; // 终端软件类型
		optional string Version = 6; // 终端软件版本号
		optional string MobilePhone = 7; // 移动电话
		optional string GUID = 8; // 唯一标识码
		optional string LoginIp = 9; // 登录IP地址
		optional uint32 LoginPort = 10; // 登陆通信端口
		optional string DeviceID = 11; // 设备标识
		optional string EnvironmentInfo = 12; // 软件环境信息
		optional string LoginCode = 13; // 登陆码
		optional bytes ClientSystemInfo = 14; // 终端系统信息
		optional string ClientAppID = 15; // 终端AppID
}
// 用户登录应答
message LoginRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		optional uint64 LoginID = 4; // 登录ID
		optional uint32 LoginUserType = 5; // 登陆用户类型
		optional uint32 AccountStatus = 6; // 用户状态
		optional uint32 UserID = 7; // 用户ID
		optional uint32 MemberUserID = 8; // 用户所属会员用户ID
		repeated uint64 AccountIDs = 9; // 账户ID列表(有权限的)
		optional string Token = 10; // 用户令牌
		optional uint64 SystemTime = 11; // 系统时间
		optional uint32 HasUpdatedPwd = 12; // 是否已更改密码
		optional uint32 PwdWrongCnt = 13; // 当前密码输入错误次数
		optional uint32 PwdWrongLockCnt = 14; // 登陆账号锁定密码输入错误次数
		optional uint32 LoginLockHourNum = 15; // 登陆账号锁定时长(小时)
		optional string LoginCode = 16; // 登陆码
		optional bytes ClientSystemInfo = 17; // 终端系统信息
		optional uint64 ClientID = 18; // 终端ID(登陆服务分配，用于通道交易关联链路)
}
// 用户登出请求
message LogoutReq {
	optional MessageHead Header = 1;
		optional uint64 LoginID = 2; // 登录ID
		optional string Token = 3; // 登录时返回的用户令牌
		optional string LoginIp = 4; // 登出IP地址
		optional uint32 LoginPort = 5; // 登出通信端口
}
// 用户登出应答
message LogoutRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
}
// 用户令牌校验请求
message TokenCheckReq {
	optional MessageHead Header = 1;
		optional uint64 LoginID = 2; // 登陆账户ID
		optional string Token = 3; // 用户令牌
		optional uint64 SystemTime = 4; // 校验时的系统时间
		optional uint32 CheckType = 5; // 校验类型
}
// 用户令牌校验应答
message TokenCheckRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		optional uint64 LoginID = 4; // 登陆账户ID
		optional uint32 TokenStatus = 5; // 令牌状态
		optional uint32 LoginUserType = 6; // 登陆用户类型
		optional uint32 UserID = 7; // 用户ID
		optional uint32 MemberUserID = 8; // 用户所属会员用户ID
		repeated uint64 AccountIDs = 9; // 账户ID列表(有权限的)
		optional uint64 SystemTime = 10; // 返回服务器最新时间
}
// 登录查询请求
message LoginQueryReq {
	optional MessageHead Header = 1;
		optional uint64 LoginID = 2; // 登陆账号id
		optional string QueryItem = 3; // 不填返回全部结果集，填写后表示按需查询，多个以“,”隔开1-账号信息2-资金账户列表3-
}
// 登录查询应答
message LoginQueryRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		optional AccountInfo AccountInfo = 4; // 账号信息
		repeated TAAccountAll TAAccountList = 5; // 资金账户列表
		repeated GoodsRuleAndFee GoodsRuleAndFeeList = 6; // 商品交易规则和费用规则列表
		repeated ParamValue ParamValues = 7; // 时间戳集合
		optional uint32 ServerLastNoticeId = 8; // 最大通知id
}
// 账户信息
message AccountInfo {
		optional uint32 UserID = 1; // 用户ID
		optional uint32 UserType = 2; // 账户类型
		optional uint32 ParentUserID = 3; // 所属机构ID
		optional string AccountName = 4; // 账户名称
		optional string CustomerName = 5; // 用户名称（签约用）
		optional uint32 UserInfoType = 6; // 1:个人2:企业（签约用）
		optional uint32 CardTypeID = 7; // 证件类型（签约用）
		optional string CardNum = 8; // 证件号码（签约用）
		optional string Mobile = 9; // 手机号码（签约用）
		optional uint32 HasAuth = 10; // 是否已实名认证-0:未认证
		optional uint64 MemberUserid = 11; // 所属会员
			optional uint32 IsAnonymous = 12; // 是否匿名0否
			optional uint32 taaccountrighttype = 13; // 资金账号权限类型-1:不选默认为所有权限
}
// 账户相关信息
message TAAccountAll {
		optional TaAccountInfo TaAccountInfo = 1; // 资金账户信息
		repeated TradePosition TradePositionList = 2; // 持仓头寸列表
		repeated uint32 MarketsIdList = 3; // 市场id数组
}
// 资金账户信息
message TaAccountInfo {
		optional uint64 AccountId = 1; // 账户id
		optional uint32 TradeStatus = 2; // 交易状态
		optional string Currency = 3; // 币种
		optional uint32 IsMain = 4; // 是否母账户
		optional uint64 ParentAccountID = 5; // 所属母账户
		optional uint32 TAAccountType = 6; // 内、外部
		optional uint64 RelatedMainAccountID = 7; // 关联账户
		optional double Balance = 8; // 期初余额
		optional double CurrentBalance = 9; // 期末余额
		optional double UsedMargin = 10; // 占用保证金
		optional double FreezeMargin = 11; // 冻结保证金
		optional double OtherFreezeMargin = 12; // 其他冻结保证金
		optional double FreezeCharge = 13; // 手续费冻结
		optional double MortgageCredit = 14; // 授信金额
		optional double OtherCredit = 15; // 其它授信金额
		optional double OutAmountFreeze = 16; // 出金冻结
		optional double InAmount = 17; // 今日入金
		optional double OutAmount = 18; // 今日出金
		optional double PayCharge = 19; // 今日手续费支出
		optional double ClosePL = 20; // 今日平仓盈亏
		optional double CreditIncrease = 21; // 今日授信增加
		optional double CreditDecrease = 22; // 今日授信减少
		optional double OtherCreditIncrease = 23; // 今日其它授信增加
		optional double OtherCreditDecrease = 24; // 今日其它授信减少
		optional double TransferAmount = 25; // 今日划转金额
		optional double OtherPay = 26; // 其他支出
		optional double OtherIncome = 27; // 其他收入
		optional double OutThreshold = 28; // 出金阀值
		optional uint32 IsMarketAccount = 29; // 是否机构接单账号0:不是1:是
		optional uint32 Currencyid = 30; // 报价货币ID
}
// 持仓头寸信息
message TradePosition {
		optional uint32 GoodsId = 1; // 商品id
		optional uint32 BuyFrozenQty = 2; // 买持仓冻结
		optional uint32 BuyOtherFrozenQty = 3; // 买持仓其他冻结
		optional uint32 BuyCurPositionQty = 4; // 买当前持仓总数量
		optional double BuyCurHolderAmount = 5; // 买当前持仓总金额
		optional uint32 SellFrozenQty = 6; // 卖持仓冻结
		optional uint32 SellOtherFrozenQty = 7; // 卖持仓其他冻结
		optional uint32 SellCurPositionQty = 8; // 卖当前持仓总数量
		optional double SellCurHolderAmount = 9; // 卖当前持仓总金额
}
// 商品规则和费用
message GoodsRuleAndFee {
		optional int32 GoodsID = 1; // 商品ID
		optional int32 CustomerTypeID = 2; // 保证金类别枚举值
		repeated GoodsRule GoodsRuleList = 3; // 商品规则列表
}
// 商品规则类型
message GoodsRule {
		optional int32 Ruleid = 1; // 规则id
		optional int32 GoodsID = 2; // 商品ID
		optional string RuleName = 3; // 规则名称
		optional double ParamValue = 4; // 参数值
}
// 修改账户密码请求
message ModifyPwdReq {
	optional MessageHead Header = 1;
		optional uint32 ModifyPwdType = 2; // 修改密码类型1：登陆密码2：资金账户密码
		optional uint64 ModifyPwdID = 3; // 被修改的ID(ModifyType=1:LoginIDModifyType=2:AccountID)
		optional string OldPwd = 4; // 旧资金密码
		optional string NewPwd = 5; // 新资金密码
}
// 修改账户密码应答
message ModifyPwdRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
}
// 通用查询参数信息
message ParamValue {
		optional string Key = 1; // 参数名
		optional string Value = 2; // 参数值
}
// 通用查询请求
message QueryCommonReq {
	optional MessageHead Header = 1; // 消息头
	optional QueryReqPageInfo PageInfo = 2; // 查询分页信息
		optional string Statement = 3; // StatmentId
	optional int32 StatementFlag = 4; // StatmentId查询标记，不填写默认为=
		repeated ParamValue ParamValues = 5; // 参数列表
	optional int32 ParamValuesFlag = 6; // 参数列表查询标记，不填写默认为=
}

// 字段信息
message FieldInfo {
		optional string FieldName = 1; // 字段名
		optional string FieldType = 2; // 字段类型
}
// 行数据
message RowValue {
		repeated string RowValues = 1; // 行数据
}
// 通用查询应答
message QueryCommonRsp_ {
		optional int32 RowNum = 1; // 字段名
		optional int32 ColumnNum = 2; // 字段类型
		repeated FieldInfo FieldInfos = 3; // 字段信息
		repeated RowValue RowValues = 4; // 行数据
}
message QueryCommonRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
	optional QueryRspPageInfo PageInfo = 4; // 查询结果分页信息
	repeated QueryCommonRsp_ Rsps = 5; // 查询结果集
}
// 加密信息通用查询请求
message QueryCommonSenReq {
	optional MessageHead Header = 1; // 消息头
	optional QueryReqPageInfo PageInfo = 2; // 查询分页信息
		optional string Statement = 3; // StatmentId
	optional int32 StatementFlag = 4; // StatmentId查询标记，不填写默认为=
		repeated ParamValue ParamValues = 5; // 参数列表
	optional int32 ParamValuesFlag = 6; // 参数列表查询标记，不填写默认为=
		repeated string SenNames = 7; // 加密字段名‘，’分隔
	optional int32 SenNamesFlag = 8; // 加密字段名‘，’分隔查询标记，不填写默认为=
}
// 加密信息通用查询应答
message QueryCommonSenRsp_ {
		optional int32 RowNum = 1; // 字段名
		optional int32 ColumnNum = 2; // 字段类型
		repeated FieldInfo FieldInfos = 3; // 字段信息
		repeated RowValue RowValues = 4; // 行数据
}

// 终端系统参数查询请求
message ConfigQueryReq {
	optional MessageHead Header = 1;
		optional uint64 ConfigUTime = 2; // 终端配置参数更新时间
}
// 终端系统参数查询应答
message ConfigQueryRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		repeated ConfigInfo ConfigInfoList = 4; // 参数列表
}
// 参数信息
message ConfigInfo {
		optional string ParamCode = 1; // 参数代码
		optional string ParamName = 2; // 参数名称
		optional string ParamValue = 3; // 参数值
		optional string ParamRemark = 4; // 说明
}
// 错误码字典查询请求
message ErrorCodeQueryReq {
	optional MessageHead Header = 1;
		optional uint64 ErrorcodeUTime = 2; // 错误码字典最后更新时间
}
// 错误码字典查询应答
message ErrorCodeQueryRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		repeated ErrorCodeInfo ErrorCodeList = 4; // 错误码列表
}
// 错误码信息
message ErrorCodeInfo {
		optional string ErrorCode = 1; // 错误码
		optional string ErrorMsg = 2; // 提示信息
}

// 市场状态变更通知 0 2 17
message MarketStatusChangeNtf {
	optional MessageHead Header = 1; // MessageHead
	optional NotifyHead NtfHeader = 2; // NotifyHead 公共消息头
	optional uint32 MarketID = 3; // uint32 市场ID
	optional uint32 Status = 4; // uint32 状态
	optional uint32 StepType = 5; // uint32 阶段
	optional string TradeDay = 6; // string 交易日
	optional string NotifyTime = 7; // string 通知发送时间
}

// 交易委托请求 0 3 1
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
 optional uint32 OrderFlag = 36; // uint32 委托标识 - 1:按量 2:按金额
 optional double OrderAmount = 37; // double 委托金额 OrderFlag=2必填
}

// 交易委托应答 0 3 2
message OrderRsp {
 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 CancelOrderReq {
	optional MessageHead Header = 1;
		optional string ClientSerialNo = 2; // 客户端流水号
		optional string ClientOrderTime = 3; // 客户端委托时间
		optional uint32 ClientType = 4; // 终端类型
		optional uint32 OperateType = 5; // 操作类型
		optional uint64 OldOrderId = 6; // 原委托单号
		optional uint64 AccountID = 7; // 交易账号
		optional uint32 OrderSrc = 8; // 单据来源
		optional uint64 OperatorID = 9; // 操作员账号ID
}
// 撤单应答
message CancelOrderRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		optional uint64 ExchActionID = 4; // 交易所操作号
		optional string OrderTime = 5; // 接收委托交易的时间
}
// 用户收货信息表
message ReceiverInfo {
		optional uint64 AutoID = 1; // ID
		optional uint64 UserID = 2; // 用户
		optional string ReceiverName = 3; // 收货人
		optional uint32 CardTypeID = 4; // 证件类型
		optional string CardNum = 5; // 证件号码
		optional string PhoneNum = 6; // 联系电话
		optional string Address = 7; // 地址
		optional string TakeRemark = 8; // 提货备注
		optional string AccountName = 9; // 账户名
		optional uint64 CountryID = 10; // 国家代码
		optional uint64 ProvinceID = 11; // 省级代码
		optional uint64 CityID = 12; // 城市代码
		optional uint64 DistrictID = 13; // 地区代码
		optional uint32 IsDefault = 14; // 是否默认
		optional string CountryName = 15; // 国家名称
		optional string CountryCode = 16; // 国家代码
		optional string CountryPCode = 17; //
		optional string ProvinceName = 18; // 省份名称
		optional string ProvinceCode = 19; // 省份代码
		optional string ProvincePCode = 20; //
		optional string CityName = 21; // 城市名称
		optional string CityCode = 22; // 城市代码
		optional string CityPCode = 23; //
		optional string DistrictName = 24; // 地区名称
		optional string DistrictCode = 25; // 地区代码
		optional string DistrictPCode = 26; //
}
// 查询用户收货信息表
message SearchReceiverReq {
	optional MessageHead Header = 1;
		optional uint64 UserID = 2; // 用户ID
}
// 查询用户收货信息表
message SearchReceiverRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		optional uint64 UserID = 4; // 用户ID
		repeated ReceiverInfo InfoList = 5; // 用户收货信息
}

// 按单协议平仓申请 0 29 213
message TradeHoldTransferApplyReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 TradeID = 2; // uint64 申请人的持仓单表ID
	optional uint32 BuyorSell = 3; // uint32 持仓单方向  卖 - 0:买 1:卖
	optional double TransferPrice = 4; // double 转让价格
	optional uint32 ApplySrc = 5; // uint32 申请来源 - 1:管理端 2:终端
	optional uint64 ApplicantID = 6; // uint64 登录账号
	optional string Remark = 7; // string 申请备注
}
// 按单协议平仓申请响应 0 29 214
message TradeHoldTransferApplyRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 applyid = 4; // uint64 申请ID
}

// 按单协议平仓操作
message TradeHoldTransferApplyAuditReq {
	optional MessageHead Header = 1;
			optional uint64 ApplyID = 2; // 申请ID
			optional uint32 ApplyStatus = 3; // 1:撤销2:拒绝3:通过
			optional uint32 AuditSrc = 4; // 审核来源-1:管理端
			optional uint64 AuditorID = 5; // 登录账号
			optional string AuditRemark = 6; // 审核备注
}
// 按单协议平仓操作
message TradeHoldTransferApplyAuditRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
			optional uint64 ApplyID = 4; // 申请ID
}

// 新增修改收货地址请求
message UserReceiveInfoReq {
	optional MessageHead Header = 1;
		optional uint64 ClientSerialID = 2; // 客户端唯一ID
		optional uint32 UserID = 3; // 用户ID
		optional string ReceiverName = 4; // 提货人姓名
		optional uint32 CardTypeID = 5; // 证件类型
		optional string CardNum = 6; // 证件号码
		optional string PhoneNum = 7; // 提货人联系方式
		optional uint32 CountryID = 8; // 国家
		optional uint32 ProvinceID = 9; // 省
		optional uint32 CityID = 10; // 市
		optional uint32 DistrictID = 11; // 地区
		optional string Address = 12; // 提货人详细地址
		optional string TakeRemark = 13; // 提货备注
		optional uint64 ReceiveInfoId = 14; // 修改时填收货地址id
}
// 新增修改收货地址请求响应
message UserReceiveInfoRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		optional uint64 ReceiveInfoId = 4; // 响应返回autoid
}
// 删除收货地址请求
message DelUserReceiveInfoReq {
	optional MessageHead Header = 1;
		optional uint64 ReceiveInfoId = 2; // 收货地址id
}
// 删除收货地址请求响应
message DelUserReceiveInfoRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
}
// 设置默认收货地址请求
message UserReceiveIsDefaultReq {
	optional MessageHead Header = 1;
		optional uint64 AutoId = 2; // 提货地址ID
		optional uint64 UserId = 3; // 用户ID
}
// 设置默认收货地址应答
message UserReceiveIsDefaultRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		optional uint64 AutoId = 4; // 提货地址ID
}

// 客户离线通知
message CustOfflineNtf {
	optional MessageHead Header = 1; // 消息头
		repeated uint32 SessionID = 2; // uint32 用户的sessionid(由接入服务分配的)，是一数组。该接口是系统内部服务使用的接口
		repeated uint64 LoginID = 3; // uint64 用户登陆的loginid，是一数组。该接口是系统内部服务使用的接口
}
// 头寸变化通知
message PosChangedNtf {
	optional MessageHead Header = 1; // 消息头
		optional NotifyHead NtfHeader = 2; // NotifyHead 公共消息头
		optional uint64 AccountID = 3; // uint64 交易账号
		optional uint32 GoodsID = 4; // uint32 商品
}
// 资金变化通知
message MoneyChangedNtf {
	optional MessageHead Header = 1; // 消息头
		optional NotifyHead NtfHeader = 2; // NotifyHead 公共消息头
		optional uint64 AccountID = 3; // uint64 交易账号
}
// 持仓变化通知
message HoldsChangedNtf {
	optional MessageHead Header = 1; // 消息头
		optional NotifyHead NtfHeader = 2; // NotifyHead 公共消息头
		optional uint64 OrderID = 3; // uint64 一级生成的订单号
		optional string ClientSerialNo = 4; // string 客户端流水号
		optional uint64 AccountID = 5; // uint64 交易账号
		optional uint32 GoodsID = 6; // uint32 商品
		optional uint32 BuyOrSell = 7; // uint32 买卖方向
		optional uint64 Qty = 8; // uint64 持仓数量
		optional double TradePrice = 9; // double 成交金额
		optional double HolderPrice = 10; // double 持仓金额
}
// 委托单撤单通知
message OrderCanceledNtf {
	optional MessageHead Header = 1; // 消息头
		optional NotifyHead NtfHeader = 2; // NotifyHead 公共消息头
		optional uint64 OrderID = 3; // uint64 一级生成的订单号
		optional string ClientSerialNo = 4; // string 客户端流水号
		optional uint32 GoodsID = 5; // uint32 商品
		optional uint64 CancelQty = 6; // uint64 撤销数量
		optional uint32 OrderStatus = 7; // uint32 单据状态
}
// 委托单成交通知 0 2 9
message OrderDealedNtf {
	optional MessageHead Header = 1; // MessageHead
	optional NotifyHead NtfHeader = 2; // NotifyHead 公共消息头
	optional uint64 OrderID = 3; // uint64 一级生成的订单号
	optional string ClientSerialNo = 4; // string 客户端流水号
	optional uint32 GoodsID = 5; // uint32 原始委托商品代码
	optional uint64 TradeQty = 6; // uint64 成交数量
	optional double Amount = 7; // double 成交金额
	optional uint64 ActiveQty = 8; // uint64 激活数量，即剩余数量
	optional uint32 OrderStatus = 9; // uint32 单据状态
	optional uint64 TradeID = 10; // uint64 成交ID
	optional uint64 AccountID = 11; // uint64 资金账号代码
	optional double TradePrice = 12; // double 成交价格
	optional uint32 BuyOrSell = 13; // uint32 买卖方向
	optional uint64 OrderQty = 14; // uint64 委托数量
	optional uint32 OrderType = 15; // uint32 订单类型
	optional string TradeTime = 16; // string 成交时间
	repeated ArrayCloseInfo CloseInfos = 17; // ArrayCloseInfo 平仓信息
	optional uint32 SpecialAccount = 18; // uint32 特别会员账号
	optional double TradeCharge = 19; // double 成交手续费
	optional double WareHouseCharge = 20; // double 仓单服务费
	optional double UsedMargin = 21; // double 占用保证金
	optional uint32 OperatorID = 22; // uint32 操作员账号ID
	optional uint32 MemberID = 23; // uint32 会员账号，会员系统平仓使用
	optional uint64 MatchAccountID = 24; // uint64 对手方资金账号代码
	optional uint32 BuildType = 25; // uint32 下单类型
	optional uint32 CloseType = 26; // uint32 平仓类型
}
// 出金请求
message t2bBankWithdrawReq {
	optional MessageHead Header = 1;
		required uint64 ExtOperatorID = 2; // 外部操作流水号
		optional string ExchId = 3; // 交易所编号
		required string AccountCode = 4; // 资金账户
		required string CusBankID = 5; // 托管银行编号
		required string Currency = 6; // 币种
		optional int32 AccountType = 7; // 账户类型
		optional string BankChildAccount = 8; // 银行子账号
		optional string BankChildAccountName = 9; // 银行子账号名
		optional string OpenCardBankId = 10; // 银行卡行号
		optional string BankAccoutNum = 11; // 银行卡号
		optional string BankAccoutName = 12; // 银行卡户名
		required double Amount = 13; // 出金金额
		optional string AppDateTime = 14; // 申请日期和时间
		optional string OldTaPWD = 15; // 资金密码
		optional string Desc = 16; // 备注
		optional string IdentifyCode = 17; // 验证码
		optional string BranchBankName = 18; // 收款支行名称
		optional string extend_info = 19; // 扩展信息（JSON串，参考配置要求进行填充）
		optional string Remark = 20; // 备注
		optional string ExchTicket = 21; // 交易所流水号
}
// 出金应答
message t2bBankWithdrawRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		optional uint64 ExtOperatorID = 4; // 外部操作流水号
		optional int32 Status = 5; // 状态（0成功,其他数值参考银行服务的错误码）
		required string ExchTicket = 6; // 交易所流水号
		optional string ExchId = 7; // 交易所编号
		optional string TradeDate = 8; // 交易日
		optional string CenterTicket = 9; // 中心流水号
		optional string CenterErrCode = 10; // 中心返回码
		optional string CenterErrMsg = 11; // 中心返回结果说明
		optional string CerterCheckDate = 12; // 中心对账日期
		optional string NetAddr = 13; // 网络地址（当这里有网址时，应自动跳转网页）
}

// 签约请求
message t2bBankSignReq {
	optional MessageHead Header = 1;
		required uint64 ExtOperatorID = 2; // 外部操作流水号
		optional string ExchId = 3; // 交易所编号
		optional string TradeDate = 4; // 交易所业务日期
		optional string ExchTicket = 5; // 交易所流水号
		required string AccountCode = 6; // 账户
		required string AccountName = 7; // 客户名称
		required string CusBankID = 8; // 托管银行编号
		required int32 OperateType = 9; // 变更类型[1-增加;2-修改;4-绑卡;
		required int32 IsForce = 10; // 是否强制[0-否;1-是]强制，只更新中心签约信息，不发送银行。用于银行信息不一致的情况
		optional string Currency = 11; // 币种
		optional int32 AccountType = 12; // 账户类型[1-对私;2-对公]
		required string OpenBankAccId = 13; // 银行卡行号
		optional string ForceSignBankAccountNo = 14; // 银行账户[强制签约时填写]
		optional string ForceSignBankAccountName = 15; // 银行账户名称[强制签约时填写]
		required string BankAccountNo = 16; // 银行账户
		optional string BankAccountName = 17; // 银行账户名称
		required string ExBankName = 18; // 开户行名称
		optional string OpenBankNo = 19; // 开户支行编号
		optional string OpenBankName = 20; // 开户支行名称
		required string CertType = 21; // 证件类型
		required string CertID = 22; // 证件号码
		optional string BankAccountPWD = 23; // 银行账户密码
		optional string AgentName = 24; // 授权代理人姓名
		optional int32 AgentCertType = 25; // 授权代理人证件类型
		optional string AgentCertID = 26; // 授权代理人证件号
		optional int32 BankAccountType = 27; // 银行账户类型
		optional string BankProvince = 28; // 开户银行所在省份
		optional string BankCity = 29; // 开户银行所在市
		optional int32 BankCardType = 30; // 银行卡类型
		optional string MobilePhone = 31; // 移动电话
		optional string IdentifyCode = 32; // 验证码
		optional string email = 33; // 电子邮箱
		optional string extend_info = 34; // 扩展信息（JSON串，参考配置要求进行填充）
}
// 签约应答
message t2bBankSignRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		optional uint64 ExtOperatorID = 4; // 外部操作流水号
		optional string AccountCode = 5; // 账户
		optional string NetAddr = 6; // 网络地址（当这里有网址时，应自动跳转网页）
		optional int32 Status = 7; // 状态（0成功,其他数值参考银行服务的错误码）
		required string ExchTicket = 8; // 交易所流水号
		optional string ExchId = 9; // 交易所编号
		optional string TradeDate = 10; // 交易所业务日期
		optional string CenterTicket = 11; // 中心流水号
		optional string CenterErrCode = 12; // 返回码
		optional string CenterErrMsg = 13; // 返回结果说明
		optional string bankChildAcc = 14; // 银行账号
		optional string bankChildAccName = 15; // 银行账户名
		optional string BankId = 16; // 银行卡行号
		optional string BankAccNum = 17; // 银行卡号
		optional string BankAccName = 18; // 银行卡户名
}
// 解约请求
message t2bBankCancelSignReq {
	optional MessageHead Header = 1;
		required uint64 ExtOperatorID = 2; // 外部操作流水号
		optional string ExchId = 3; // 交易所编号
		required string AccountCode = 4; // 账户
		required string CusBankID = 5; // 托管银行编号
		required int32 IsForce = 6; // 是否强制
		optional string Currency = 7; // 币种
		optional string TradeDate = 8; // 交易所业务日期
		optional string ExchTicket = 9; // 交易所流水号
		optional string BankChildAcc = 10; // 银行子账号
		optional string BankChildAccName = 11; // 银行子账号名
}
// 解约应答
message t2bBankCancelSignRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		optional uint64 ExtOperatorID = 4; // 外部操作流水号
		optional string AccountCode = 5; // 账户
		optional string NetAddr = 6; // 网络地址（当这里有网址时，应自动跳转网页）
		optional int32 Status = 7; // 状态（0成功,其他数值参考银行服务的错误码）
		required string ExchTicket = 8; // 交易所流水号
		optional string ExchId = 9; // 交易所编号
		optional string TradeDate = 10; // 交易所业务日期
		optional string CenterTicket = 11; // 中心流水号
		optional string CenterErrCode = 12; // 返回码
		optional string CenterErrMsg = 13; // 返回结果说明
}

// 已签约信息查询请求
message BankSignReq {
	optional MessageHead Header = 1;
		optional uint64 AccountID = 2; // 资金账户
		optional string CusBankid = 3; // 托管银行ID
}
// 已签约信息查询响应
message BankSignRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		optional uint64 AccountID = 4; // 资金账户
		optional string CusBankid = 5; // 托管银行ID
		repeated BankAccountSign BankSign = 6; // 已签约信息
}
// 已签约信息
message BankAccountSign {
		optional uint64 AccountCode = 1; // 资金账户
		optional string CusBankID = 2; // 托管银行ID
		optional uint32 SignStatus = 3; // 签约状态
		optional string Currency = 4; // 币种
		optional string BankID = 5; // 开户行id
		optional string BankAccountNo = 6; // 银行卡
		optional string BankAccountName = 7; // 开户人名称
		optional uint32 CardType = 8; // 证件类型
		optional string CardNo = 9; // 证件号码
		optional string MobilePhone = 10; // 手机号码
		optional string BankName = 11; // 开户银行名称
		optional string CusBankName = 12; // 托管银行名称
		optional string AccountNameDisp = 13; // 未加密账户名称
		optional string BankAccountNameDisp = 14; // 未加密开户人名称
		optional string CardNoDisp = 15; // 未加密证件号码
		optional string MobilePhoneDisp = 16; // 未加密手机号码
		optional string CusBankTradeDate = 17; // 托管银行交易日期
		optional string ExtendInfo = 18; // JSON格式扩展信息
		optional uint32 CanModifyPhone = 19; // 是否能修改手机
		optional string Bankchildaccount = 20; // 银行子账户
		optional string OpenBankNo = 21; // 支行号
}

// 撤销支付请求 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 成交单号
}

// 现货品种申请请求 0 29 124
message DeliveryGoodsApplyReq {
	optional MessageHead Header = 1; // MessageHead
		optional string version = 2; // string 接口版本号（目前支持2.0 3.1 3.2）
		optional uint64 userid = 3; // uint64 用户ID
		optional uint64 loginid = 4; // uint64 登录ID
		optional string deliverygoodscode = 5; // string 交割商品代码(新增时有值)
		optional string deliverygoodsname = 6; // string 交割商品名称(新增时有值)
		optional uint64 deliverygoodsid = 7; // uint64 交割商品id(修改时有值)
		optional uint64 unitid = 8; // uint64 单位ID
		optional int32 type = 9; // int32 类型 1 新增 2 修改
		optional string remark = 10; // string 备注
	repeated GLDWRStandardEx gldwrstandards = 11; // GLDWRStandardEx 现货商品型号数据
	repeated GLDDGFactoryItemEx glddgfactoryItems = 12; // GLDDGFactoryItemEx 现货商品品牌数据
	repeated WRSConvertDetailEx wrsconvertdetails = 13; // WRSConvertDetailEx 现货商品折算配置明细数据
}

// 现货品种申请响应 0 29 128
message DeliveryGoodsApplyRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 wrstandardid = 4; // uint64 现货商品ID
	optional uint64 deliverygoodsid = 5; // uint64 现货品种ID
}

// 现货商品型号数据 0 29 172
message GLDWRStandardEx {
		optional uint64 wrstandardid = 1; // uint64 型号ID(修改时有值)
		optional string wrstandardname = 2; // string 型号名称
		optional uint64 unitid = 3; // uint64 单位ID
		optional double convertfactor = 4; // double 标仓系数(接口为3.1及以上版本时传)
}
// 现货商品品牌数据 0 29 173
message GLDDGFactoryItemEx {
		optional uint64 dgfactoryitemid = 1; // uint64 品牌ID(修改时有值)
		optional string dgfactoryitemvalue = 2; // string 品牌名称
}
// 现货商品折算配置明细数据 0 29 127
message WRSConvertDetailEx {
		optional uint64 middlegoodsid = 1; // uint64 套保品种ID(接口为3.1及以下版本时传套保品种ID，否则传期货品种ID)
		optional uint64 unitid = 2; // uint64 单位ID
		optional double convertratio = 3; // double 套保系数
}

// 仓库申请请求 0 29 141
message WarehouseApplyReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 userid = 2; // uint64 用户ID
	optional int32 type = 3; // int32 类型 1 新增 2 修改
	optional uint64 warehouseid = 4; // uint64 仓库ID
	optional string warehousecode = 5; // string 仓库代码
	optional string warehousename = 6; // string 仓库名称
	optional int32 warehousetype = 7; // int32 仓库类型 - 1 厂库  2 自有库  3 合作库
	optional uint64 provinceid = 8; // uint64 省
	optional uint64 cityid = 9; // uint64 市
	optional int32 districtid = 10; // int32 区
	optional string address = 11; // string 详细地址
	optional string contactname = 12; // string 联系人
	optional string contactnum = 13; // string 联系电话
}
// 仓库申请请求 0 29 142
message WarehouseApplyRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 warehouseid = 4; // uint64 仓库ID
}

// 仓库状态修改请求 0 29 143
message WarehouseStateChangeReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 warehouseid = 2; // uint64 仓库ID
	optional int32 warehousestatus = 3; // int32 仓库状态 - 1:正常 2:注销 3:待审核 4:审核拒绝
}
// 仓库状态修改请求 0 29 144
message WarehouseStateChangeRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 warehouseid = 4; // uint64 仓库ID
}

// 现货合同操作请求 0 29 167
message GldErmcpSpotContractOperateReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 SpotContractID = 2; // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 3; // uint32 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回6:正常完结7:异常终止
	optional uint32 OperateSrc = 4; // uint32 操作来源-1:管理端2:终端
	optional uint64 UserID = 5; // uint64 操作用户ID
	optional string Remark = 6; // string 操作备注
	optional string ClientTicket = 7; // string 客户端流水号
	optional GldSpotContractInfo Info = 8; // GldSpotContractInfo 现货合同信息
}
// 现货合同操作响应 0 29 168
message GldErmcpSpotContractOperateRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 SpotContractID = 4; // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 5; // uint32 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回6:正常完结7:异常终止
	optional uint32 OperateSrc = 6; // uint32 操作来源-1:管理端2:终端
	optional string ClientTicket = 7; // string 客户端流水号
}

// 现货合同信息 0 29 166
message GldSpotContractInfo {
	optional string TradeDate = 1; // string 交易日(yyyyMMdd)
	optional string ContractNo = 2; // string 现货合同编号
	optional int32 ContractType = 3; // int32 现货合同类型-1:采购-1:销售
	optional uint64 UserID = 4; // uint64 机构ID
	optional uint64 BuyUserID = 5; // uint64 采购方ID
	optional uint64 SellUserID = 6; // uint64 客户ID
	optional string SignDate = 7; // string 签订日期
	optional bytes ContractAttachment = 8; // bytes 合同附件
	optional double ContractMargin = 9; // double 合同保证金
	optional uint64 DeliveryGoodsID = 10; // uint64 现货品种ID
	optional uint64 WrStandardID = 11; // uint64 现货商品ID
	optional uint32 ProductType = 12; // uint32 产品类型-1:标准仓单2:等标3:非标
	optional double ConvertFactor = 13; // double 标仓系数
	optional string SpotGoodsDesc = 14; // string 商品型号
	optional uint32 PriceType = 15; // uint32 定价类型-1:一口价2:点价3:暂定价
	optional double Qty = 16; // double 数量
	optional double Price = 17; // double 价格暂定价[1:一口价、3:暂定价]
	optional double Amount = 18; // double 金额[1:一口价、3:暂定价]
	optional string DeliveryStartDate = 19; // string 交收期(开始)
	optional string DeliveryEndDate = 20; // string 交收期(结束)
	optional uint64 GoodsID = 21; // uint64 点价合约ID-0:为现货，其它为期货商品合约ID[2:点价3:暂定价]
	optional double PriceMove = 22; // double 升贴水[2:点价3:暂定价]
	optional string StartDate = 23; // string 点价开始日期[2:点价3:暂定价]
	optional string EndDate = 24; // string 点价结束日期[2:点价3:暂定价]
	optional string PointDesc = 25; // string 点价备注[2:点价3:暂定价]
	optional string DeliveryDesc = 26; // string 交收方式
	optional uint64 MerUserID = 27; // uint64 跟单员ID
	optional uint64 TradeUserID = 28; // uint64 交易员ID
	optional double PricedQty = 29; // double 已定价量
	optional double PricedAmount = 30; // double 已定价金额
	optional uint64 SpotGoodsBrandID = 31; // uint64 现货品牌ID
	optional string Remark = 32; // string 合同备注
	optional uint64 SaleUserID = 33; // uint64 业务员ID
	optional uint64 AccountID = 34; // uint64 期货账户ID
	optional uint32 BizType = 35; // uint32 业务类型 - 1:套保 2:套利
	optional uint32 CurrencyID = 36; // uint32 结算币种ID
	optional uint64 SubjectID = 37; // uint64 交易主体ID
        optional uint64 BizSubjectID = 38; // uint64 归属业务部门ID - SubjectID
}
// 合同操作请求 0 29 170
message ErmcpContractOperateApplyReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 OperateApplyID = 2; // uint64 操作申请ID(603+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 3; // uint32 操作类型-1:登记2:确认3：拒绝4：撤销
	optional uint32 OperateSrc = 4; // uint32 操作来源-1:管理端2:终端
	optional uint64 UserID = 5; // uint64 操作用户ID
	optional string Remark = 6; // string 备注
	optional string ClientTicket = 7; // string 客户端流水号
	optional ErmcpContractOperateApplyInfo Info = 8; // ErmcpContractOperateApplyInfo 合同操作信息
}
// 合同操作响应 0 29 171
message ErmcpContractOperateApplyRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 OperateApplyID = 4; // uint64 操作申请ID(603+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 5; // uint32 操作类型-1:登记2:确认3：拒绝4：撤销
	optional uint32 OperateSrc = 6; // uint32 操作来源-1:管理端2:终端
	optional string ClientTicket = 7; // string 客户端流水号
}
// 合同操作信息 0 29 169
message ErmcpContractOperateApplyInfo {
	optional uint32 OperateApplyType = 1; // uint32 操作申请类型-1:点价2:结算3:款项4:发票
	optional uint64 RelatedID = 2; // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
	optional bytes DetailJson = 3; // bytes 明细JSON
	optional bytes AttachUrl = 4; // bytes 附件
}
// 套保计划请求 0 29 164
message ErmcpHedgePlanReq {
 optional MessageHead Header = 1; // MessageHead
 optional uint64 HedgePlanID = 2; // uint64 套保计划ID(601+Unix秒时间戳(10位)+xxxxxx)
 optional string HedgePlanNo = 3; // string 套保计划名称
 optional int32 ContractType = 4; // int32 计划类型-1:采购-1:销售
 optional uint64 AreaUserID = 5; // uint64 机构ID
 optional uint64 DeliveryGoodsID = 6; // uint64 现货品种ID
 optional int32 ProductType = 7; // int32 产品类型-1:标准仓单2:等标3:非标
 optional string SpotGoodsDesc = 8; // string 商品型号
 optional double PlanQty = 9; // double 计划数量
 optional double ConvertFactor = 10; // double 标仓系数
 optional string PlanTime = 11; // string 计划时间
 optional string TradeDate = 12; // string 交易日(yyyyMMdd)
 optional int32 ApplySrc = 13; // int32 申请来源 - 1:管理端 2:终端
 optional uint64 ApplyId = 14; // uint64 申请人
 optional string Remark = 15; // string 计划备注
 optional int32 OperateType = 16; // int32 操作类型-1:保存草稿2:提交申请3:删除4审核通过5审核拒绝
 optional uint64 WRStandardID = 17; // uint64 现货品类ID
 optional uint64 AccountID = 18; // uint64 期货账户ID（默认为0，也可不传）
 optional uint64 Tradeuserid = 19; // uint64 交易用户ID
 optional uint64 Currencyid = 20; // uint64 结算币种ID
 optional uint64 Biztype = 21; // uint64 业务类型 - 1:套保 2:套利 默认为 1
 optional uint64 auditid = 22; // uint64 审核人
 optional uint32 auditsrc = 23; // uint32 审核来源 - 1:管理端 2:终端
 optional string auditremark = 24; // string 审核备注
}
// 套保计划响应 0 29 165
message ErmcpHedgePlanRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
}

// 客户信息审核通过请求 0 29 122
message UserInfoCheckMangeReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 auditflag = 2; // uint64 1审核通过2审核拒绝
	optional uint64 userid = 3; // uint64 客户userid
	optional uint64 audituserid = 4; // uint64 审核操作人userid
	optional string remark = 5; // string 备注
}

// 客户信息审核通过请求响应 0 29 123
message UserInfoCheckMangeRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 userid = 4; // uint64 客户userid
}

// 现货合同操作请求 0 18 5
message SpotContractOperateReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 SpotContractID = 2; // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 3; // uint32 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回6:正常完结7:异常终止
	optional uint32 OperateSrc = 4; // uint32 操作来源-1:管理端2:终端
	optional uint64 OperatorID = 5; // uint64 操作用户ID
	optional string Remark = 6; // string 操作备注
	optional string ClientTicket = 7; // string 客户端流水号
	optional SpotContractInfo Info = 8; // SpotContractInfo 现货合同信息
}
// 现货合同操作响应 0 18 6
message SpotContractOperateRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 SpotContractID = 4; // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 5; // uint32 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回6:正常完结7:异常终止
	optional uint32 OperateSrc = 6; // uint32 操作来源-1:管理端2:终端
	optional string ClientTicket = 7; // string 客户端流水号
}

// 现货合同信息 0 18 4
message SpotContractInfo {
	optional string ContractNo = 1; // string 现货合同编号
	optional int32 ContractType = 2; // int32 现货合同类型-1:采购-1:销售
	optional uint32 UserID = 3; // uint32 机构ID
	optional uint32 BuyUserID = 4; // uint32 采购方ID
	optional uint32 SellUserID = 5; // uint32 客户ID
	optional string SignDate = 6; // string 签订日期
	optional bytes ContractAttachment = 7; // bytes 合同附件
	optional double ContractMargin = 8; // double 合同保证金
	optional uint32 DeliveryGoodsID = 9; // uint32 现货品种ID
	optional uint32 WrStandardID = 10; // uint32 现货商品ID
	optional uint32 ProductType = 11; // uint32 产品类型-1:标准仓单2:等标3:非标
	optional double ConvertFactor = 12; // double 标仓系数
	optional string SpotGoodsDesc = 13; // string 商品型号
	optional uint32 PriceType = 14; // uint32 定价类型-1:一口价2:点价3:暂定价
	optional double Qty = 15; // double 数量
	optional double Price = 16; // double 价格暂定价[1:一口价、3:暂定价]
	optional double Amount = 17; // double 金额[1:一口价、3:暂定价]
	optional string DeliveryStartDate = 18; // string 交收期(开始)
	optional string DeliveryEndDate = 19; // string 交收期(结束)
	optional uint32 GoodsID = 20; // uint32 点价合约ID-0:为现货，其它为期货商品合约ID[2:点价3:暂定价]
	optional double PriceMove = 21; // double 升贴水[2:点价3:暂定价]
	optional string StartDate = 22; // string 点价开始日期[2:点价3:暂定价]
	optional string EndDate = 23; // string 点价结束日期[2:点价3:暂定价]
	optional string PointDesc = 24; // string 点价备注[2:点价3:暂定价]
	optional string DeliveryDesc = 25; // string 交收方式
	optional uint32 MerUserID = 26; // uint32 跟单员ID
	optional uint32 TradeUserID = 27; // uint32 交易员ID
	optional double PricedQty = 28; // double 已定价量
	optional double PricedAmount = 29; // double 已定价金额
	optional uint32 SpotGoodsBrandID = 30; // uint32 现货品牌ID
	optional string Remark = 31; // string 合同备注
	optional uint32 SaleUserID = 32; // uint32 业务员ID
	optional uint64 AccountID = 33; // uint64 期货账户ID
	optional uint32 BizType = 34; // uint32 业务类型 - 1:套保 2:套利
	optional uint64 WrFactorTypeID = 35; // uint64 仓单要素类型ID(212+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 CustomerUserID = 36; // uint32 客户ID
	optional uint32 RelatedUserID = 37; // uint32 关联用户ID
}

// 套保计划操作请求 0 18 2
message HedgePlanOperateReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 HedgePlanID = 2; // uint64 套保计划ID(601+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 3; // uint32 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回
	optional uint32 OperateSrc = 4; // uint32 操作来源-1:管理端2:终端
	optional uint64 UserID = 5; // uint64 操作用户ID
	optional string Remark = 6; // string 备注
	optional string ClientTicket = 7; // string 客户端流水号
	optional HedgePlanInfo Info = 8; // HedgePlanInfo 套保计划信息
}

// 套保计划操作响应 0 18 3
message HedgePlanOperateRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 HedgePlanID = 4; // uint64 套保计划ID(601+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 5; // uint32 操作类型-1:保存草稿2:提交申请3:审核通过4:审核拒绝5:撤回
	optional uint32 OperateSrc = 6; // uint32 操作来源-1:管理端2:终端
	optional string ClientTicket = 7; // string 客户端流水号
}

// 套保计划信息 0 18 1
message HedgePlanInfo {
	optional string HedgePlanNo = 1; // string 套保计划编号
	optional int32 ContractType = 2; // int32 计划类型-1:采购-1:销售
	optional uint32 AreaUserID = 3; // uint32 机构ID
	optional uint32 DeliveryGoodsID = 4; // uint32 现货品种ID
	optional uint32 WrStandardID = 5; // uint32 现货商品ID
	optional uint32 ProductType = 6; // uint32 产品类型-1:标准仓单2:等标3:非标
	optional string SpotGoodsDesc = 7; // string 商品型号
	optional double PlanQty = 8; // double 计划数量
	optional double ConvertFactor = 9; // double 标仓系数
	optional string PlanTime = 10; // string 计划时间
}

// 合同操作请求 0 18 8
message ContractOperateApplyReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 OperateApplyID = 2; // uint64 操作申请ID(603+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 3; // uint32 操作类型-1:登记2:确认3：拒绝4：撤销
	optional uint32 OperateSrc = 4; // uint32 操作来源-1:管理端2:终端
	optional uint64 OperatorID = 5; // uint64 操作用户ID
	optional string Remark = 6; // string 备注
	optional string ClientTicket = 7; // string 客户端流水号
	optional ContractOperateApplyInfo Info = 8; // ContractOperateApplyInfo 合同操作信息
}

// 合同操作响应 0 18 9
message ContractOperateApplyRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 OperateApplyID = 4; // uint64 操作申请ID(603+Unix秒时间戳(10位)+xxxxxx)
	optional uint32 OperateType = 5; // uint32 操作类型-1:登记2:确认3：拒绝4：撤销
	optional uint32 OperateSrc = 6; // uint32 操作来源-1:管理端2:终端
	optional string ClientTicket = 7; // string 客户端流水号
}

// 合同操作信息 0 18 7
message ContractOperateApplyInfo {
	optional uint32 OperateApplyType = 1; // uint32 操作申请类型-1:点价2:结算3:款项4:发票
	optional uint64 RelatedID = 2; // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
	optional bytes DetailJson = 3; // bytes 明细JSON
	optional bytes AttachUrl = 4; // bytes 附件
}

// 机构出入库申请审核通过请求 0 18 10
message AreaInOutApplyAuditPassReq {
     optional MessageHead Header = 1; // MessageHead
     optional uint64 InOutApplyID = 2; // uint64 操作申请ID(607+Unix秒时间戳(10位)+xxxxxx)
     optional uint64 AuditID = 3; // uint64 操作用户ID
     optional uint32 AuditSrc = 4; // uint32 操作来源-1:管理端2:终端
     optional string Remark = 5; // string 备注
     optional string ClientTicket = 6; // string 客户端流水号
}
// 机构出入库申请审核通过响应 0 18 11
message AreaInOutApplyAuditPassRsp {
     optional MessageHead Header = 1; // MessageHead 消息头
     optional int32 RetCode = 2; // int32 返回码
     optional string RetDesc = 3; // string 描述信息
     optional uint64 InOutApplyID = 4; // uint64 操作申请ID(607+Unix秒时间戳(10位)+xxxxxx)
     optional uint64 AuditID = 5; // uint64 操作用户ID
     optional uint32 AuditSrc = 6; // uint32 操作来源-1:管理端2:终端
     optional string ClientTicket = 7; // string 客户端流水号
}

// 机构出入库申请审核拒绝撤回请求 0 29 139
message AuditERMCPAreaInOutStockApplyReq {
     optional MessageHead Header = 1; // MessageHead
     optional uint64 InOutApplyID = 2; // uint64 申请ID
     optional uint64 AuditID = 3; // uint64 审核人
     optional string AuditRemark = 4; // string 审核备注
     optional string AuditTradeDate = 5; // string 审核交易日(yyyyMMdd)
     optional int32 ApplyStatus = 6; // int32 审核状态:3-审核拒绝 5-已撤回
}
// 机构出入库申请审核拒绝撤回响应 0 29 140
message AuditERMCPAreaInOutStockApplyRsp {
     optional MessageHead Header = 1; // MessageHead 消息头
     optional int32 RetCode = 2; // int32 返回码
     optional string RetDesc = 3; // string 描述信息
     optional uint64 InOutApplyID = 4; // uint64 申请ID
}

// 机构出入库申请请求 0 29 137
message ERMCPAreaInOutStockApplyReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 UserID = 2; // uint64 机构ID
	optional int32 InOutType = 3; // int32 出入库类型 - 1:采购入库 2:销售出库 3:生产入库 4:生产出库
	optional uint64 WRStandardID = 4; // uint64 现货商品ID
	optional uint64 SpotGoodsModelID = 5; // uint64 现货型号ID
	optional uint64 SpotGoodsBrandID = 6; // uint64 现货品牌ID
	optional uint64 DeliveryGoodsID = 7; // uint64 现货品种ID
	optional uint64 SpotContractID = 8; // uint64 关联现货合同ID [1:采购入库 2:销售出库 ](1,2状态必填)
	optional uint64 WarehouseInfo = 9; // uint64 现货仓库ID
	optional double Qty = 10; // double 数量
	optional int32 ApplySrc = 11; // int32 申请来源 - 1:管理端 2:终端
	optional uint64 ApplyId = 12; // uint64 申请人
	optional string ApplyRemark = 13; // string 申请备注
}

// 机构出入库申请响应 0 29 138
message ERMCPAreaInOutStockApplyRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 InOutApplyID = 4; // uint64 申请ID
}

// 套保品种修改请求 0 29 133
message ErmsMiddelGoodsEditReq {
    optional MessageHead Header = 1; // MessageHead
    optional uint64 middlegoodsid = 2; // uint64 套保品种ID
    optional int32 goodsunitid = 3; // int32 单位ID
    optional uint64 relatedgoodsid = 4; // uint64 关联交易商品ID
    optional double evaluateratio = 5; // double 估价系数
    optional int32 qtydecimalplace = 6; // int32 数量小数位
    optional uint64 modifierid = 7; // uint64 修改人
    optional int32 relatedgoodstype = 8; // int32 关联商品类型 - 1:期货合约 2:现货品种
    optional double needhedgeratio = 9; // double 套保比率
    optional uint64 areauserid = 10; // uint64 机构用户ID
    optional uint64 goodsgroupid = 11; // uint64 关联期货品种ID
    optional string remark = 12; // string 备注
}
// 套保品种修改响应 0 29 134
message ErmsMiddelGoodsEditRsp {
    optional MessageHead Header = 1; // MessageHead 消息头
    optional int32 RetCode = 2; // int32 返回码
    optional string RetDesc = 3; // string 描述信息
    optional uint64 middlegoodsid = 4; // uint64 套保品种ID
}

// 现货品种停用请求 0 29 129
message DeliveryGoodsCancelReq {
    optional MessageHead Header = 1; // MessageHead
    optional uint64 wrstandardid = 2; // uint64 现货商品ID
    optional int32 isvalid = 3; // int32 是否有效 - 0:无效 1:有效
}
// 现货品种停用响应 0 29 130
message DeliveryGoodsCancelRsp {
    optional MessageHead Header = 1; // MessageHead 消息头
    optional int32 RetCode = 2; // int32 返回码
    optional string RetDesc = 3; // string 描述信息
    optional uint64 wrstandardid = 4; // uint64 现货商品ID
    optional uint64 deliverygoodsid = 5; // uint64 现货品种ID
}

// 期货账户新增修改请求 0 29 146
message HedgeOutMainConfigReq {
    optional MessageHead Header = 1; // MessageHead
    optional uint64 marketid = 2; // uint64 内部市场ID（HedgeOutMainConfig）
    optional string hedgeaccountcode = 3; // string 对冲账号ID（HedgeOutMainConfig）
    optional int32 connectflag = 4; // int32 是否联接外部交易 - 0:不连接 1:连接（HedgeOutMainConfig）
    optional string hedgeaccountpwd = 5; // string 对冲账号密码（HedgeOutMainConfig）
    optional string appid = 6; // string AppID（HedgeOutMainConfig）
    optional string authcode = 7; // string 授权码（HedgeOutMainConfig）
    optional uint64 limitnumber = 8; // uint64 挂单笔数限额默认0（HedgeOutMainConfig）
    optional int32 status = 9; // int32 渠道账号状态 1-可买入可卖出 2-可卖出不可买入默认1（HedgeOutMainConfig）
    optional string accountname = 10; // string 账户名称accountname1（Taaccount）
    optional uint64 accountid = 11; // uint64 资金账户ID（Taaccount）
    optional int32 taaccounttype = 12; // int32 账号类型 - 1:外部账号 2:内部账号 3:内部做市自营账号 4:内部做市接单账号（Taaccount）
    optional int32 currencyid = 13; // int32 货币ID默认为1（Taaccount）
    optional double outthreshold = 14; // double 出金阈值默认为0（Taaccount）
    optional int32 ismain = 15; // int32 是否母账号 0:不是母账户 1:是母账户（Taaccount）
    optional uint64 parentaccountid = 16; // uint64 所属根账号（Taaccount）
    optional uint64 relateduserid = 17; // uint64 关联用户（Taaccount）
    optional uint64 fromaccountid = 18; // uint64 所属上级账户（Taaccount）
    optional uint64 trademargintmpid = 19; // uint64 保证金模板id（TAACCOUNTCONFIG）
    optional uint64 tradefeetmpid = 20; // uint64 手续费模板ID（TAACCOUNTCONFIG）
    optional uint64 maxsubaccouts = 21; // uint64 最大子账户数[最大99999][外部母账户用 默认0（TAACCOUNTCONFIG）
    optional uint64 fcid = 22; // uint64 期货公司
    optional uint64 creatorid = 23; // uint64 创建人
    optional uint64 modifierid = 24; // uint64 修改人
    optional uint64 areauserid = 25; // uint64 机构用户ID
}
// 期货账户新增修改响应 0 29 157
message HedgeOutMainConfigRsp {
    optional MessageHead Header = 1; // MessageHead 消息头
    optional int32 RetCode = 2; // int32 返回码
    optional string RetDesc = 3; // string 描述信息
    optional uint64 accountid = 4; // uint64 资金账户ID（Taaccount）
}
// 期货账户注销 0 29 158
message TaaccountOperateReq {
    optional MessageHead Header = 1; // MessageHead
    optional uint64 accountid = 2; // uint64 期货账户ID
    optional uint32 tradestatus = 3; // uint32 7注销
    optional uint64 modifierid = 4; // uint64 修改人
    optional uint64 areauserid = 5; // uint64 机构用户ID
}
// 期货账户注销操作响应 0 29 159
message TaaccountOperateRsp {
    optional MessageHead Header = 1; // MessageHead 消息头
    optional int32 RetCode = 2; // int32 返回码
    optional string RetDesc = 3; // string 描述信息
    optional uint64 accountid = 4; // uint64 期货账户ID
}
// 期货账户授信 0 29 160
message TaaccountTransfersxmoneyReq {
    optional MessageHead Header = 1; // MessageHead
    optional uint64 accountid = 2; // uint64 期货账户ID
    optional double sxmoney = 3; // double 授信金额正为加负为减
    optional uint64 modifierid = 4; // uint64 修改人
    optional uint64 areauserid = 5; // uint64 机构用户ID
}
// 期货账户授信操作响应 0 29 161
message TaaccountTransfersxmoneyRsp {
    optional MessageHead Header = 1; // MessageHead 消息头
    optional int32 RetCode = 2; // int32 返回码
    optional string RetDesc = 3; // string 描述信息
    optional uint64 accountid = 4; // uint64 期货账户ID
}

// 机构菜单数据 0 29 152
message MemberFuncMenu {
    optional string resourcecode = 1; // string 菜单代码
}
// 期货账户分组商品 0 29 147
message ErmcpBizGroupSpotGoods {
    optional int32 BizType = 1; // int32 业务类型 - 1:套保 2:套利
    optional uint64 DeliveryGoodsID = 2; // uint64 品种ID
}
// 期货账户分组账户 0 29 148
message ErmcpBizGroupTAAccount {
    optional uint64 AccountID = 1; // uint64 账户ID
}
// 登录账户操作请求 0 29 160
message LoginaccountOperateReq {
    optional MessageHead Header = 1; // MessageHead
    optional uint32 operatetype = 2; // uint32 操作类型-1:新增 2:修改 3:新增管理员 4:修改管理员 5:锁定 6:解锁 7:注销 8:恢复 9:重置密码 10:新增登录帐号 11:停用用户 12：恢复用户 13:修改用户信息
    optional uint64 userid = 3; // uint64 用户ID(新增成功接口返回的userid)
    optional uint64 loginid = 4; // uint64 登录ID(新增成功接口返回的loginid)
    optional uint64 areauserid = 5; // uint64 所属机构(当前登录userid 必填)
    optional string logincode = 6; // string 登录账号
    optional string accountname = 7; // string 账户名称
    optional string password = 8; // string 登录密码（明文）
    optional string mobile = 9; // string 手机号码（明文）
    repeated uint64 roleids = 10; // uint64 账号角色
    repeated LoginTaaccount logintaaccounts = 11; // LoginTaaccount 期货账户（勾选交易员必填）
    optional uint64 modifierid = 12; // uint64 修改人ID(当前登录loginid 必填)
}

// 登录账户操作响应 0 29 156
message LoginaccountOperateRsp {
    optional MessageHead Header = 1; // MessageHead 消息头
    optional int32 RetCode = 2; // int32 返回码
    optional string RetDesc = 3; // string 描述信息
    optional uint64 userid = 4; // uint64 用户ID
    optional uint64 loginid = 5; // uint64 登录ID
}
// 期货账户数据 0 29 155
message LoginTaaccount {
    optional uint64 accountid = 1; // uint64 期货账户ID
}
// 期货账户设置请求 0 29 149
message ErmcpBizGroupReq {
    optional MessageHead Header = 1; // MessageHead
    optional uint64 BizGroupID = 2; // uint64 分组ID（修改/删除必填）
    optional int32 BizType = 3; // int32 业务类型 - 1:套保 2:套利
    optional string Remark = 4; // string 新增/修改备注
    optional int32 ApplySrc = 5; // int32 新增/修改来源 - 1:管理端 2:终端
    optional uint64 ApplyId = 6; // uint64 新增/修改人
    repeated ErmcpBizGroupSpotGoods SpotGoods = 7; // ErmcpBizGroupSpotGoods 期货账户分组商品
    repeated ErmcpBizGroupTAAccount TAAccount = 8; // ErmcpBizGroupTAAccount 期货账户分组账户
    optional int32 OptType = 9; // int32 操作类型 - 1:新增 2:修改 3:删除
    optional uint64 AreaUserID = 10; // uint64 所属机构
}
// 期货账户设置响应 0 29 150
message ErmcpBizGroupRsp {
    optional MessageHead Header = 1; // MessageHead 消息头
    optional int32 RetCode = 2; // int32 返回码
    optional string RetDesc = 3; // string 描述信息
    optional uint64 BizGroupID = 4; // uint64 分组ID
}

// 角色设置操作请求 0 29 151
message ManagerRoleOperateReq {
    optional MessageHead Header = 1; // MessageHead
    optional uint64 autoid = 2; // uint64 角色ID
    optional uint32 operatetype = 3; // uint32 操作类型-1:新增 2:修改
    optional uint64 areauserid = 4; // uint64 所属机构
    optional uint64 modifierid = 5; // uint64 修改人ID
    optional string modifyremark = 6; // string 修改备注
    optional string rolename = 7; // string 角色名称
    repeated MemberFuncMenu memberfuncmenus = 8; // MemberFuncMenu 机构菜单
}

// 角色设置操作响应 0 29 153
message ManagerRoleOperateRsp {
    optional MessageHead Header = 1; // MessageHead 消息头
    optional int32 RetCode = 2; // int32 返回码
    optional string RetDesc = 3; // string 描述信息
    optional uint64 autoid = 4; // uint64 角色ID
}

// 客户资料操作请求 0 29 187
message CustomerInfoOperateReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint32 operatetype = 2; // uint32 操作类型-1:新增 2:修改
		optional uint64 userid = 3; // uint64 用户ID（修改时必填）
		optional uint64 areaid = 4; // uint64 所属机构
		optional string logincode = 5; // string 登录帐号
		optional string loginpwd = 6; // string 登录密码
		optional uint32 userinfotype = 7; // uint32 客户类型 1:个人  2:企业
		optional string username = 8; // string 姓名、企业名称
		optional string nickname = 9; // string 企业简称(企业)
		optional uint32 cardtype = 10; // uint32 证件类型
		optional string cardnum = 11; // string 证件号码
		optional string cardfrontphotourl = 12; // string 身份证正面照（个人）
		optional string cardbackphotourl = 13; // string 身份证反面照（个人）
		optional string email = 14; // string 邮箱（个人）
		optional string referral = 15; // string 推荐码（个人）
		optional string legalpersonname = 16; // string 法定代表人(企业)
		optional string taxpayernum = 17; // string 纳税人识别号(企业)
		optional string proxystatementurl = 18; // string 营业执照(企业)
		optional string contactname = 19; // string 联系人(企业)
		optional string mobilephone = 20; // string 手机号码、联系人手机号
		optional string telphone = 21; // string 联系电话
		optional uint64 provinceid = 22; // uint64 省
		optional uint64 cityid = 23; // uint64 市
		optional uint64 districtid = 24; // uint64 县
		optional string ipaddress = 25; // string 详细地址
		optional string remark = 26; // string 备注
		optional uint32 userstate = 27; // uint32 开户状态 1:保存草稿 2:提交审核
		optional string birthday = 28; // string 客户生日(yyyy-mm-dd)
		optional uint64 teammanageruserid = 29; // uint64 客户经理
		optional uint32 isAudit = 30; // uint32 是否直接审核(1:是,2:否) - 不传根据企业配置
		optional uint64 loginid = 31; // uint64 当前登录ID
		optional string auditRemark = 32; // string 审核备注
		optional uint32 sex = 33; // uint32 性别 0 女 1 男
}
// 客户资料操作响应 0 29 188
message CustomerInfoOperateRsp {
 optional MessageHead Header = 1; // MessageHead 消息头
 optional int32 RetCode = 2; // int32 返回码
 optional string RetDesc = 3; // string 描述信息
  optional uint64 userid = 4; // uint64 用户ID
}

// 客户注册审核请求 0 29 180
message AuditWskhUserInfoReq {
 optional MessageHead Header = 1; // MessageHead
 optional uint64 UserID = 2; // uint64 用户ID(自增ID)SEQ_WSKH_USERINFO
 optional uint32 UserState = 3; // uint32 审核状态：4-审核通过，5-审核拒绝
 optional string AuditRemark = 4; // string 审核备注
 optional uint64 AuditedBy = 5; // uint64 审核人
}

// 客户注册审核响应 0 29 181
message AuditWskhUserInfoRsp {
 optional MessageHead Header = 1; // MessageHead 消息头
 optional int32 RetCode = 2; // int32 返回码
 optional string RetDesc = 3; // string 描述信息
 optional uint64 UserID = 4; // uint64 用户ID
}

// 交易所审核结果通知请求
message t2bExchConfirmBusinessReq {
 optional MessageHead Header = 1;
  required uint64 extoperatorid = 2; // 外部操作流水号
  required string cusbankid = 3; // 托管银行编号
  required string AccountCode = 4; // 资金账户(交易所的出入金，填0)
  optional string exchid = 5; // 交易所编号
  optional string tradedate = 6; // 交易日(被审业务发生的交易日）
  required string exchticket = 7; // 交易所流水号（被审核的流水）
  optional string bankticket = 8; // 中心流水号
  required int32 businesstype = 9; // 交易类型[1:入金；2：出金；3：签约；4：解约;5:资金调拨;
  required int32 businessconfirmstatus = 10; // 审核结果[1:通过；2：拒绝]
  optional string retcode = 11; // 返回码
  optional string retmsg = 12; // 返回结果说明
  optional string remark = 13; // 备注
  optional uint64 auditid = 14; // 审核人
  optional string extend = 15; // 扩展信息（若这个字段存在，则会更新到出入金申请表的扩展字段）
}

// 交易所审核结果通知应答
message t2bExchConfirmBusinessRsp {
 optional MessageHead Header = 1; // 消息头
 optional int32 RetCode = 2; // 返回码
 optional string RetDesc = 3; // 描述信息
  required uint64 ExtOperatorID = 4; // 外部操作流水号
  required int32 Status = 5; // 状态（0成功,其他数值参考银行服务的错误码）
  required string ExchTicket = 6; // 交易所流水号（操作流水，非被审核交易的流水）
}

// 提货单操作请求 0 29 184
message GoodsPickupOperateReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint32 operatetype = 2; // uint32 操作类型-1:提货单上传物流信息 2:取货确认(自提) 3:收货确认(邮寄)
		optional uint64 takeorderid = 3; // uint64 提货单号
		optional uint64 userid = 4; // uint64 用户ID
		optional uint64 loginid = 5; // uint64 登录ID
		optional TradeGoodsInfo info = 6; // TradeGoodsInfo 提货单信息
}

// 提货单操作响应 0 29 185
message GoodsPickupOperateRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 takeorderid = 4; // uint64 提货单号
	optional uint64 userid = 5; // uint64 用户ID
	optional uint64 loginid = 6; // uint64 登录ID
}

// 提货单信息 0 29 186
message TradeGoodsInfo {
	optional string expresscompany = 1; // string 物流公司
	optional string expressnum = 2; // string 物流单号
}

// 商品提货确认请求 0 3 95
message GoodsPickupConfirmReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 TakeOrderID = 2; // uint64 提货单号
	optional uint64 Auditer = 3; // uint64 审核人
	optional string CheckRemark = 4; // string 审核备注
	optional string ClientTicket = 5; // string 客户端流水号
}

// 商品提货确认响应 0 3 96
message GoodsPickupConfirmRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
}

// 现货市价请求 0 29 162
message ErmcpSpotGoodsPriceReq {
 optional MessageHead Header = 1; // MessageHead
 optional uint64 DeliveryGoodsID = 2; // uint64 现货品种ID
 optional uint64 WRStandardID = 3; // uint64 现货品类ID(通用则为0)
 optional uint64 SpotGoodsBrandID = 4; // uint64 现货品牌ID(通用则为0, 不为0则须先有品类ID)
 optional uint64 CurrencyID = 5; // uint64 报价货币ID
 optional double SpotGoodsPrice = 6; // double 现货价格
 optional string TradeDate = 7; // string 交易日(yyyyMMdd)
 optional int32 OperateSrc = 8; // int32 最后操作来源 - 1:管理端 2:终端
 optional uint64 OperateID = 9; // uint64 最后操作人
 optional int32 OperateType = 10; // int32 操作类型 - 1:新增 2:修改 3:删除
}
// 现货市价响应 0 29 163
message ErmcpSpotGoodsPriceRsp {
 optional MessageHead Header = 1; // MessageHead 消息头
 optional int32 RetCode = 2; // int32 返回码
 optional string RetDesc = 3; // string 描述信息
}

// 协议操作请求 0 29 189
message QHJAgreementConfigOperateReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint32 operatetype = 2; // uint32 操作类型-1:新增 2:修改 3:停用 4:恢复 5:注销
		optional uint64 agreementid = 3; // uint64 协议ID（操作类型为2,3,4,5时必填）
		optional string agreementno = 4; // string 协议编号
		optional string agreementname = 5; // string 协议名称
		optional uint32 agreementtype = 6; // uint32 协议类型 - 1:注册 2:登录 3:交易
		optional string agreementcontent = 7; // string 协议内容
		optional uint32 operatesrc = 8; // uint32 操作来源 - 1:管理端 2:终端
		optional uint64 operateid = 9; // uint64 操作人
}
// 协议操作响应 0 29 190
message QHJAgreementConfigOperateRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
		optional uint64 agreementid = 4; // uint64 协议ID
}

// 持仓单挂牌请求 0 22 15
message HdWROrderReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 LadingBillId = 2; // uint64 提单id(wrholdlb的LadingBillId字段),卖的时候填写
	required string TradeDate = 3; // string 交易日
	optional uint64 SubNum = 4; // uint64 提单子单号(wrholdlb的SubNum字段),卖的时候填写
	optional uint64 WRFactorTypeId = 5; // uint64 仓单要素ID(wrholdlb的WRFactorTypeId字段),卖的时候填写
	required uint32 UserID = 6; // uint32 用户ID
	required uint64 AccountID = 7; // uint64 资金账号
	optional uint32 IsSpecified = 8; // uint32 是否指定对手
	repeated uint64 MatchAccIDs = 9; // uint64 仓单贸易对手用户ID集合(指定对手时填写)
	required uint64 OrderQty = 10; // uint64 委托数量(可挂部分数据量)
	required uint32 DeliveryGoodsID = 11; // uint32 交割商品商品ID
	optional uint32 WRPriceType = 12; // uint32 价格方式
	optional double FixedPrice = 13; // double 固定价格
	repeated WRGoodsInfo WRTradeGoods = 14; // WRGoodsInfo 仓单贸易商品配置集合(浮动价时填写)
	optional double PriceFactor = 15; // double 价格系数(浮动价时填写)    -   [挂牌]
	optional double PriceMove = 16; // double 升贴水(浮动价时填写)
	optional uint32 TimevalidType = 17; // uint32 时间有效类型
	optional string ValidTime = 18; // string 有效期限
	optional double FirstRatio = 19; // double 首付比例
	optional int64 PerformanceTemplateID = 20; // int64 履约计划模板ID
	optional uint32 OrderSrc = 21; // uint32 委托来源
	optional string ClientSerialNo = 22; // string 客户端流水号
	optional string ClientOrderTime = 23; // string 客户端委托时间
	optional uint32 ClientType = 24; // uint32 终端类型
	optional uint64 OperatorID = 25; // uint64 操作员账号ID
	optional uint32 BuyOrSell = 26; // uint32 买卖方向
	optional uint32 PriceDisplayMode = 27; // uint32 浮动价显示方式
	optional uint32 CanBargain = 28; // uint32 挂牌是否可议价0:不可1:可-摘牌是否议价
	optional string Attachment1 = 29; // string 附件1
	optional string Attachment2 = 30; // string 附件2
	optional string Remark = 31; // string 备注
	optional uint64 ApplyID = 32; // uint64 申请ID
	optional uint32 CanPart = 33; // uint32 是否允许部份摘牌0:不允许;1:允许
	repeated string MatchAccIDsString = 34; // string 仓单贸易对手用户ID集合(指定对手时填写)
	optional string DeliveryMonth = 35; // string 交收月
	optional uint32 HasWr = 36; // uint32 是否有仓单-0:没有仓单 1:有仓单
	optional uint32 WRStandardID = 37; // uint32 现货品种ID
	repeated DGFactoryItems FactoryItems = 38; // DGFactoryItems 要素类型明细集合(没有仓单要素ID填写)
	optional uint64 DelistMinQty = 39; // uint64 起摘数量
	optional uint32 MarginFlag = 40; // uint32 挂牌是否指定保证金 0:否 1:是
	optional uint32 MarginAlgorithm = 41; // uint32 指定保证金方式 1:比率 2:固定
	optional double MarginValue = 42; // double 指定保证金设置值
	optional uint32 AllFriendsFlag = 43; // uint32 是否全好友可见 0：否 1:是
}
// 持仓单挂牌应答 0 22 16
message HdWROrderRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint32 UserID = 4; // uint32 用户ID
	optional uint64 AccountID = 5; // uint64 资金账号
	optional uint64 WRTradeOrderID = 6; // uint64 仓单贸易委托单ID
	optional uint64 FreezeQty = 7; // uint64 冻结数量
	optional string OrderTime = 8; // string 接收委托交易的时间
	optional string ClientSerialNo = 9; // string 客户端流水号
}
// 持仓单摘牌请求 0 22 17
message HdWRDealOrderReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint32 UserID = 2; // uint32 用户ID
	optional uint64 AccountID = 3; // uint64 资金账号
	optional uint64 RelatedWRTradeOrderID = 4; // uint64 关联委托单号(摘牌委托关联挂牌委托单ID)
	optional uint32 WRTransferUserID = 5; // uint32 仓单受让用户
	optional uint64 OrderQty = 6; // uint64 委托数量
	optional uint32 OrderSrc = 7; // uint32 委托来源
	optional string ClientSerialNo = 8; // string 客户端流水号
	optional string ClientOrderTime = 9; // string 客户端委托时间
	optional uint32 ClientType = 10; // uint32 终端类型
	optional uint64 OperatorID = 11; // uint64 操作员账号ID
	optional uint32 BuyOrSell = 12; // uint32 买卖方向
	optional uint64 ApplyID = 13; // uint64 申请ID
	optional uint64 LadingBillId = 14; // uint64 提单id(wrholdlb的LadingBillId字段),卖的时候填写
	optional uint64 SubNum = 15; // uint64 提单子单号(wrholdlb的SubNum字段),卖的时候填写
	optional uint64 WRFactorTypeId = 16; // uint64 仓单要素ID(wrholdlb的WRFactorTypeId字段),卖的时候填写
	optional string TradeDate = 17; // string 交易日
	optional string DeliveryMonth = 18; // string 交收月
	optional uint32 HasWr = 19; // uint32 是否有仓单-0:没有仓单 1:有仓单
	optional uint32 IsFinancing = 20; // uint32 是否融资购买(买摘牌时有效)-0:否 1:是
    optional uint64 ProductDetailID = 21; // uint64 金融机构产品组合ID(融资购买时有效)
}
// 持仓单摘牌应答 0 22 18
message HdWRDealOrderRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint32 UserID = 4; // uint32 用户ID
	optional uint64 AccountID = 5; // uint64 资金账号
	optional uint64 WRTradeOrderID = 6; // uint64 仓单贸易委托单ID
	optional uint64 RelatedWRTradeOrderID = 7; // uint64 关联委托单号(摘牌委托关联挂牌委托单ID)
	optional double FreezeAmount = 8; // double 冻结货款
	optional string OrderTime = 9; // string 接收委托交易的时间
	optional string ClientSerialNo = 10; // string 客户端流水号
}

message WRGoodsInfo {
	optional uint32 GoodsID = 1; // uint32 配置商品ID
	optional string GoodsCode = 2; // string 配置商品代码
	optional double PriceFactor = 3; // double 商品价格系数
	optional double PriceMove = 4; // double 商品升贴水值
	optional double WeightRatio = 5; // double 商品重量系数
}

message DGFactoryItems {
	optional uint64 DGFactoryItemTypeID = 1; // uint64 要素项类型ID
	optional uint64 DGFactoryItemID = 2; // uint64 预约要素项类型值
	optional uint32 ItemTypeMode = 3; // uint32 要素项类型模式
}


// 仓单出库申请 0 29 113
message WROutApplyReq {
 optional MessageHead Header = 1; // MessageHead
 optional uint64 ClientSerialID = 2; // uint64 客户端唯一ID
 optional uint64 WRStandardID = 3; // uint64 仓单标准ID
 optional uint64 WarehouseID = 4; // uint64 仓库ID
 optional uint64 UserID = 5; // uint64 申请人ID
 optional uint64 AccountID = 6; // uint64 申请人账户ID
 optional string Mobile = 7; // string 申请人手机号
 optional string AppointmentDate = 8; // string 预约出库时间（格式：20200101）
 optional uint32 AppointmentModel = 9; // uint32 预约方式:1-物流,2-自送，3-自提
  optional uint64 CountryID = 10; // uint64 国家
  optional uint64 ProvinceID = 11; // uint64 省
  optional uint64 DistrictID = 12; // uint64 区
  optional uint64 CityID = 13; // uint64 市
  optional string Address = 14; // string 详细地址
  optional string ContactName = 15; // string 收货人提货人
  optional string ContactNum = 16; // string 收货人提货人手机
  optional string AppointmentRemark = 17; // string 预约备注
 optional uint64 CreatorID = 18; // uint64 创建人ID
 repeated WROutInDetail WROutInDetails = 19; // WROutInDetail 仓单出库提单明细数据
}
// 仓单出库申请响应 0 29 114
message WROutApplyRsp {
 optional MessageHead Header = 1; // MessageHead 消息头
 optional int32 RetCode = 2; // int32 返回码
 optional string RetDesc = 3; // string 描述信息
 optional uint64 ClientSerialID = 4; // uint64 客户端唯一ID
}

// 仓单出库提单明细数据 0 29 112
message WROutInDetail {
  optional string LadingBillID = 1; // string 提单ID
  optional uint64 SubNum = 2; // uint64 提单子单号
  optional uint64 Qty = 3; // uint64 子提单总数量
  optional uint64 OutQty = 4; // uint64 预约数量
}

// 挂牌撤单请求 0 22 4
message WRListingCancelOrderReq {
 optional MessageHead Header = 1; // MessageHead
 optional uint32 UserID = 2; // uint32 用户ID
 optional uint64 AccountID = 3; // uint64 资金账号
 optional uint64 OldWRTradeOrderID = 4; // uint64 目标仓单贸易委托单ID
 optional uint32 OrderSrc = 5; // uint32 委托来源
 optional string ClientSerialNo = 6; // string 客户端流水号
 optional string ClientOrderTime = 7; // string 客户端委托时间
 optional uint32 ClientType = 8; // uint32 终端类型
 optional uint64 OperatorID = 9; // uint64 操作员账号ID
 optional uint32 BuyOrSell = 10; // uint32 买卖方向
 optional uint64 WRID = 11; // uint64 仓单ID,卖的时候填写
}
// 挂牌撤单应答 0 22 5
message WRListingCancelOrderRsp {
 optional MessageHead Header = 1; // MessageHead 消息头
 optional int32 RetCode = 2; // int32 返回码
 optional string RetDesc = 3; // string 描述信息
 optional uint64 WRTradeCancelID = 4; // uint64 仓单贸易撤单号
 optional uint64 OldWRTradeOrderID = 5; // uint64 目标仓单贸易委托单ID
 optional uint32 UserID = 6; // uint32 用户ID
 optional uint64 AccountID = 7; // uint64 资金账号
 optional uint64 CancelQty = 8; // uint64 撤单数量
 optional string OrderTime = 9; // string 接受撤单的时间
 optional string ClientSerialNo = 10; // string 客户端流水号
}
// 违约申请请求 0 20 9
message PerformanceContractedApplyReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 PerformancePlanID = 2; // uint64 履约计划ID
	optional uint32 BreachType = 3; // uint32 违约方类型
	optional uint64 Applicant = 4; // uint64 违约申请人
	optional string ApplyRemark = 5; // string 申请备注
	optional string Attachment = 6; // string 附件
}
// 违约申请应答 0 20 10
message PerformanceContractedApplyRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 PerformancePlanID = 4; // uint64 履约计划ID
}
// 延期申请请求 0 20 5
message PerformanceDelayApplyReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 PerformancePlanStepID = 2; // uint64 履约计划步骤ID
	optional uint32 delaydays = 3; // uint32 申请延期天数
	optional uint64 applicant = 4; // uint64 申请人
	optional string applyremark = 5; // string 申请备注
}
// 延期申请应答 0 20 6
message PerformanceDelayApplyRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 PerformancePlanStepID = 4; // uint64 履约计划步骤ID
	optional uint64 applicant = 5; // uint64 申请人
}
// 履约手动确认请求 0 20 3
message PerformanceManualConfirmReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 PerformancePlanStepID = 2; // uint64 履约计划步骤ID
	optional double OverShortAmount = 3; // double 溢短金额
	optional uint32 PerformanceExecuteSide = 4; // uint32 履约步骤执行方 1买方 2 卖方
	optional string StepRemark = 5; // string 步骤备注
	optional double OverShortQty = 6; // double 溢短数量
	optional double ExpressFee = 7; // double 运费金额
}
// 履约手动确认应答 0 20 4
message PerformanceManualConfirmRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 PerformancePlanStepID = 4; // uint64 履约计划步骤ID
}

// 履约修改联络信息请求 0 20 15
message PerformanceModifyContactReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 PerformancePlanID = 2; // uint64 履约计划ID
	optional uint64 AccountID = 3; // uint64 账号
	optional string ContactInfo = 4; // string 联络信息
}
// 履约修改联络信息回应 0 20 16
message PerformanceModifyContactRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 PerformancePlanID = 4; // uint64 履约计划ID
	optional uint64 AccountID = 5; // uint64 账号
}


// 仓单回购请求 0 23 7
message WarehouseRepurchaseReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 ExtBusinessID = 2; // uint64 外部业务流水号
	optional uint64 SCFContractID = 3; // uint64 SCF合同ID
	optional int32 SCFContractType = 4; // int32 合同类型
	optional uint64 WRPositionQty = 5; // uint64 仓单头寸数量
}
// 仓单回购应答 0 23 8
message WarehouseRepurchaseRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 SCFContractID = 4; // uint64 SCF合同ID
	optional uint64 SCFTicketID = 5; // uint64 供应链金融流水ID
	optional uint64 ExtBusinessID = 6; // uint64 外部业务流水号
	optional int32 Status = 7; // int32 状态
}

// 支付欠款请求 0 23 9
message PaymentArrearsReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 ExtBusinessID = 2; // uint64 外部业务流水号
	optional uint64 SCFContractID = 3; // uint64 SCF合同ID
	optional int32 SCFContractType = 4; // int32 合同类型
}
// 支付欠款应答 0 23 10
message PaymentArrearsRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 SCFContractID = 4; // uint64 SCF合同ID
	optional uint64 SCFTicketID = 5; // uint64 供应链金融流水ID
	optional uint64 ExtBusinessID = 6; // uint64 外部业务流水号
	optional int32 Status = 7; // int32 状态
}
// 融资申请撤单请求 0 22 22
message WRTradeFinanceBuyCancelReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 AccountID = 2; // uint64 资金账号
	optional uint64 FinanceApplyID = 3; // uint64 融资申请单ID
	optional string ClientSerialNo = 4; // string 客户端流水号
}
// 融资申请撤单应答 0 22 23
message WRTradeFinanceBuyCancelRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 FinanceApplyID = 4; // uint64 融资申请单ID
	optional string ClientSerialNo = 5; // string 客户端流水号
}
// 履约激活请求 0 20 21
message PerformanceActivateReq {
 optional MessageHead Header = 1; // MessageHead
 optional uint64 PerformancePlanID = 2; // uint64 履约计划ID
 optional uint64 ApplyAccountID = 3; // uint64 发起方账号ID
}
// 履约激活应答 0 20 22
message PerformanceActivateRsp {
 optional MessageHead Header = 1; // MessageHead 消息头
 optional int32 RetCode = 2; // int32 返回码
 optional string RetDesc = 3; // string 描述信息
 optional uint64 PerformancePlanID = 4; // uint64 履约计划ID
}
// 仓单出入库注销请求 0 29 110
message WROutApplyCancelReq {
 optional MessageHead Header = 1; // MessageHead
 optional uint64 ClientSerialID = 2; // uint64 客户端唯一ID
 optional string ApplyID = 3; // string 申请ID
 optional uint32 Type = 4; // uint32 类型：1-入库预约注销，2-入库注册注销，3-出库预约注销,4-出库注销注销
}
// 仓单出入库注销响应 0 29 111
message WROutApplyCancelRsp {
 optional MessageHead Header = 1; // MessageHead 消息头
 optional int32 RetCode = 2; // int32 返回码
 optional string RetDesc = 3; // string 描述信息
 optional uint64 ClientSerialID = 4; // uint64 客户端唯一ID
}
// 仓单出库确认请求 0 29 195
message WROutConfirmReq {
 optional MessageHead Header = 1; // MessageHead
 optional uint64 applyid = 2; // uint64 申请Id
  optional uint32 operatesrc = 3; // uint32 操作来源 - 1:管理端 2:终端
  optional uint64 operateid = 4; // uint64 操作人
}
// 仓单出库确认响应 0 29 196
message WROutConfirmRsp {
 optional MessageHead Header = 1; // MessageHead 消息头
 optional int32 RetCode = 2; // int32 返回码
 optional string RetDesc = 3; // string 描述信息
  optional uint64 applyid = 4; // uint64 协议ID
}

// 仓单出库撤回请求 0 29 199
message WROutCancelReq {
 optional MessageHead Header = 1; // MessageHead
 optional uint64 applyid = 2; // uint64 申请Id
  optional uint32 operatesrc = 3; // uint32 操作来源 - 1:管理端 2:终端
  optional uint64 operateid = 4; // uint64 操作人
}
// 仓单出库撤回响应 0 29 200
message WROutCancelRsp {
 optional MessageHead Header = 1; // MessageHead 消息头
 optional int32 RetCode = 2; // int32 返回码
 optional string RetDesc = 3; // string 描述信息
  optional uint64 applyid = 4; // uint64 申请Id
}

// 交割申报请求 0 6 1
message DeliveryOrderReq {
        optional MessageHead Header = 1; // MessageHead
        optional string ClientSerialNo = 2; // string 客户端流水号
        optional string ClientOrderTime = 3; // string 客户端委托时间
        optional uint32 ClientType = 4; // uint32 终端类型
        optional uint64 AccountID = 5; // uint64 交易账号
        optional uint32 XGoodsID = 6; // uint32 主商品ID（交割合约）
        optional uint32 PGoodsID = 7; // uint32 辅助商品ID（辅助合约）
        optional uint32 P2GoodsID = 8; // uint32 辅助商品ID（辅助合约2）
        optional uint32 DeliveryGoodsID = 9; // uint32 交割商品ID
        optional uint64 XQty = 10; // uint64 交割合约数量
        optional uint64 PQty = 11; // uint64 辅助合约数量
        optional uint64 P2Qty = 12; // uint64 辅助合约2数量
        optional uint64 DeliveryQty = 13; // uint64 交割商品仓单数量
        optional uint32 OperateType = 14; // uint32 操作类型:
        optional uint32 OrderSrc = 15; // uint32 单据来源
        optional uint32 OperatorID = 16; // uint32 操作员账号ID
        optional DeliveryOrderDetail DeliveryOrderDetail = 17; // DeliveryOrderDetail 关联仓单头寸
        optional uint32 TakeMode = 18; // uint32 提货方式
        optional string ReceiverAddress = 19; // string 提货地址
}
// 交割申报应答 0 6 2
message DeliveryOrderRsp {
        optional MessageHead Header = 1; // MessageHead 消息头
        optional int32 RetCode = 2; // int32 返回码
        optional string RetDesc = 3; // string 描述信息
        optional string ClientSerialNo = 4; // string 客户端流水号
        repeated DeliveryOrderDetail DeliveryOrderDetails = 5; // DeliveryOrderDetail 一级生成的订单号
        optional string OrderTime = 6; // string 接收委托交易的时间
}

// 交割申报单明细 0 6 4
message DeliveryOrderDetail {
     optional uint64 AccountID = 1; // uint64 对手方账号
     optional uint64 Qty = 2; // uint64 点选数量
     optional uint32 BrandID = 3; // uint32 品牌
     optional uint32 QualityID = 4; // uint32 品质
     optional uint32 StandardID = 5; // uint32 规格
     optional uint32 WarehouseID = 6; // uint32 仓库
     optional uint32 DeliveryMonthID = 7; // uint32 月份
     optional string ReceiverAddress = 8; // string 提货地址
     optional uint32 TakeMode = 9; // uint32 提货方式
     optional uint64 LadingBillID = 10; // uint64 提单ID
     optional uint64 SubNum = 11; // uint64 提单子单号
     optional uint64 WRFactorTypeID = 12; // uint64 仓单要素类型ID
}

// 议价申请审核请求 0 29 59
message WrBargainNoAgreeReq {
 optional MessageHead Header = 1; // MessageHead
 optional uint64 WrBargainID = 2; // uint64 申请ID
 optional uint64 ConfirmQty = 3; // uint64 可接受数量(拒绝时填写)
 optional double ConfirmPrice = 4; // double 可接受价格(拒绝时填写)
 optional string ConfirmRemark = 5; // string 确认备注
 optional uint32 Status = 6; // uint32 状态 1 确认 2 拒绝
}
// 议价申请审核响应 0 29 60
message WrBargainNoAgreeRsp {
 optional MessageHead Header = 1; // MessageHead 消息头
 optional int32 RetCode = 2; // int32 返回码
 optional string RetDesc = 3; // string 描述信息
}

// 议价申请请求 0 29 55
message WrBargainApplyReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 WRTradeOrderID = 2; // uint64 关联委托单ID
	optional string UserID = 3; // string 摘牌人用户ID
	optional string AccountID = 4; // string 摘牌资金账号
	optional string BuyOrSell = 5; // string 摘牌方向
	optional uint64 ApplyQty = 6; // uint64 摘牌数量
	optional string ApplyPrice = 7; // string 申请价格
	optional string ApplyRemark = 8; // string 申请备注
}
// 议价申请响应 0 29 56
message WrBargainApplyRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 WrBargainID = 4; // uint64 申请ID
}
// 议价申请撤回请求 0 29 57
message WrBargainBackReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 WrBargainID = 2; // uint64 申请ID
}
// 议价申请撤回请求响应 0 29 58
message WrBargainBackRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
}

// 好友操作请求 0 29 197
message FriendOperateReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint32 operatetype = 2; // uint32 操作类型-1:申请 2:审核通过 3：审核拒绝 4: 删除
		optional uint64 friendapplyid = 3; // uint64 申请ID
		optional uint64 userid = 4; // uint64 申请人用户ID
		optional uint64 frienduserid = 5; // uint64 好友用户ID
		optional uint32 applysrc = 6; // uint32 申请来源 - 1:管理端 2:终端
		optional uint64 applicantid = 7; // uint64 申请人登录ID
		optional string remark = 8; // string 备注
		optional uint64 auditorid = 9; // uint64 审核人用户ID
		optional uint32 auditsrc = 10; // uint32 审核来源 - 1:管理端 2:终端
		optional string auditremark = 11; // string 审核备注
}
// 好友操作响应 0 29 198
message FriendOperateRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
		optional uint64 friendapplyid = 4; // uint64 申请ID
}

// 删除模板信息操作请求 0 29 204
message DelPerformancePlanTemplateReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 autoid = 2; // uint64 履约计划模板主键
}
// 删除模板信息操作响应 0 29 205
message DelPerformancePlanTemplateRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 autoid = 4; // uint64 履约计划模板主键
}
// 履约步骤模板信息 0 29 201
message EPerformanceStepTemplateInfo {
	optional uint32 steptypeid = 1; // uint32 履约计划模板ID
	optional uint32 stepindex = 2; // uint32 步骤序号
	optional double stepvalue = 3; // double 步骤值
	optional uint32 isauto = 4; // uint32 是否自动是否自动 - 0:不自动 1:自动
	optional string remark = 5; // string 备注
	optional uint32 stepdays = 6; // uint32 距离上一步天数
}
// 模板信息操作请求 0 29 202
message PerformancePlanTemplateReq {
	optional MessageHead Header = 1; // MessageHead
	optional uint64 autoid = 2; // uint64 履约计划模板主键不为0且不为空修改否则新增
	optional string templatename = 3; // string 模板名称
	optional uint32 takemode = 4; // uint32 提货方式
	optional uint32 type = 5; // uint32 模板类型
	repeated EPerformanceStepTemplateInfo performancesteps = 6; // EPerformanceStepTemplateInfo 履约步骤
	optional uint64 userid = 7; // uint64 所属用户
	optional uint64 paymenttype = 8; // uint64 支付方式
	optional uint64 creatorid = 9; // uint64 操作人
}
// 模板信息操作响应 0 29 203
message PerformancePlanTemplateRsp {
	optional MessageHead Header = 1; // MessageHead 消息头
	optional int32 RetCode = 2; // int32 返回码
	optional string RetDesc = 3; // string 描述信息
	optional uint64 autoid = 4; // uint64 履约计划模板主键
}
// 按单平仓请求 0 3 105
message HolderCloseReq {
        optional MessageHead Header = 1; // MessageHead
        optional uint64 TradeID = 2; // uint64 持仓单号
        optional string ClientSerialNo = 3; // string 客户端流水号
        optional string ClientOrderTime = 4; // string 客户端委托时间
        optional uint32 ClientType = 5; // uint32 终端类型
        optional uint64 LoginID = 6; // uint64 登陆账号
        optional uint64 AccountID = 7; // uint64 交易账号
        optional uint32 GoodsID = 8; // uint32 商品ID
        optional uint32 BuyOrSell = 9; // uint32 买卖方向
        optional uint32 MarketID = 10; // uint32 市场ID
        optional uint32 OrderSrc = 11; // uint32 单据来源
        optional uint64 OperatorID = 12; // uint64 操作员账号ID
}
// 按单平仓应答 0 3 106
message HolderCloseRsp {
        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 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 商品ID
	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:套利 4:套期保值 5:单边 6:移仓 7:错单处理 8:跨期套利
	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 平今仓数量
	optional uint64 SpotContractID = 25; // uint64 现货合同ID - 为4：套期保值时填写
	optional uint64 SaleUserID = 26; // uint64 业务员ID
	optional uint64 BizSubjectID = 27; // uint64 归属业务部门ID
}

// 交易委托应答 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 GZWRStandardExInfo {
	optional uint32 ZSCategory = 1; // 钻石分类,必填
		optional uint32 ZSCurrencyType = 2; // 货币类型,必填
		optional string GoodsNo = 3; // 商品编号,必填
		optional uint64 WarehouseID = 4; // 仓库ID,必填
		optional double MarketPrice = 5; // 市场价，两位小数
		optional string ImagePath = 6; // 商品照片
		optional string WRPath = 7; // 仓单扫描件
		optional string Remark = 8; // 备注
		optional double Price = 9; // 总价(价格)，两位小数
		optional double Weight = 10; // 总重量(克拉重量)，两位小数
		optional double WeightAvg = 11; // 平均单颗重量
		repeated uint32 ZSShapeType = 12; // 形状,1个或多个形状
		optional uint32 ZSColorType1 = 13; // 颜色1
		optional uint32 ZSColorType2 = 14; // 颜色2
		optional uint32 ZSClarityType1 = 15; // 净度1
		optional uint32 ZSClarityType2 = 16; // 净度2
		optional uint32 ZSCutType1 = 17; // 切工1
		optional uint32 ZSCutType2 = 18; // 切工2
		optional uint32 ZSSymmetryType1 = 19; // 对称度1
		optional uint32 ZSSymmetryType2 = 20; // 对称度2
		optional uint32 ZSPolishType1 = 21; // 抛光度1
		optional uint32 ZSPolishType2 = 22; // 抛光度2
		optional uint32 ZSFluorescenceType1 = 23; // 荧光1
		optional uint32 ZSFluorescenceType2 = 24; // 荧光2
		optional double Size1 = 25; // 尺寸1
		optional double Size2 = 26; // 尺寸2
		optional double Size3 = 27; // 尺寸3
		optional uint32 ZSCertType = 28; // 证书类型
		optional string CerNo = 29; // 证书编号
		repeated uint32 ZSCrystalType = 30; // 晶型范围
		optional string CPCertNo = 31; // 金伯利证书编号
		optional string Origin = 32; // 原产地
		optional string KPWeight = 33; // 金伯利证书重量
		optional string KPPath = 34; // 金伯利证书图片
		optional uint32 ZSStyleType = 35; // 款式
		optional string StoneDesc = 36; // 配石描述
		optional string SettingMaterial = 37; // 镶嵌材料
		optional uint32 ZSCZColor1Type = 38; // 彩钻颜色1
		optional uint32 ZSCZColor2Type = 39; // 彩钻颜色2
		optional uint32 ZSCZColor3Type = 40; // 彩钻颜色3
}

// 新增钻石商品接口请求
message AddZSGoodsReq {
	optional MessageHead Header = 1;
	optional uint64 UserID = 2; // 用户ID，必填
	optional uint64 AccountID = 3; // 资金账户ID
	optional GZWRStandardExInfo GZ_WRStandardExInfo = 4; // 钻石属性，对象中前4个字段必填
	optional uint32 AddType = 5; // 类型1：新增商品2：新增并上架，必填
	optional int32 PerformanceTemplateID = 6; // 履约模板ID,如果AddType=2时必填
	optional uint64 MarketID = 7; // 市场ID必填
	optional string ClientSerialNo = 8; // 客户端流水号
}

// 新增钻石商品接口响应
message AddZSGoodsRsp {
	optional MessageHead Header = 1; // 消息头
	optional int32 RetCode = 2; // 返回码
	optional string RetDesc = 3; // 描述信息
		optional uint64 UserID = 4; // 用户ID
		optional uint64 AccountID = 5; // 资金账户ID
		optional uint64 WRStandardID = 6; // 现货商品ID
		optional uint64 WRFactorTypeID = 7; // 仓单要素类型ID
		optional uint64 LadingBillID = 8; // 提单ID
		optional uint32 SubNum = 9; // 提单子单号
		optional string ClientSerialNo = 10; // 客户端流水号
}