api.proto 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. syntax = "proto3";
  2. import "github.com/gogo/protobuf/gogoproto/gogo.proto";
  3. package live.xroomfeed.v1;
  4. option go_package = "api";
  5. option (gogoproto.goproto_getters_all) = false;
  6. service RecPool {
  7. // 根据模块位置获取投放列表 position=>RoomItem
  8. rpc GetList (RecPoolReq) returns (RecPoolResp);
  9. }
  10. message RecPoolReq {
  11. // 投放模块
  12. int64 module_type = 1 [(gogoproto.moretags)='form:"module_type" validate:"required"'];
  13. // 投放模块位置数
  14. int64 position_num = 2 [(gogoproto.moretags)='form:"position_num" validate:"required"'];
  15. // 投放模块页数 不传或传0、1都按一页算(暂时没用)
  16. int64 page_num = 3 [(gogoproto.moretags)='form:"page_num"'];
  17. // 当前模块已存在的位置房间(逗号分隔、有序),1~position*N(内部去重,保证同一个房间优先出现在好位置)
  18. string module_exist_rooms = 4 [(gogoproto.moretags)='form:"module_exist_rooms"'];
  19. // 其它模块已存在的位置房间(逗号分隔、有序),1~position*N(内部去重,保证同一个房间优先出现在好位置)
  20. string other_exist_rooms = 5 [(gogoproto.moretags)='form:"other_exist_rooms"'];
  21. // 请求来源
  22. string from = 6 [(gogoproto.moretags)='form:"from"'];
  23. }
  24. message RecPoolResp {
  25. // 主播position => 房间信息(依赖计算的)
  26. map<int64, RoomItem> list = 1 [(gogoproto.jsontag) = "list"];
  27. }
  28. message RoomItem {
  29. //房间id
  30. int64 room_id = 1 [(gogoproto.jsontag) = 'room_id'];
  31. //主播uid
  32. int64 uid = 2 [(gogoproto.jsontag) = 'uid'];
  33. //房间标题
  34. string title = 3 [(gogoproto.jsontag) = 'title'];
  35. //人气
  36. int64 popularity_count = 4 [(gogoproto.jsontag) = 'popularity_count'];
  37. //关键帧
  38. string keyframe = 5 [(gogoproto.jsontag) = 'keyframe'];
  39. //封面
  40. string cover = 6 [(gogoproto.jsontag) = 'cover'];
  41. //二级分区id
  42. int64 area_id = 7 [(gogoproto.jsontag) = 'area_id'];
  43. //一级分区id
  44. int64 parent_area_id = 8 [(gogoproto.jsontag) = 'parent_area_id'];
  45. //二级分区名称
  46. string area_name = 9 [(gogoproto.jsontag) = 'area_name'];
  47. //一级分区名称
  48. string parent_area_name = 10 [(gogoproto.jsontag) = 'parent_area_name'];
  49. //推荐规则 10000+rule_id
  50. int64 rec_type = 11 [(gogoproto.jsontag) = 'rec_type'];
  51. }