syntax = "proto2";

package pb;

// 消息头
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 NotifyHead {
		optional int32 NtfMode = 1; // 消息通知模式(单播、组播、广播)
		repeated uint32 ExcludeAcctIDs = 2; // 排除账号集合（首先过滤此集合帐号）
		repeated uint32 ExchIDs = 3; // 目标交易所集合（若匹配所属交易所，推送）
		repeated uint32 MemberIDs = 4; // 目标会员集合（若匹配所属会员，推送）
		repeated uint64 AccountIDs = 5; // 目标账号集合（以上均不匹配时，最后检查此集合）
}

// 铁合金成交通知
message THJPurchaseTradeNtf {
	optional MessageHead Header = 1; // 消息头
		optional uint64 WRTradeDetailID = 2; // uint64 预售成交明细ID
}

// 铁合金协议转让通知
message PurchaseTransferNtf {
	optional MessageHead Header = 1; // 消息头
		optional uint64 TransferID = 2; // uint64 协议转让ID
}

// 仓单贸易成交通知
message WRTradeDealedNtf {
	optional MessageHead Header = 1; // 消息头
		optional NotifyHead NtfHeader = 2; // NotifyHead 公共消息头
		optional uint64 ListingOrderID = 3; // uint64 挂牌委托单号
		optional uint64 DelistingOrderID = 4; // uint64 摘牌委托单号
		optional uint64 TradeQty = 5; // uint64 挂牌成交数量
		optional uint64 ActiveQty = 6; // uint64 挂牌剩余数量
		optional uint64 RealTradeQty = 7; // uint64 摘牌实际成交数量
		optional uint64 TradeID = 8; // uint64 成交单ID
		optional uint64 BuyAccountID = 9; // uint64 买资金账号
		optional uint64 SellAccountID = 10; // uint64 卖资金账号
		optional double TradePrice = 11; // double 成交价
		optional string TradeTime = 12; // string 成交时间
		optional uint64 WRFactorTypeID = 13; // uint64 仓单要素ID
		optional uint32 WRTransferUserID = 14; // uint32 仓单受让账户
		optional double FreezeFirstAmount = 15; // double 冻结首付金额
		optional double UnFreezeFirstAmount = 16; // double 解冻首付金额
		optional double RealTradeAmount = 17; // double 实际成交金额
		optional double PerformanceAmount = 18; // double 履约金额
		optional uint64 PerformancePlanID = 19; // uint64 履约计划ID
		optional int64 PerformanceTemplateID = 20; // int64 履约计划模板ID
}