syntax = "proto3";

package matchmaking.v1;

import "google/api/annotations.proto";

option go_package = "matchmaking-system/api/matchmaking/v1;v1";

service ShareEur {
  // GetBotStockEurTrade 德国股列表查询
  rpc GetBotStockEurTrade(GetEurBotStockTradeRequest)returns(GetBotStockEurTradeReply){
    option (google.api.http) = {
      post:"/order_shareeur/share_list",
      body:"*",
    };
  }
  // ShareEurPlaceOrder 德国股下单
  rpc ShareEurPlaceOrder(ShareEurOrderRequest)returns(EurOrderReply) {
    option (google.api.http) = {
      post: "/order_shareeur/share_place_order",
      body: "*",
    };
  }
  // ShareEurUpdateOrder 德国股设置止盈止损
  rpc ShareEurUpdateOrder(UpdateEurOrderRequest)returns(EurOrderReply){
    option (google.api.http) = {
      post:"/order_shareeur/share_update_order",
      body:"*",
    };
  }
  // ShareEurPosition 德国股平仓
  rpc ShareEurPosition(CancelEurOrderRequest)returns(EurOrderReply){
    option (google.api.http) = {
      post:"/order_shareeur/share_position",
      body:"*",
    };
  }
  // ShareEurAllPosition 德国股一键平仓
  rpc ShareEurAllPosition(AllEurOrderRequest)returns(AllEurOrderReply){
    option (google.api.http) = {
      post:"/order_shareeur/share_all_position",
      body:"*",
    };
  }
  // ShareEurCancel 德国股撤单
  rpc ShareEurCancel(CancelEurOrderRequest)returns(EurOrderReply){
    option (google.api.http) = {
      post:"/order_shareeur/share_cancel",
      body:"*",
    };
  }
}

message GetEurBotStockTradeRequest{
  int64 status =1;// 状态码
  int64 pageSize =2; // 每页显示条数
  int64 pageCount =3;// 开始的位置
}

message GetBotStockEurTradeReply{
  int64 code =1;// 状态码
  BotStockEurTradeReply data =2;// 返回结果
  string message =3;// 返回消息提示
}

message BotStockEurTradeReply{
  int64 pageSize =1; // 每页显示条数
  int64 pageCount =2;// 开始的位置
  repeated BotStockEurTrade data =3;// 返回结果
  int64 totalCount =4;// 总数据
}

message BotStockEurTrade{
  string orderId =1;// 订单ID
  string stockId =2;// 股票代码
  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 marketMoney =14;// 订单金额
  string orderMoney =15;// 订单总金额
  int64 status =16;// 订单状态
  string createTime =17;// 订单创建时间
  string updateTime =18;// 订单更新时间
  string openTime =19;// 订单开仓时间
  string closingTime =20;// 订单平仓时间
  string closingCost =21;// 平仓手续费
  string faceValue =22;// 面值
  string pryNum =23;// 杠杆
  string keepDecimal =24;// 保留小数位
  string stockName =25;// 股票名称
}

message ShareEurOrderRequest{
  string stockId =1;// 股票Code
  int64 tradeType =2;// 交易类型:1买入,2卖出
  int64 dealType =3;// 委托方式:1限价,2市价
  string limitPrice =4;// 限价
  string marketPrice =5;// 市价
  string marketMoney =6;// 订单金额
  string orderNumber =7;// 订单数量
  string serviceCost =8;// 手续费
  int64  stopType =9;// 止损止盈设置:1无设置,2止损止盈
  string stopLossPrice =10;// 止损
  string stopWinPrice =11;// 止损
  string pryNum =12;// 杠杆
}

message UpdateEurOrderRequest{
  string orderId =1;// 订单Id
  int64 stopType =2;// 止盈止损
  string stopLossPrice =3;// 止损
  string stopWinPrice =4;// 止盈
}

message EurOrderReply{
  int64 code =1;// 状态码
  EurOrderResult data =2;// 返回结果
  string message =3;// 返回消息提示
}

message EurOrderResult {
  string orderId =1;// 订单Id
}

message CancelEurOrderRequest{
  string orderId =1;// 订单ID
}

message AllEurOrderRequest{

}
message AllEurOrderReply{
  int64 code =1;// 状态码
  string data =2;// 返回结果
  string message =3;// 返回消息提示
}