syntax = "proto3"; package api.websocket; //import "google/api/annotations.proto"; //import "google/protobuf/struct.proto"; import "google/protobuf/empty.proto"; option go_package = "git.ikuban.com/server/pw-protobuf/api/websocket;websocket"; option java_multiple_files = true; option java_package = "api.websocket"; service Websocket { // 查询在线人数 rpc FindOnlinePerson (google.protobuf.Empty) returns (FindOnlinePersonReply); // 查询在线人数 rpc FindOnlinePersonAll (google.protobuf.Empty) returns (FindOnlinePersonReply); // 查询在线人数 rpc FindOnlineCanMatchingPerson (google.protobuf.Empty) returns (FindOnlineCanMatchingPersonReply); // 发送消息 rpc SendMsg (SendMsgRequest) returns (SendMsgReply){}; // 更新工作状态 rpc UpdateWorkingStatus (UpdateWorkingStatusRequest) returns (google.protobuf.Empty){}; // 更新权重 rpc UpdateWeight (UpdateWeightRequest) returns (google.protobuf.Empty){}; // 更新每日被匹配数 rpc UpdateTodayMatchedNum (UpdateTodayMatchedNumRequest) returns (google.protobuf.Empty){}; // 检查是否在线 rpc CheckIsOnline (CheckIsOnlineRequest) returns (CheckIsOnlineReply){}; // 检查是否在线 rpc CheckIsOnlineByIDs (CheckIsOnlineByIDsParam) returns (CheckIsOnlineByIDsParam){}; // 查询在线多少人 rpc FindOnlinePersonNum (google.protobuf.Empty) returns (OnlinePersonReply); // 定时检查在线超过一小时的用户并将其下线 rpc CronCheckConnectTime (google.protobuf.Empty) returns (google.protobuf.Empty); } message FindOnlineCanMatchingPersonReply{ repeated FindOnlineCanMatchingPersonInfo list = 1; } message FindOnlineCanMatchingPersonInfo{ int64 todayMatchedNum = 1;// 今日被匹配数 string personId = 2; int64 weight = 3;// 权重 string workingStatus = 4;// 工作状态 int64 sex = 5;// 性别 int64 age = 6;// 年龄 string province = 7;// 省 string city = 8;// 市 string lastLoginTime = 9; int64 connectTime = 10; } message OnlinePersonReply{ int64 userManNum = 1; // 男用户在线数 int64 userWomanNum = 2; // 女用户在线数 int64 userOtherNum = 3; // 未填写性别的用户在线数 } message CheckIsOnlineRequest{ string userId = 1;// 身份ID } message CheckIsOnlineByIDsParam{ repeated string userIds = 1;// 身份ID } message CheckIsOnlineReply{ bool isOnline = 1;// 是否在线 } message UpdateWorkingStatusRequest{ string id = 1; string workingStatus = 2; } message UpdateWeightRequest{ string id = 1; int64 weight = 2; } message UpdateTodayMatchedNumRequest{ string id = 1; int64 todayMatchedNum = 2; } message MessageInfo{ int64 roomId = 1; // 房间ID string message = 2;// 发送的消息 string msgType = 3;// 消息类型 } message SendMsgRequest{ string id = 1; string method = 2; bytes data = 3; int32 code = 4; string message = 5; string websocketTag = 6; bool isSelf = 7;// 是否是给自己发送的 int64 messageId = 8;// 消息id } message SendMsgReply{ } message FindOnlinePersonReply{ repeated OnlinePersonInfo list = 1; } message OnlinePersonInfo{ string personId = 2; int64 weight = 3;// 权重 string workingStatus = 4;// 工作状态 int64 sex = 5;// 性别 string lastLoginTime = 6; int64 connectTime = 7; }