bilibili-backup/app/service/openplatform/ticket-item/api/grpc/v1/seat.proto
2019-04-22 02:59:20 +00:00

96 lines
3.6 KiB
Protocol Buffer

syntax = "proto3";
package ticket.service.item.v1;
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
option (gogoproto.goproto_enum_prefix_all) = false;
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.unmarshaler_all) = true;
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option go_package = "v1";
// The seat service definition.
service Seat {
rpc SeatInfo (SeatInfoRequest) returns (SeatInfoReply) {}
rpc SeatStock (SeatStockRequest) returns (SeatStockReply) {}
rpc RemoveSeatOrders (RemoveSeatOrdersRequest) returns (RemoveSeatOrdersReply) {}
}
// 单个座位信息
message AreaSeatInfo {
// 座位图x
int32 X = 1 [(gogoproto.jsontag) = "x", (gogoproto.moretags) = "validate:\"min=0\""];
// 座位图y
int32 Y = 2 [(gogoproto.jsontag) = "y", (gogoproto.moretags) = "validate:\"min=0\""];
// 座位号
string Label = 3 [(gogoproto.jsontag) = "label", (gogoproto.moretags) = "validate:\"min=1\""];
// 背景色
string Bgcolor = 4 [(gogoproto.jsontag) = "bgcolor", (gogoproto.moretags) = "validate:\"min=1\""];
// 区域ID
int64 Area = 5 [(gogoproto.jsontag) = "area", (gogoproto.moretags) = "validate:\"min=1\""];
}
// seatInfo接口请求
message SeatInfoRequest {
// 区域ID
int64 Area = 1 [(gogoproto.jsontag) = "area", (gogoproto.moretags) = "validate:\"min=1\""];
// 座位数
int32 SeatsNum = 2 [(gogoproto.jsontag) = "seats_num", (gogoproto.moretags) = "validate:\"min=1\""];
// 座位图
string SeatMap = 3 [(gogoproto.jsontag) = "seat_map", (gogoproto.moretags) = "validate:\"min=1\""];
// 座位数组
repeated AreaSeatInfo Seats = 4 [(gogoproto.jsontag) = "seats", (gogoproto.moretags) = "validate:\"min=1\""];
// 坐区宽度
int32 Width = 5 [(gogoproto.jsontag) = "width", (gogoproto.moretags) = "validate:\"min=1\""];
// 坐区高度
int32 Height = 6 [(gogoproto.jsontag) = "height", (gogoproto.moretags) = "validate:\"min=1\""];
// 行号序列
string RowList = 7 [(gogoproto.jsontag) = "row_list", (gogoproto.moretags) = "validate:\"min=1\""];
// 座位起始坐标
string SeatStart = 8 [(gogoproto.jsontag) = "seat_start", (gogoproto.moretags) = "validate:\"min=1\""];
}
// seatInfo接口返回
message SeatInfoReply {
// 操作结果
bool Success = 1 [(gogoproto.jsontag) = "success"];
}
// 座位票种
message SeatPrice {
// 座位图x
int32 X = 1 [(gogoproto.jsontag) = "x", (gogoproto.moretags) = "validate:\"min=0\""];
// 座位图y
int32 Y = 2 [(gogoproto.jsontag) = "y", (gogoproto.moretags) = "validate:\"min=0\""];
// 票种ID
int64 Price = 3 [(gogoproto.jsontag) = "price", (gogoproto.moretags) = "validate:\"min=1\""];
}
// seatStock接口请求
message SeatStockRequest {
// 场次ID
int64 Screen = 1 [(gogoproto.jsontag) = "screen", (gogoproto.moretags) = "validate:\"min=1\""];
// 区域ID
int64 Area = 2 [(gogoproto.jsontag) = "area", (gogoproto.moretags) = "validate:\"min=1\""];
// 座位票种定义数组
repeated SeatPrice SeatInfo = 3 [(gogoproto.jsontag) = "seatInfo", (gogoproto.moretags) = "validate:\"min=1\""];
}
// seatStock接口返回
message SeatStockReply {
// 操作结果
bool Success = 1 [(gogoproto.jsontag) = "success"];
}
// removeSeatOrders接口请求
message RemoveSeatOrdersRequest {
// 票价ID
int64 Price = 1 [(gogoproto.jsontag) = "price", (gogoproto.moretags) = "validate:\"min=1\""];
}
// removeSeatOrders接口返回
message RemoveSeatOrdersReply {
// 影响的区域
repeated int64 Areas = 1 [(gogoproto.jsontag) = "areas"];
}