go-common/app/service/live/xroom-feed/api/api.proto

59 lines
2.2 KiB
Protocol Buffer
Raw Normal View History

2019-04-22 10:49:16 +00:00
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'];
}