59 lines
2.2 KiB
Protocol Buffer
59 lines
2.2 KiB
Protocol Buffer
|
syntax = "proto3";
|
|||
|
|
|||
|
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
|
|||
|
|
|||
|
package live.xroomfeed.v1;
|
|||
|
|
|||
|
option go_package = "api";
|
|||
|
|
|||
|
option (gogoproto.goproto_getters_all) = false;
|
|||
|
|
|||
|
service RecPool {
|
|||
|
// 根据模块位置获取投放列表 position=>RoomItem
|
|||
|
rpc GetList (RecPoolReq) returns (RecPoolResp);
|
|||
|
}
|
|||
|
|
|||
|
message RecPoolReq {
|
|||
|
// 投放模块
|
|||
|
int64 module_type = 1 [(gogoproto.moretags)='form:"module_type" validate:"required"'];
|
|||
|
// 投放模块位置数
|
|||
|
int64 position_num = 2 [(gogoproto.moretags)='form:"position_num" validate:"required"'];
|
|||
|
// 投放模块页数 不传或传0、1都按一页算(暂时没用)
|
|||
|
int64 page_num = 3 [(gogoproto.moretags)='form:"page_num"'];
|
|||
|
// 当前模块已存在的位置房间(逗号分隔、有序),1~position*N(内部去重,保证同一个房间优先出现在好位置)
|
|||
|
string module_exist_rooms = 4 [(gogoproto.moretags)='form:"module_exist_rooms"'];
|
|||
|
// 其它模块已存在的位置房间(逗号分隔、有序),1~position*N(内部去重,保证同一个房间优先出现在好位置)
|
|||
|
string other_exist_rooms = 5 [(gogoproto.moretags)='form:"other_exist_rooms"'];
|
|||
|
// 请求来源
|
|||
|
string from = 6 [(gogoproto.moretags)='form:"from"'];
|
|||
|
}
|
|||
|
|
|||
|
message RecPoolResp {
|
|||
|
// 主播position => 房间信息(依赖计算的)
|
|||
|
map<int64, RoomItem> list = 1 [(gogoproto.jsontag) = "list"];
|
|||
|
}
|
|||
|
|
|||
|
message RoomItem {
|
|||
|
//房间id
|
|||
|
int64 room_id = 1 [(gogoproto.jsontag) = 'room_id'];
|
|||
|
//主播uid
|
|||
|
int64 uid = 2 [(gogoproto.jsontag) = 'uid'];
|
|||
|
//房间标题
|
|||
|
string title = 3 [(gogoproto.jsontag) = 'title'];
|
|||
|
//人气
|
|||
|
int64 popularity_count = 4 [(gogoproto.jsontag) = 'popularity_count'];
|
|||
|
//关键帧
|
|||
|
string keyframe = 5 [(gogoproto.jsontag) = 'keyframe'];
|
|||
|
//封面
|
|||
|
string cover = 6 [(gogoproto.jsontag) = 'cover'];
|
|||
|
//二级分区id
|
|||
|
int64 area_id = 7 [(gogoproto.jsontag) = 'area_id'];
|
|||
|
//一级分区id
|
|||
|
int64 parent_area_id = 8 [(gogoproto.jsontag) = 'parent_area_id'];
|
|||
|
//二级分区名称
|
|||
|
string area_name = 9 [(gogoproto.jsontag) = 'area_name'];
|
|||
|
//一级分区名称
|
|||
|
string parent_area_name = 10 [(gogoproto.jsontag) = 'parent_area_name'];
|
|||
|
//推荐规则 10000+rule_id
|
|||
|
int64 rec_type = 11 [(gogoproto.jsontag) = 'rec_type'];
|
|||
|
}
|