// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0-devel // protoc v4.22.3 // source: statistics.proto package statistics import ( common "git.ikuban.com/server/pw-protobuf/api/common" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" emptypb "google.golang.org/protobuf/types/known/emptypb" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type ReduceSubscribeMessageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SubscribeId string `protobuf:"bytes,1,opt,name=subscribeId,proto3" json:"subscribeId"` UserId string `protobuf:"bytes,2,opt,name=userId,proto3" json:"userId"` } func (x *ReduceSubscribeMessageRequest) Reset() { *x = ReduceSubscribeMessageRequest{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReduceSubscribeMessageRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReduceSubscribeMessageRequest) ProtoMessage() {} func (x *ReduceSubscribeMessageRequest) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ReduceSubscribeMessageRequest.ProtoReflect.Descriptor instead. func (*ReduceSubscribeMessageRequest) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{0} } func (x *ReduceSubscribeMessageRequest) GetSubscribeId() string { if x != nil { return x.SubscribeId } return "" } func (x *ReduceSubscribeMessageRequest) GetUserId() string { if x != nil { return x.UserId } return "" } type StatisticsSubscribeMessageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IdList []string `protobuf:"bytes,1,rep,name=idList,proto3" json:"idList"` } func (x *StatisticsSubscribeMessageRequest) Reset() { *x = StatisticsSubscribeMessageRequest{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatisticsSubscribeMessageRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatisticsSubscribeMessageRequest) ProtoMessage() {} func (x *StatisticsSubscribeMessageRequest) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatisticsSubscribeMessageRequest.ProtoReflect.Descriptor instead. func (*StatisticsSubscribeMessageRequest) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{1} } func (x *StatisticsSubscribeMessageRequest) GetIdList() []string { if x != nil { return x.IdList } return make([]string, 0) } type StatisticsAISubscribeMessageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IdList []string `protobuf:"bytes,1,rep,name=idList,proto3" json:"idList"` UserId string `protobuf:"bytes,2,opt,name=userId,proto3" json:"userId"` } func (x *StatisticsAISubscribeMessageRequest) Reset() { *x = StatisticsAISubscribeMessageRequest{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatisticsAISubscribeMessageRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatisticsAISubscribeMessageRequest) ProtoMessage() {} func (x *StatisticsAISubscribeMessageRequest) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatisticsAISubscribeMessageRequest.ProtoReflect.Descriptor instead. func (*StatisticsAISubscribeMessageRequest) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{2} } func (x *StatisticsAISubscribeMessageRequest) GetIdList() []string { if x != nil { return x.IdList } return make([]string, 0) } func (x *StatisticsAISubscribeMessageRequest) GetUserId() string { if x != nil { return x.UserId } return "" } type GetPartnerReplyMsgReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FiveMinuteReplyRate float64 `protobuf:"fixed64,1,opt,name=fiveMinuteReplyRate,proto3" json:"fiveMinuteReplyRate"` // 五分钟回复率 ChatNum int64 `protobuf:"varint,2,opt,name=chatNum,proto3" json:"chatNum"` // 聊天数 ReplyNum int64 `protobuf:"varint,3,opt,name=replyNum,proto3" json:"replyNum"` // 回复数 FiveMinuteReplyNum int64 `protobuf:"varint,4,opt,name=fiveMinuteReplyNum,proto3" json:"fiveMinuteReplyNum"` // 五分钟回复数 } func (x *GetPartnerReplyMsgReply) Reset() { *x = GetPartnerReplyMsgReply{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetPartnerReplyMsgReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetPartnerReplyMsgReply) ProtoMessage() {} func (x *GetPartnerReplyMsgReply) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetPartnerReplyMsgReply.ProtoReflect.Descriptor instead. func (*GetPartnerReplyMsgReply) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{3} } func (x *GetPartnerReplyMsgReply) GetFiveMinuteReplyRate() float64 { if x != nil { return x.FiveMinuteReplyRate } return 0 } func (x *GetPartnerReplyMsgReply) GetChatNum() int64 { if x != nil { return x.ChatNum } return 0 } func (x *GetPartnerReplyMsgReply) GetReplyNum() int64 { if x != nil { return x.ReplyNum } return 0 } func (x *GetPartnerReplyMsgReply) GetFiveMinuteReplyNum() int64 { if x != nil { return x.FiveMinuteReplyNum } return 0 } type PartnerReplyUserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PartnerID string `protobuf:"bytes,1,opt,name=partnerID,proto3" json:"partnerID"` UserSendTime int64 `protobuf:"varint,2,opt,name=userSendTime,proto3" json:"userSendTime"` // 用户发送时间 PartnerReplyTime int64 `protobuf:"varint,3,opt,name=partnerReplyTime,proto3" json:"partnerReplyTime"` // 接待员回复时间 } func (x *PartnerReplyUserRequest) Reset() { *x = PartnerReplyUserRequest{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PartnerReplyUserRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PartnerReplyUserRequest) ProtoMessage() {} func (x *PartnerReplyUserRequest) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PartnerReplyUserRequest.ProtoReflect.Descriptor instead. func (*PartnerReplyUserRequest) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{4} } func (x *PartnerReplyUserRequest) GetPartnerID() string { if x != nil { return x.PartnerID } return "" } func (x *PartnerReplyUserRequest) GetUserSendTime() int64 { if x != nil { return x.UserSendTime } return 0 } func (x *PartnerReplyUserRequest) GetPartnerReplyTime() int64 { if x != nil { return x.PartnerReplyTime } return 0 } type AddTodayProfitRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonID string `protobuf:"bytes,1,opt,name=personID,proto3" json:"personID"` // 接待者的ID Profit int64 `protobuf:"varint,2,opt,name=profit,proto3" json:"profit"` // 收益 } func (x *AddTodayProfitRequest) Reset() { *x = AddTodayProfitRequest{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddTodayProfitRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddTodayProfitRequest) ProtoMessage() {} func (x *AddTodayProfitRequest) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AddTodayProfitRequest.ProtoReflect.Descriptor instead. func (*AddTodayProfitRequest) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{5} } func (x *AddTodayProfitRequest) GetPersonID() string { if x != nil { return x.PersonID } return "" } func (x *AddTodayProfitRequest) GetProfit() int64 { if x != nil { return x.Profit } return 0 } type GetLookAndLikeStatisticsMessageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonID string `protobuf:"bytes,1,opt,name=personID,proto3" json:"personID"` // 查询目标的ID IsSelf bool `protobuf:"varint,3,opt,name=isSelf,proto3" json:"isSelf"` } func (x *GetLookAndLikeStatisticsMessageRequest) Reset() { *x = GetLookAndLikeStatisticsMessageRequest{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetLookAndLikeStatisticsMessageRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetLookAndLikeStatisticsMessageRequest) ProtoMessage() {} func (x *GetLookAndLikeStatisticsMessageRequest) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetLookAndLikeStatisticsMessageRequest.ProtoReflect.Descriptor instead. func (*GetLookAndLikeStatisticsMessageRequest) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{6} } func (x *GetLookAndLikeStatisticsMessageRequest) GetPersonID() string { if x != nil { return x.PersonID } return "" } func (x *GetLookAndLikeStatisticsMessageRequest) GetIsSelf() bool { if x != nil { return x.IsSelf } return false } type ReceptionMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TodayReceptionNum int64 `protobuf:"varint,1,opt,name=todayReceptionNum,proto3" json:"todayReceptionNum"` //今日接待人数 } func (x *ReceptionMsg) Reset() { *x = ReceptionMsg{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReceptionMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReceptionMsg) ProtoMessage() {} func (x *ReceptionMsg) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ReceptionMsg.ProtoReflect.Descriptor instead. func (*ReceptionMsg) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{7} } func (x *ReceptionMsg) GetTodayReceptionNum() int64 { if x != nil { return x.TodayReceptionNum } return 0 } type TodayProfitMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TodayProfit int64 `protobuf:"varint,1,opt,name=todayProfit,proto3" json:"todayProfit"` // 今日收益 } func (x *TodayProfitMsg) Reset() { *x = TodayProfitMsg{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TodayProfitMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*TodayProfitMsg) ProtoMessage() {} func (x *TodayProfitMsg) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TodayProfitMsg.ProtoReflect.Descriptor instead. func (*TodayProfitMsg) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{8} } func (x *TodayProfitMsg) GetTodayProfit() int64 { if x != nil { return x.TodayProfit } return 0 } type LookAndLikeListReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*LookAndLikeListInfo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` NextId int64 `protobuf:"varint,2,opt,name=nextId,proto3" json:"nextId"` } func (x *LookAndLikeListReply) Reset() { *x = LookAndLikeListReply{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LookAndLikeListReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*LookAndLikeListReply) ProtoMessage() {} func (x *LookAndLikeListReply) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LookAndLikeListReply.ProtoReflect.Descriptor instead. func (*LookAndLikeListReply) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{9} } func (x *LookAndLikeListReply) GetList() []*LookAndLikeListInfo { if x != nil { return x.List } return make([]*LookAndLikeListInfo, 0) } func (x *LookAndLikeListReply) GetNextId() int64 { if x != nil { return x.NextId } return 0 } type LookAndLikeListInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` // 被查看的列表中的人的ID Nickname string `protobuf:"bytes,3,opt,name=nickname,proto3" json:"nickname"` // 昵称 AvatarUrl string `protobuf:"bytes,4,opt,name=avatarUrl,proto3" json:"avatarUrl"` // 头像链接 Sex int64 `protobuf:"varint,5,opt,name=sex,proto3" json:"sex"` // 性别 Age int64 `protobuf:"varint,6,opt,name=age,proto3" json:"age"` // 年龄 Constellation string `protobuf:"bytes,7,opt,name=constellation,proto3" json:"constellation"` // 星座 LastLookTime int64 `protobuf:"varint,8,opt,name=lastLookTime,proto3" json:"lastLookTime"` // 上次访问时间 IsHavePicture bool `protobuf:"varint,10,opt,name=isHavePicture,proto3" json:"isHavePicture"` // 是否有图片 IsHaveVoice bool `protobuf:"varint,11,opt,name=isHaveVoice,proto3" json:"isHaveVoice"` // 是否有语音 IsLock bool `protobuf:"varint,12,opt,name=isLock,proto3" json:"isLock"` // 是否锁住信息 City string `protobuf:"bytes,13,opt,name=city,proto3" json:"city"` // 市 IsRead bool `protobuf:"varint,14,opt,name=isRead,proto3" json:"isRead"` // 是否已读 TagList []string `protobuf:"bytes,15,rep,name=tagList,proto3" json:"tagList"` // 标签列表 IsVip bool `protobuf:"varint,16,opt,name=isVip,proto3" json:"isVip"` // 是否是Vip VipLevel int64 `protobuf:"varint,17,opt,name=vipLevel,proto3" json:"vipLevel"` // vip等级 IsYearVip bool `protobuf:"varint,18,opt,name=isYearVip,proto3" json:"isYearVip"` // 是否是年费Vip VipFunctions []string `protobuf:"bytes,19,rep,name=vipFunctions,proto3" json:"vipFunctions"` // vip功能 IsCertification bool `protobuf:"varint,26,opt,name=isCertification,proto3" json:"isCertification"` // 是否实名认证 } func (x *LookAndLikeListInfo) Reset() { *x = LookAndLikeListInfo{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LookAndLikeListInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*LookAndLikeListInfo) ProtoMessage() {} func (x *LookAndLikeListInfo) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LookAndLikeListInfo.ProtoReflect.Descriptor instead. func (*LookAndLikeListInfo) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{10} } func (x *LookAndLikeListInfo) GetId() string { if x != nil { return x.Id } return "" } func (x *LookAndLikeListInfo) GetNickname() string { if x != nil { return x.Nickname } return "" } func (x *LookAndLikeListInfo) GetAvatarUrl() string { if x != nil { return x.AvatarUrl } return "" } func (x *LookAndLikeListInfo) GetSex() int64 { if x != nil { return x.Sex } return 0 } func (x *LookAndLikeListInfo) GetAge() int64 { if x != nil { return x.Age } return 0 } func (x *LookAndLikeListInfo) GetConstellation() string { if x != nil { return x.Constellation } return "" } func (x *LookAndLikeListInfo) GetLastLookTime() int64 { if x != nil { return x.LastLookTime } return 0 } func (x *LookAndLikeListInfo) GetIsHavePicture() bool { if x != nil { return x.IsHavePicture } return false } func (x *LookAndLikeListInfo) GetIsHaveVoice() bool { if x != nil { return x.IsHaveVoice } return false } func (x *LookAndLikeListInfo) GetIsLock() bool { if x != nil { return x.IsLock } return false } func (x *LookAndLikeListInfo) GetCity() string { if x != nil { return x.City } return "" } func (x *LookAndLikeListInfo) GetIsRead() bool { if x != nil { return x.IsRead } return false } func (x *LookAndLikeListInfo) GetTagList() []string { if x != nil { return x.TagList } return make([]string, 0) } func (x *LookAndLikeListInfo) GetIsVip() bool { if x != nil { return x.IsVip } return false } func (x *LookAndLikeListInfo) GetVipLevel() int64 { if x != nil { return x.VipLevel } return 0 } func (x *LookAndLikeListInfo) GetIsYearVip() bool { if x != nil { return x.IsYearVip } return false } func (x *LookAndLikeListInfo) GetVipFunctions() []string { if x != nil { return x.VipFunctions } return make([]string, 0) } func (x *LookAndLikeListInfo) GetIsCertification() bool { if x != nil { return x.IsCertification } return false } type GetLookAndLikeListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonID string `protobuf:"bytes,1,opt,name=personID,proto3" json:"personID"` // 查询目标的ID NextId int64 `protobuf:"varint,3,opt,name=nextId,proto3" json:"nextId"` Offset int64 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset"` } func (x *GetLookAndLikeListRequest) Reset() { *x = GetLookAndLikeListRequest{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetLookAndLikeListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetLookAndLikeListRequest) ProtoMessage() {} func (x *GetLookAndLikeListRequest) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetLookAndLikeListRequest.ProtoReflect.Descriptor instead. func (*GetLookAndLikeListRequest) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{11} } func (x *GetLookAndLikeListRequest) GetPersonID() string { if x != nil { return x.PersonID } return "" } func (x *GetLookAndLikeListRequest) GetNextId() int64 { if x != nil { return x.NextId } return 0 } func (x *GetLookAndLikeListRequest) GetOffset() int64 { if x != nil { return x.Offset } return 0 } type LookAndLikeMessageReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LikeNum int64 `protobuf:"varint,1,opt,name=likeNum,proto3" json:"likeNum"` // 我喜欢 LikedNum int64 `protobuf:"varint,2,opt,name=likedNum,proto3" json:"likedNum"` // 喜欢我 LikedUnreadNum int64 `protobuf:"varint,3,opt,name=likedUnreadNum,proto3" json:"likedUnreadNum"` // 喜欢我的未读数 LookNum int64 `protobuf:"varint,4,opt,name=lookNum,proto3" json:"lookNum"` // 看过我 LookUnreadNum int64 `protobuf:"varint,5,opt,name=lookUnreadNum,proto3" json:"lookUnreadNum"` // 看过我的未读数 AvatarUrlList []string `protobuf:"bytes,6,rep,name=avatarUrlList,proto3" json:"avatarUrlList"` // 头像列表 } func (x *LookAndLikeMessageReply) Reset() { *x = LookAndLikeMessageReply{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LookAndLikeMessageReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*LookAndLikeMessageReply) ProtoMessage() {} func (x *LookAndLikeMessageReply) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LookAndLikeMessageReply.ProtoReflect.Descriptor instead. func (*LookAndLikeMessageReply) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{12} } func (x *LookAndLikeMessageReply) GetLikeNum() int64 { if x != nil { return x.LikeNum } return 0 } func (x *LookAndLikeMessageReply) GetLikedNum() int64 { if x != nil { return x.LikedNum } return 0 } func (x *LookAndLikeMessageReply) GetLikedUnreadNum() int64 { if x != nil { return x.LikedUnreadNum } return 0 } func (x *LookAndLikeMessageReply) GetLookNum() int64 { if x != nil { return x.LookNum } return 0 } func (x *LookAndLikeMessageReply) GetLookUnreadNum() int64 { if x != nil { return x.LookUnreadNum } return 0 } func (x *LookAndLikeMessageReply) GetAvatarUrlList() []string { if x != nil { return x.AvatarUrlList } return make([]string, 0) } type LookMessageReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LookNum int64 `protobuf:"varint,1,opt,name=lookNum,proto3" json:"lookNum"` LookUnreadNum int64 `protobuf:"varint,2,opt,name=lookUnreadNum,proto3" json:"lookUnreadNum"` TodayLookNum int64 `protobuf:"varint,3,opt,name=todayLookNum,proto3" json:"todayLookNum"` } func (x *LookMessageReply) Reset() { *x = LookMessageReply{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LookMessageReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*LookMessageReply) ProtoMessage() {} func (x *LookMessageReply) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LookMessageReply.ProtoReflect.Descriptor instead. func (*LookMessageReply) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{13} } func (x *LookMessageReply) GetLookNum() int64 { if x != nil { return x.LookNum } return 0 } func (x *LookMessageReply) GetLookUnreadNum() int64 { if x != nil { return x.LookUnreadNum } return 0 } func (x *LookMessageReply) GetTodayLookNum() int64 { if x != nil { return x.TodayLookNum } return 0 } type PersonMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonID string `protobuf:"bytes,1,opt,name=personID,proto3" json:"personID"` // 关注者、浏览者的ID BePersonID string `protobuf:"bytes,3,opt,name=bePersonID,proto3" json:"bePersonID"` // 被关注者、被浏览者的ID } func (x *PersonMessage) Reset() { *x = PersonMessage{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PersonMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*PersonMessage) ProtoMessage() {} func (x *PersonMessage) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PersonMessage.ProtoReflect.Descriptor instead. func (*PersonMessage) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{14} } func (x *PersonMessage) GetPersonID() string { if x != nil { return x.PersonID } return "" } func (x *PersonMessage) GetBePersonID() string { if x != nil { return x.BePersonID } return "" } type UnlockLookRecordRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PersonID string `protobuf:"bytes,1,opt,name=personID,proto3" json:"personID"` // 关注者、浏览者的ID BePersonID string `protobuf:"bytes,2,opt,name=bePersonID,proto3" json:"bePersonID"` // 被关注者、被浏览者的ID } func (x *UnlockLookRecordRequest) Reset() { *x = UnlockLookRecordRequest{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UnlockLookRecordRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnlockLookRecordRequest) ProtoMessage() {} func (x *UnlockLookRecordRequest) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UnlockLookRecordRequest.ProtoReflect.Descriptor instead. func (*UnlockLookRecordRequest) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{15} } func (x *UnlockLookRecordRequest) GetPersonID() string { if x != nil { return x.PersonID } return "" } func (x *UnlockLookRecordRequest) GetBePersonID() string { if x != nil { return x.BePersonID } return "" } type ReceptionMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PartnerID string `protobuf:"bytes,1,opt,name=partnerID,proto3" json:"partnerID"` // 接待者的ID UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"` // 被接待者的ID } func (x *ReceptionMessage) Reset() { *x = ReceptionMessage{} if protoimpl.UnsafeEnabled { mi := &file_statistics_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReceptionMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReceptionMessage) ProtoMessage() {} func (x *ReceptionMessage) ProtoReflect() protoreflect.Message { mi := &file_statistics_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ReceptionMessage.ProtoReflect.Descriptor instead. func (*ReceptionMessage) Descriptor() ([]byte, []int) { return file_statistics_proto_rawDescGZIP(), []int{16} } func (x *ReceptionMessage) GetPartnerID() string { if x != nil { return x.PartnerID } return "" } func (x *ReceptionMessage) GetUserID() string { if x != nil { return x.UserID } return "" } var File_statistics_proto protoreflect.FileDescriptor var file_statistics_proto_rawDesc = []byte{ 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x1d, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x21, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x23, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x41, 0x49, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xb1, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x13, 0x66, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x13, 0x66, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x2e, 0x0a, 0x12, 0x66, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x66, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x75, 0x6d, 0x22, 0x87, 0x01, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x4b, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x22, 0x5c, 0x0a, 0x26, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x22, 0x3c, 0x0a, 0x0c, 0x52, 0x65, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x52, 0x65, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x52, 0x65, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x22, 0x32, 0x0a, 0x0e, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x22, 0x67, 0x0a, 0x14, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x37, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0x91, 0x04, 0x0a, 0x13, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x48, 0x61, 0x76, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x48, 0x61, 0x76, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x48, 0x61, 0x76, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x48, 0x61, 0x76, 0x65, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x76, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x59, 0x65, 0x61, 0x72, 0x56, 0x69, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x69, 0x70, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xdd, 0x01, 0x0a, 0x17, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x6b, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6c, 0x69, 0x6b, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x6f, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6c, 0x6f, 0x6f, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x6f, 0x6f, 0x6b, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6c, 0x6f, 0x6f, 0x6b, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x76, 0x0a, 0x10, 0x4c, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x6f, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6c, 0x6f, 0x6f, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x6f, 0x6f, 0x6b, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6c, 0x6f, 0x6f, 0x6b, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x4c, 0x6f, 0x6f, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x4c, 0x6f, 0x6f, 0x6b, 0x4e, 0x75, 0x6d, 0x22, 0x4b, 0x0a, 0x0d, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x55, 0x0a, 0x17, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x48, 0x0a, 0x10, 0x52, 0x65, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x32, 0xba, 0x0c, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x43, 0x0a, 0x0a, 0x4c, 0x6f, 0x6f, 0x6b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x52, 0x0a, 0x19, 0x4c, 0x6f, 0x6f, 0x6b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0a, 0x4c, 0x69, 0x6b, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x0c, 0x55, 0x6e, 0x4c, 0x69, 0x6b, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x82, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x36, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x55, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x4c, 0x0a, 0x13, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x53, 0x0a, 0x10, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x5f, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x5f, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x60, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x41, 0x6e, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3e, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x49, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x4c, 0x69, 0x6b, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x31, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x9a, 0x01, 0x0a, 0x1c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x41, 0x49, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x41, 0x49, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x3a, 0x01, 0x2a, 0x22, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x61, 0x69, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x61, 0x0a, 0x16, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x17, 0x43, 0x72, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6c, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x4f, 0x0a, 0x0e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x2e, 0x69, 0x6b, 0x75, 0x62, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x77, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x3b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_statistics_proto_rawDescOnce sync.Once file_statistics_proto_rawDescData = file_statistics_proto_rawDesc ) func file_statistics_proto_rawDescGZIP() []byte { file_statistics_proto_rawDescOnce.Do(func() { file_statistics_proto_rawDescData = protoimpl.X.CompressGZIP(file_statistics_proto_rawDescData) }) return file_statistics_proto_rawDescData } var file_statistics_proto_msgTypes = make([]protoimpl.MessageInfo, 17) var file_statistics_proto_goTypes = []interface{}{ (*ReduceSubscribeMessageRequest)(nil), // 0: api.statistics.ReduceSubscribeMessageRequest (*StatisticsSubscribeMessageRequest)(nil), // 1: api.statistics.StatisticsSubscribeMessageRequest (*StatisticsAISubscribeMessageRequest)(nil), // 2: api.statistics.StatisticsAISubscribeMessageRequest (*GetPartnerReplyMsgReply)(nil), // 3: api.statistics.GetPartnerReplyMsgReply (*PartnerReplyUserRequest)(nil), // 4: api.statistics.PartnerReplyUserRequest (*AddTodayProfitRequest)(nil), // 5: api.statistics.AddTodayProfitRequest (*GetLookAndLikeStatisticsMessageRequest)(nil), // 6: api.statistics.GetLookAndLikeStatisticsMessageRequest (*ReceptionMsg)(nil), // 7: api.statistics.ReceptionMsg (*TodayProfitMsg)(nil), // 8: api.statistics.TodayProfitMsg (*LookAndLikeListReply)(nil), // 9: api.statistics.LookAndLikeListReply (*LookAndLikeListInfo)(nil), // 10: api.statistics.LookAndLikeListInfo (*GetLookAndLikeListRequest)(nil), // 11: api.statistics.GetLookAndLikeListRequest (*LookAndLikeMessageReply)(nil), // 12: api.statistics.LookAndLikeMessageReply (*LookMessageReply)(nil), // 13: api.statistics.LookMessageReply (*PersonMessage)(nil), // 14: api.statistics.PersonMessage (*UnlockLookRecordRequest)(nil), // 15: api.statistics.UnlockLookRecordRequest (*ReceptionMessage)(nil), // 16: api.statistics.ReceptionMessage (*common.PersonParam)(nil), // 17: api.common.PersonParam (*emptypb.Empty)(nil), // 18: google.protobuf.Empty (*common.IsLike)(nil), // 19: api.common.IsLike (*common.PersonIDList)(nil), // 20: api.common.PersonIDList } var file_statistics_proto_depIdxs = []int32{ 10, // 0: api.statistics.LookAndLikeListReply.list:type_name -> api.statistics.LookAndLikeListInfo 14, // 1: api.statistics.Statistics.LookPerson:input_type -> api.statistics.PersonMessage 14, // 2: api.statistics.Statistics.LookPersonWithoutTemplate:input_type -> api.statistics.PersonMessage 14, // 3: api.statistics.Statistics.LikePerson:input_type -> api.statistics.PersonMessage 14, // 4: api.statistics.Statistics.UnLikePerson:input_type -> api.statistics.PersonMessage 6, // 5: api.statistics.Statistics.GetLookAndLikeStatisticsMessage:input_type -> api.statistics.GetLookAndLikeStatisticsMessageRequest 17, // 6: api.statistics.Statistics.GetLookStatisticsMessage:input_type -> api.common.PersonParam 14, // 7: api.statistics.Statistics.ReduceLikeUnreadNum:input_type -> api.statistics.PersonMessage 15, // 8: api.statistics.Statistics.UnlockLookRecord:input_type -> api.statistics.UnlockLookRecordRequest 11, // 9: api.statistics.Statistics.FindLookList:input_type -> api.statistics.GetLookAndLikeListRequest 11, // 10: api.statistics.Statistics.FindLikeList:input_type -> api.statistics.GetLookAndLikeListRequest 11, // 11: api.statistics.Statistics.FindLikedList:input_type -> api.statistics.GetLookAndLikeListRequest 14, // 12: api.statistics.Statistics.GetIsLike:input_type -> api.statistics.PersonMessage 1, // 13: api.statistics.Statistics.StatisticsSubscribeMessage:input_type -> api.statistics.StatisticsSubscribeMessageRequest 2, // 14: api.statistics.Statistics.StatisticsAISubscribeMessage:input_type -> api.statistics.StatisticsAISubscribeMessageRequest 0, // 15: api.statistics.Statistics.ReduceSubscribeMessage:input_type -> api.statistics.ReduceSubscribeMessageRequest 18, // 16: api.statistics.Statistics.GetSignUser:input_type -> google.protobuf.Empty 18, // 17: api.statistics.Statistics.CronDeleteOldLookRecord:input_type -> google.protobuf.Empty 18, // 18: api.statistics.Statistics.LookPerson:output_type -> google.protobuf.Empty 18, // 19: api.statistics.Statistics.LookPersonWithoutTemplate:output_type -> google.protobuf.Empty 18, // 20: api.statistics.Statistics.LikePerson:output_type -> google.protobuf.Empty 18, // 21: api.statistics.Statistics.UnLikePerson:output_type -> google.protobuf.Empty 12, // 22: api.statistics.Statistics.GetLookAndLikeStatisticsMessage:output_type -> api.statistics.LookAndLikeMessageReply 13, // 23: api.statistics.Statistics.GetLookStatisticsMessage:output_type -> api.statistics.LookMessageReply 18, // 24: api.statistics.Statistics.ReduceLikeUnreadNum:output_type -> google.protobuf.Empty 18, // 25: api.statistics.Statistics.UnlockLookRecord:output_type -> google.protobuf.Empty 9, // 26: api.statistics.Statistics.FindLookList:output_type -> api.statistics.LookAndLikeListReply 9, // 27: api.statistics.Statistics.FindLikeList:output_type -> api.statistics.LookAndLikeListReply 9, // 28: api.statistics.Statistics.FindLikedList:output_type -> api.statistics.LookAndLikeListReply 19, // 29: api.statistics.Statistics.GetIsLike:output_type -> api.common.IsLike 18, // 30: api.statistics.Statistics.StatisticsSubscribeMessage:output_type -> google.protobuf.Empty 18, // 31: api.statistics.Statistics.StatisticsAISubscribeMessage:output_type -> google.protobuf.Empty 18, // 32: api.statistics.Statistics.ReduceSubscribeMessage:output_type -> google.protobuf.Empty 20, // 33: api.statistics.Statistics.GetSignUser:output_type -> api.common.PersonIDList 18, // 34: api.statistics.Statistics.CronDeleteOldLookRecord:output_type -> google.protobuf.Empty 18, // [18:35] is the sub-list for method output_type 1, // [1:18] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_statistics_proto_init() } func file_statistics_proto_init() { if File_statistics_proto != nil { return } if !protoimpl.UnsafeEnabled { file_statistics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReduceSubscribeMessageRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatisticsSubscribeMessageRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatisticsAISubscribeMessageRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPartnerReplyMsgReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PartnerReplyUserRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddTodayProfitRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLookAndLikeStatisticsMessageRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReceptionMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TodayProfitMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LookAndLikeListReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LookAndLikeListInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLookAndLikeListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LookAndLikeMessageReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LookMessageReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PersonMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UnlockLookRecordRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_statistics_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReceptionMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_statistics_proto_rawDesc, NumEnums: 0, NumMessages: 17, NumExtensions: 0, NumServices: 1, }, GoTypes: file_statistics_proto_goTypes, DependencyIndexes: file_statistics_proto_depIdxs, MessageInfos: file_statistics_proto_msgTypes, }.Build() File_statistics_proto = out.File file_statistics_proto_rawDesc = nil file_statistics_proto_goTypes = nil file_statistics_proto_depIdxs = nil }