You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

151 lines
4.4 KiB

syntax = "proto3";
package matchmaking.v1;
import "google/api/annotations.proto";
import "google/protobuf/timestamp.proto";
option go_package = "matchmaking-system/api/matchmaking/v1;v1";
service Contract {
// GetBotContractTrade 合约列表查询
rpc GetBotContractTrade(GetBotContractTradeRequest)returns(GetBotContractTradeReply){
option (google.api.http) = {
post:"/order_contract/contract_list",
body:"*",
};
}
// ContractPlaceOrder 合约下单
rpc ContractPlaceOrder(ContractRequest)returns(ContractReply){
option (google.api.http) = {
post: "/order_contract/contract_place_order",
body: "*",
};
}
// ContractUpdatePlaceOrder 合约设置止盈止损
rpc ContractUpdatePlaceOrder(UpdateContractRequest)returns(ContractReply){
option (google.api.http) = {
post: "/order_contract/contract_update_order",
body: "*",
};
}
// ContractPosition 合约平仓
rpc ContractPosition(CancelContractRequest)returns(ContractReply){
option (google.api.http) = {
post:"/order_contract/contract_position",
body:"*",
};
}
// ContractAllPosition 合约一键平仓
rpc ContractAllPosition(AllContractRequest)returns(AllContractReply){
option (google.api.http) = {
post:"/order_contract/contract_all_position",
body:"*",
};
}
// ContractCancel 合约撤单
rpc ContractCancel(CancelContractRequest)returns(ContractReply){
option (google.api.http) = {
post:"/order_contract/contract_cancel",
body:"*",
};
}
}
message GetBotContractTradeRequest{
int64 status =1;// 状态码
int64 pageSize =2; // 每页显示条数
int64 pageCount =3;// 开始的位置
int64 state = 4;// 订单类型
}
message GetBotContractTradeReply{
int64 code =1;// 状态码
BotContractTradeData data =2;// 返回结果
string message =3;// 返回消息提示
}
message BotContractTradeData{
int64 pageSize =1; // 每页显示条数
int64 pageCount =2;// 开始的位置
repeated BotContractTrade data =3;// 返回结果
int64 totalCount =4;// 总数据
}
message BotContractTrade{
string orderId =1;// 订单ID
string contractId =2;// 合约ID
int64 tradeType =3;// 交易类型
int64 dealType =4;// 交易方式
string limitPrice =5;// 限价
string marketPrice =6;// 市价
string dealPrice =7;// 开仓价
string closingPrice =8;// 平仓价
string orderNumber =9;// 订单数量
int64 stopType =10;// 止盈止损状态
string stopLossPrice =11;// 止损
string stopWinPrice =12;// 止盈
string serviceCost =13;// 开仓手续费
string earnestMoney =14;// 保证金
string orderMoney =15;// 订单总额
int64 status =16;// 订单状态
google.protobuf.Timestamp createTime =17;// 订单创建时间
google.protobuf.Timestamp updateTime =18;// 订单更新时间
google.protobuf.Timestamp openTime =19;// 订单开仓时间
google.protobuf.Timestamp closingTime =20;// 订单平仓时间
string closingCost =21;// 平仓手续费
string faceValue =22;// 面值
string overnightCost =23;// 过夜手续费
string pryNum =24;// 杠杆值
string keepDecimal =25;// 保留小数位
string secondTime = 26;// 秒合约时间
int64 state = 27;// 订单类型
}
message ContractRequest{
string contractId =1;// 交易对
int64 tradeType =2;// 交易类型:1买入,2卖出
int64 dealType =3;// 委托方式:1限价,2市价
string limitPrice =4;// 限价
string marketPrice =5;// 市价
string orderAmount =6;// 订单金额
string orderNumber =7;// 订单数量
string earnestMoney =8;// 保证金
string serviceCost =9;// 手续费
int64 stopType =10;// 止损止盈设置:0无设置,1止损止盈
string stopLossPrice =11;// 止损
string stopWinPrice =12;// 止盈
string pryNum =13;//杠杆
int64 time = 14;// 秒合约时间
}
message ContractReply{
int64 code =1;// 状态码
ContractResult data =2;// 返回结果
string message =3;// 返回消息提示
}
message ContractResult {
string orderId =1;// 订单Id
}
message UpdateContractRequest{
string orderId =1;// 订单Id
int64 stopType =2;// 止盈止损
string stopLossPrice =3;// 止损
string stopWinPrice =4;// 止盈
}
message CancelContractRequest{
string orderId =1;// 订单ID
}
message AllContractRequest{
}
message AllContractReply{
int64 code =1;// 状态码
string data =2;// 返回结果
string message =3;// 返回消息提示
}