From fad4d1744b76c37d2b07736ece0b8c8de931eccb Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Thu, 18 Aug 2022 14:43:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=A5=BD=E5=8F=8B=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=95=B0=E6=8D=AE=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/v2/ui/views/friend_list.go | 2 +- cmd/v2/ui/views/friend_zan.go | 2 +- modules/friend/api_list.go | 23 +- modules/friend/api_zan.go | 52 +-- modules/friend/api_zanlist.go | 1 + modules/friend/api_zanreceive.go | 36 +- pb/friend_db.pb.go | 24 +- pb/friend_msg.pb.go | 567 +++++++++---------------------- 8 files changed, 253 insertions(+), 454 deletions(-) diff --git a/cmd/v2/ui/views/friend_list.go b/cmd/v2/ui/views/friend_list.go index 1e2e608ac..5a5bd824d 100644 --- a/cmd/v2/ui/views/friend_list.go +++ b/cmd/v2/ui/views/friend_list.go @@ -47,7 +47,7 @@ func (this *FriendListView) CreateView(t *model.TestCase) fyne.CanvasObject { t.MainType, friend.FriendSubTypeZan, &pb.FriendZanReq{ - FriendId: this.selItemIds[0], + FriendIds: this.selItemIds, }, ); err != nil { logrus.Error(err) diff --git a/cmd/v2/ui/views/friend_zan.go b/cmd/v2/ui/views/friend_zan.go index 610fbc15b..e1c862162 100644 --- a/cmd/v2/ui/views/friend_zan.go +++ b/cmd/v2/ui/views/friend_zan.go @@ -29,7 +29,7 @@ func (this *FriendZanView) CreateView(t *model.TestCase) fyne.CanvasObject { t.MainType, "zanreceive", &pb.FriendZanreceiveReq{ - FriendId: this.selItemIds[0], + FriendIds: this.selItemIds, }, ); err != nil { logrus.Error(err) diff --git a/modules/friend/api_list.go b/modules/friend/api_list.go index 0a10684ef..2d1b99832 100644 --- a/modules/friend/api_list.go +++ b/modules/friend/api_list.go @@ -3,6 +3,7 @@ package friend import ( "go_dreamfactory/comm" "go_dreamfactory/pb" + "go_dreamfactory/utils" "google.golang.org/protobuf/proto" ) @@ -36,17 +37,35 @@ func (this *apiComp) List(session comm.IUserSession, req *pb.FriendListReq) (cod return } + // 我的好友 for _, userId := range self.FriendIds { + // 获取好友详情 user := this.moduleFriend.ModuleUser.GetUser(userId) if user == nil { continue } - list = append(list, &pb.FriendBase{ + base := &pb.FriendBase{ UserId: userId, NickName: user.Name, Level: user.Lv, Avatar: user.Avatar, - }) + } + // 判断是否在自己的申请列表中 + if _, ok := utils.Findx(self.ApplyIds, userId); ok { + base.IsApplied = true + } + + // 判断是否已点赞 + if _, ok := utils.Findx(self.ZanIds, userId); ok { + base.IsZaned = true + } + + //判断是否已接收获赞 + if _, ok := utils.Findx(self.GetZandIds, userId); ok { + base.IsGetZaned = true + } + + list = append(list, base) } return diff --git a/modules/friend/api_zan.go b/modules/friend/api_zan.go index 886bdbe62..f4c145c2c 100644 --- a/modules/friend/api_zan.go +++ b/modules/friend/api_zan.go @@ -9,9 +9,8 @@ import ( ) // 点赞 - func (this *apiComp) ZanCheck(session comm.IUserSession, req *pb.FriendZanReq) (code pb.ErrorCode) { - if req.FriendId == "" { + if len(req.FriendIds) == 0 { code = pb.ErrorCode_ReqParameterError } return @@ -30,21 +29,36 @@ func (this *apiComp) Zan(session comm.IUserSession, req *pb.FriendZanReq) (code selfId = session.GetUserId() - target = this.moduleFriend.modelFriend.GetFriend(req.FriendId) - if target == nil { - code = pb.ErrorCode_FriendSelfNoData - return - } - // 不能给自己点赞 - if req.FriendId == selfId { - code = pb.ErrorCode_FriendZanSelf - return + for _, v := range req.FriendIds { + if v == selfId { + code = pb.ErrorCode_FriendZanSelf + return + } } + var ( + pointTotal int32 //友情值累加 + optIds []string //本次操作的有效id + ) // 是否已给好友点赞 - if _, ok := utils.Find(target.ZanIds, selfId); ok { - code = pb.ErrorCode_FriendZaned + for _, v := range req.FriendIds { + target = this.moduleFriend.modelFriend.GetFriend(v) + if target == nil { + code = pb.ErrorCode_FriendSelfNoData + return + } + if _, ok := utils.Find(target.ZanIds, selfId); !ok { + optIds = append(optIds, v) + pointTotal += 1 + } + } + + //设置被点赞玩家 + if err = this.moduleFriend.modelFriend.Change(target.GetUid(), map[string]interface{}{ + "zanIds": optIds, + }); err != nil { + code = pb.ErrorCode_DBError return } @@ -62,23 +76,13 @@ func (this *apiComp) Zan(session comm.IUserSession, req *pb.FriendZanReq) (code } update := map[string]interface{}{ - "friendPointOD": ue.FriendPointOD + 10, + "friendPointOD": ue.FriendPointOD + pointTotal, } if err := this.moduleFriend.ModuleUser.ChangeUserExpand(session.GetUserId(), update); err != nil { code = pb.ErrorCode_DBError return } - //设置被点赞玩家 - target.ZanIds = append(target.ZanIds, selfId) - - if err = this.moduleFriend.modelFriend.Change(target.GetUid(), map[string]interface{}{ - "zanIds": target.ZanIds, - }); err != nil { - code = pb.ErrorCode_DBError - return - } - rsp := &pb.FriendZanResp{ Flag: true, } diff --git a/modules/friend/api_zanlist.go b/modules/friend/api_zanlist.go index 2d5a26250..3c0045be7 100644 --- a/modules/friend/api_zanlist.go +++ b/modules/friend/api_zanlist.go @@ -13,6 +13,7 @@ func (this *apiComp) ZanlistCheck(session comm.IUserSession, req *pb.FriendZanli return } +// Deprecated: func (this *apiComp) Zanlist(session comm.IUserSession, req *pb.FriendZanlistReq) (code pb.ErrorCode, data proto.Message) { if code = this.ZanlistCheck(session, req); code != pb.ErrorCode_Success { return diff --git a/modules/friend/api_zanreceive.go b/modules/friend/api_zanreceive.go index 21bbb2600..2f72bdcf5 100644 --- a/modules/friend/api_zanreceive.go +++ b/modules/friend/api_zanreceive.go @@ -11,7 +11,7 @@ import ( // 领取点赞奖励 func (this *apiComp) ZanreceiveCheck(session comm.IUserSession, req *pb.FriendZanreceiveReq) (code pb.ErrorCode) { - if req.FriendId == "" { + if len(req.FriendIds) == 0 { code = pb.ErrorCode_ReqParameterError } return @@ -33,22 +33,30 @@ func (this *apiComp) Zanreceive(session comm.IUserSession, req *pb.FriendZanrece return } + var ( + pointTotal int32 // 累计友情值 + optIds []string //本次有效操作Ids + ) + // 是否已领取点赞 - if _, ok := utils.Find(self.ZanIds, req.FriendId); !ok { - code = pb.ErrorCode_FriendZanreceived - return + for _, v := range req.FriendIds { + if _, ok := utils.Find(self.GetZandIds, v); !ok { + optIds = append(optIds, v) + } } - utils.DeleteString(self.ZanIds, req.FriendId) - - if err = this.moduleFriend.modelFriend.Change(req.FriendId, map[string]interface{}{ - "zanIds": self.ZanIds, - }); err != nil { - code = pb.ErrorCode_DBError - return + for _, v := range optIds { + // 修改获赞Id + if err = this.moduleFriend.modelFriend.Change(v, map[string]interface{}{ + "getZandIds": v, + }); err != nil { + code = pb.ErrorCode_DBError + return + } + pointTotal += 1 } - //设置友情值 + //设置自己的友情值 ue, err := this.moduleFriend.ModuleUser.GetUserExpand(session.GetUserId()) if err != nil { code = pb.ErrorCode_DBError @@ -62,8 +70,8 @@ func (this *apiComp) Zanreceive(session comm.IUserSession, req *pb.FriendZanrece } update := map[string]interface{}{ - "friendPoint": ue.FriendPoint + 10, - "friendPointID": ue.FriendPointID + 10, + "friendPoint": ue.FriendPoint + pointTotal, + "friendPointID": ue.FriendPointID + pointTotal, } if err := this.moduleFriend.ModuleUser.ChangeUserExpand(session.GetUserId(), update); err != nil { code = pb.ErrorCode_DBError diff --git a/pb/friend_db.pb.go b/pb/friend_db.pb.go index acd2c5e14..a4677d5ee 100644 --- a/pb/friend_db.pb.go +++ b/pb/friend_db.pb.go @@ -25,11 +25,12 @@ type DBFriend struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID - FriendIds []string `protobuf:"bytes,2,rep,name=friendIds,proto3" json:"friendIds" bson:"friendIds"` //好友ID - ApplyIds []string `protobuf:"bytes,3,rep,name=applyIds,proto3" json:"applyIds" bson:"applyIds"` //申请用户ID - BlackIds []string `protobuf:"bytes,4,rep,name=blackIds,proto3" json:"blackIds" bson:"blackIds"` //黑名单ID - ZanIds []string `protobuf:"bytes,5,rep,name=zanIds,proto3" json:"zanIds" bson:"zanIds"` //点赞好友ID + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID + FriendIds []string `protobuf:"bytes,2,rep,name=friendIds,proto3" json:"friendIds" bson:"friendIds"` //好友ID + ApplyIds []string `protobuf:"bytes,3,rep,name=applyIds,proto3" json:"applyIds" bson:"applyIds"` //申请用户ID + BlackIds []string `protobuf:"bytes,4,rep,name=blackIds,proto3" json:"blackIds" bson:"blackIds"` //黑名单ID + ZanIds []string `protobuf:"bytes,5,rep,name=zanIds,proto3" json:"zanIds" bson:"zanIds"` //点赞好友ID + GetZandIds []string `protobuf:"bytes,6,rep,name=getZandIds,proto3" json:"getZandIds" bson:"getZandIds"` //已接收赞好友ID } func (x *DBFriend) Reset() { @@ -99,11 +100,18 @@ func (x *DBFriend) GetZanIds() []string { return nil } +func (x *DBFriend) GetGetZandIds() []string { + if x != nil { + return x.GetZandIds + } + return nil +} + var File_friend_friend_db_proto protoreflect.FileDescriptor var file_friend_friend_db_proto_rawDesc = []byte{ 0x0a, 0x16, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x2f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, - 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x01, 0x0a, 0x08, 0x44, 0x42, 0x46, + 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x01, 0x0a, 0x08, 0x44, 0x42, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x66, 0x72, 0x69, 0x65, @@ -112,7 +120,9 @@ var file_friend_friend_db_proto_rawDesc = []byte{ 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x7a, 0x61, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x7a, - 0x61, 0x6e, 0x49, 0x64, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, + 0x61, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x74, 0x5a, 0x61, 0x6e, 0x64, + 0x49, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x65, 0x74, 0x5a, 0x61, + 0x6e, 0x64, 0x49, 0x64, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/pb/friend_msg.pb.go b/pb/friend_msg.pb.go index bcaacbc84..afc3652f3 100644 --- a/pb/friend_msg.pb.go +++ b/pb/friend_msg.pb.go @@ -32,6 +32,9 @@ type FriendBase struct { Strength int64 `protobuf:"varint,5,opt,name=strength,proto3" json:"strength"` //战力 ServerId int32 `protobuf:"varint,6,opt,name=serverId,proto3" json:"serverId"` //服务编号 OfflineTime int64 `protobuf:"varint,7,opt,name=offlineTime,proto3" json:"offlineTime"` //最近一次下线时间 0在线 + IsApplied bool `protobuf:"varint,8,opt,name=isApplied,proto3" json:"isApplied"` //是否已申请加好友 + IsZaned bool `protobuf:"varint,9,opt,name=isZaned,proto3" json:"isZaned"` //是否已点赞 + IsGetZaned bool `protobuf:"varint,10,opt,name=isGetZaned,proto3" json:"isGetZaned"` //是否已获赞 } func (x *FriendBase) Reset() { @@ -115,6 +118,27 @@ func (x *FriendBase) GetOfflineTime() int64 { return 0 } +func (x *FriendBase) GetIsApplied() bool { + if x != nil { + return x.IsApplied + } + return false +} + +func (x *FriendBase) GetIsZaned() bool { + if x != nil { + return x.IsZaned + } + return false +} + +func (x *FriendBase) GetIsGetZaned() bool { + if x != nil { + return x.IsGetZaned + } + return false +} + //好友列表 type FriendListReq struct { state protoimpl.MessageState @@ -1156,212 +1180,6 @@ func (x *FriendDelBlackResp) GetUserId() string { return "" } -//接收 -type FriendReceiveReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FriendId string `protobuf:"bytes,1,opt,name=friendId,proto3" json:"friendId"` -} - -func (x *FriendReceiveReq) Reset() { - *x = FriendReceiveReq{} - if protoimpl.UnsafeEnabled { - mi := &file_friend_friend_msg_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FriendReceiveReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FriendReceiveReq) ProtoMessage() {} - -func (x *FriendReceiveReq) ProtoReflect() protoreflect.Message { - mi := &file_friend_friend_msg_proto_msgTypes[23] - 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 FriendReceiveReq.ProtoReflect.Descriptor instead. -func (*FriendReceiveReq) Descriptor() ([]byte, []int) { - return file_friend_friend_msg_proto_rawDescGZIP(), []int{23} -} - -func (x *FriendReceiveReq) GetFriendId() string { - if x != nil { - return x.FriendId - } - return "" -} - -type FriendReceiveResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FriendId string `protobuf:"bytes,1,opt,name=friendId,proto3" json:"friendId"` - UserId string `protobuf:"bytes,2,opt,name=userId,proto3" json:"userId"` -} - -func (x *FriendReceiveResp) Reset() { - *x = FriendReceiveResp{} - if protoimpl.UnsafeEnabled { - mi := &file_friend_friend_msg_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FriendReceiveResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FriendReceiveResp) ProtoMessage() {} - -func (x *FriendReceiveResp) ProtoReflect() protoreflect.Message { - mi := &file_friend_friend_msg_proto_msgTypes[24] - 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 FriendReceiveResp.ProtoReflect.Descriptor instead. -func (*FriendReceiveResp) Descriptor() ([]byte, []int) { - return file_friend_friend_msg_proto_rawDescGZIP(), []int{24} -} - -func (x *FriendReceiveResp) GetFriendId() string { - if x != nil { - return x.FriendId - } - return "" -} - -func (x *FriendReceiveResp) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -//赠送 -type FriendGiveReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FriendId string `protobuf:"bytes,1,opt,name=friendId,proto3" json:"friendId"` -} - -func (x *FriendGiveReq) Reset() { - *x = FriendGiveReq{} - if protoimpl.UnsafeEnabled { - mi := &file_friend_friend_msg_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FriendGiveReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FriendGiveReq) ProtoMessage() {} - -func (x *FriendGiveReq) ProtoReflect() protoreflect.Message { - mi := &file_friend_friend_msg_proto_msgTypes[25] - 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 FriendGiveReq.ProtoReflect.Descriptor instead. -func (*FriendGiveReq) Descriptor() ([]byte, []int) { - return file_friend_friend_msg_proto_rawDescGZIP(), []int{25} -} - -func (x *FriendGiveReq) GetFriendId() string { - if x != nil { - return x.FriendId - } - return "" -} - -type FriendGiveResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FriendId string `protobuf:"bytes,1,opt,name=friendId,proto3" json:"friendId"` - UserId string `protobuf:"bytes,2,opt,name=userId,proto3" json:"userId"` -} - -func (x *FriendGiveResp) Reset() { - *x = FriendGiveResp{} - if protoimpl.UnsafeEnabled { - mi := &file_friend_friend_msg_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FriendGiveResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FriendGiveResp) ProtoMessage() {} - -func (x *FriendGiveResp) ProtoReflect() protoreflect.Message { - mi := &file_friend_friend_msg_proto_msgTypes[26] - 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 FriendGiveResp.ProtoReflect.Descriptor instead. -func (*FriendGiveResp) Descriptor() ([]byte, []int) { - return file_friend_friend_msg_proto_rawDescGZIP(), []int{26} -} - -func (x *FriendGiveResp) GetFriendId() string { - if x != nil { - return x.FriendId - } - return "" -} - -func (x *FriendGiveResp) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - //好友数量 type FriendTotalReq struct { state protoimpl.MessageState @@ -1374,7 +1192,7 @@ type FriendTotalReq struct { func (x *FriendTotalReq) Reset() { *x = FriendTotalReq{} if protoimpl.UnsafeEnabled { - mi := &file_friend_friend_msg_proto_msgTypes[27] + mi := &file_friend_friend_msg_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1387,7 +1205,7 @@ func (x *FriendTotalReq) String() string { func (*FriendTotalReq) ProtoMessage() {} func (x *FriendTotalReq) ProtoReflect() protoreflect.Message { - mi := &file_friend_friend_msg_proto_msgTypes[27] + mi := &file_friend_friend_msg_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1400,7 +1218,7 @@ func (x *FriendTotalReq) ProtoReflect() protoreflect.Message { // Deprecated: Use FriendTotalReq.ProtoReflect.Descriptor instead. func (*FriendTotalReq) Descriptor() ([]byte, []int) { - return file_friend_friend_msg_proto_rawDescGZIP(), []int{27} + return file_friend_friend_msg_proto_rawDescGZIP(), []int{23} } func (x *FriendTotalReq) GetFriendId() string { @@ -1422,7 +1240,7 @@ type FriendTotalResp struct { func (x *FriendTotalResp) Reset() { *x = FriendTotalResp{} if protoimpl.UnsafeEnabled { - mi := &file_friend_friend_msg_proto_msgTypes[28] + mi := &file_friend_friend_msg_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1435,7 +1253,7 @@ func (x *FriendTotalResp) String() string { func (*FriendTotalResp) ProtoMessage() {} func (x *FriendTotalResp) ProtoReflect() protoreflect.Message { - mi := &file_friend_friend_msg_proto_msgTypes[28] + mi := &file_friend_friend_msg_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1448,7 +1266,7 @@ func (x *FriendTotalResp) ProtoReflect() protoreflect.Message { // Deprecated: Use FriendTotalResp.ProtoReflect.Descriptor instead. func (*FriendTotalResp) Descriptor() ([]byte, []int) { - return file_friend_friend_msg_proto_rawDescGZIP(), []int{28} + return file_friend_friend_msg_proto_rawDescGZIP(), []int{24} } func (x *FriendTotalResp) GetFriendId() string { @@ -1475,7 +1293,7 @@ type FriendZanlistReq struct { func (x *FriendZanlistReq) Reset() { *x = FriendZanlistReq{} if protoimpl.UnsafeEnabled { - mi := &file_friend_friend_msg_proto_msgTypes[29] + mi := &file_friend_friend_msg_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1488,7 +1306,7 @@ func (x *FriendZanlistReq) String() string { func (*FriendZanlistReq) ProtoMessage() {} func (x *FriendZanlistReq) ProtoReflect() protoreflect.Message { - mi := &file_friend_friend_msg_proto_msgTypes[29] + mi := &file_friend_friend_msg_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1501,7 +1319,7 @@ func (x *FriendZanlistReq) ProtoReflect() protoreflect.Message { // Deprecated: Use FriendZanlistReq.ProtoReflect.Descriptor instead. func (*FriendZanlistReq) Descriptor() ([]byte, []int) { - return file_friend_friend_msg_proto_rawDescGZIP(), []int{29} + return file_friend_friend_msg_proto_rawDescGZIP(), []int{25} } type FriendZanlistResp struct { @@ -1515,7 +1333,7 @@ type FriendZanlistResp struct { func (x *FriendZanlistResp) Reset() { *x = FriendZanlistResp{} if protoimpl.UnsafeEnabled { - mi := &file_friend_friend_msg_proto_msgTypes[30] + mi := &file_friend_friend_msg_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1528,7 +1346,7 @@ func (x *FriendZanlistResp) String() string { func (*FriendZanlistResp) ProtoMessage() {} func (x *FriendZanlistResp) ProtoReflect() protoreflect.Message { - mi := &file_friend_friend_msg_proto_msgTypes[30] + mi := &file_friend_friend_msg_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1541,7 +1359,7 @@ func (x *FriendZanlistResp) ProtoReflect() protoreflect.Message { // Deprecated: Use FriendZanlistResp.ProtoReflect.Descriptor instead. func (*FriendZanlistResp) Descriptor() ([]byte, []int) { - return file_friend_friend_msg_proto_rawDescGZIP(), []int{30} + return file_friend_friend_msg_proto_rawDescGZIP(), []int{26} } func (x *FriendZanlistResp) GetList() []*FriendBase { @@ -1557,13 +1375,13 @@ type FriendZanReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FriendId string `protobuf:"bytes,1,opt,name=friendId,proto3" json:"friendId"` + FriendIds []string `protobuf:"bytes,1,rep,name=friendIds,proto3" json:"friendIds"` } func (x *FriendZanReq) Reset() { *x = FriendZanReq{} if protoimpl.UnsafeEnabled { - mi := &file_friend_friend_msg_proto_msgTypes[31] + mi := &file_friend_friend_msg_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1576,7 +1394,7 @@ func (x *FriendZanReq) String() string { func (*FriendZanReq) ProtoMessage() {} func (x *FriendZanReq) ProtoReflect() protoreflect.Message { - mi := &file_friend_friend_msg_proto_msgTypes[31] + mi := &file_friend_friend_msg_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1589,14 +1407,14 @@ func (x *FriendZanReq) ProtoReflect() protoreflect.Message { // Deprecated: Use FriendZanReq.ProtoReflect.Descriptor instead. func (*FriendZanReq) Descriptor() ([]byte, []int) { - return file_friend_friend_msg_proto_rawDescGZIP(), []int{31} + return file_friend_friend_msg_proto_rawDescGZIP(), []int{27} } -func (x *FriendZanReq) GetFriendId() string { +func (x *FriendZanReq) GetFriendIds() []string { if x != nil { - return x.FriendId + return x.FriendIds } - return "" + return nil } type FriendZanResp struct { @@ -1610,7 +1428,7 @@ type FriendZanResp struct { func (x *FriendZanResp) Reset() { *x = FriendZanResp{} if protoimpl.UnsafeEnabled { - mi := &file_friend_friend_msg_proto_msgTypes[32] + mi := &file_friend_friend_msg_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1623,7 +1441,7 @@ func (x *FriendZanResp) String() string { func (*FriendZanResp) ProtoMessage() {} func (x *FriendZanResp) ProtoReflect() protoreflect.Message { - mi := &file_friend_friend_msg_proto_msgTypes[32] + mi := &file_friend_friend_msg_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1636,7 +1454,7 @@ func (x *FriendZanResp) ProtoReflect() protoreflect.Message { // Deprecated: Use FriendZanResp.ProtoReflect.Descriptor instead. func (*FriendZanResp) Descriptor() ([]byte, []int) { - return file_friend_friend_msg_proto_rawDescGZIP(), []int{32} + return file_friend_friend_msg_proto_rawDescGZIP(), []int{28} } func (x *FriendZanResp) GetFlag() bool { @@ -1652,13 +1470,13 @@ type FriendZanreceiveReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FriendId string `protobuf:"bytes,1,opt,name=friendId,proto3" json:"friendId"` + FriendIds []string `protobuf:"bytes,1,rep,name=friendIds,proto3" json:"friendIds"` } func (x *FriendZanreceiveReq) Reset() { *x = FriendZanreceiveReq{} if protoimpl.UnsafeEnabled { - mi := &file_friend_friend_msg_proto_msgTypes[33] + mi := &file_friend_friend_msg_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1671,7 +1489,7 @@ func (x *FriendZanreceiveReq) String() string { func (*FriendZanreceiveReq) ProtoMessage() {} func (x *FriendZanreceiveReq) ProtoReflect() protoreflect.Message { - mi := &file_friend_friend_msg_proto_msgTypes[33] + mi := &file_friend_friend_msg_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1684,14 +1502,14 @@ func (x *FriendZanreceiveReq) ProtoReflect() protoreflect.Message { // Deprecated: Use FriendZanreceiveReq.ProtoReflect.Descriptor instead. func (*FriendZanreceiveReq) Descriptor() ([]byte, []int) { - return file_friend_friend_msg_proto_rawDescGZIP(), []int{33} + return file_friend_friend_msg_proto_rawDescGZIP(), []int{29} } -func (x *FriendZanreceiveReq) GetFriendId() string { +func (x *FriendZanreceiveReq) GetFriendIds() []string { if x != nil { - return x.FriendId + return x.FriendIds } - return "" + return nil } type FriendZanreceiveResp struct { @@ -1705,7 +1523,7 @@ type FriendZanreceiveResp struct { func (x *FriendZanreceiveResp) Reset() { *x = FriendZanreceiveResp{} if protoimpl.UnsafeEnabled { - mi := &file_friend_friend_msg_proto_msgTypes[34] + mi := &file_friend_friend_msg_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1718,7 +1536,7 @@ func (x *FriendZanreceiveResp) String() string { func (*FriendZanreceiveResp) ProtoMessage() {} func (x *FriendZanreceiveResp) ProtoReflect() protoreflect.Message { - mi := &file_friend_friend_msg_proto_msgTypes[34] + mi := &file_friend_friend_msg_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1731,7 +1549,7 @@ func (x *FriendZanreceiveResp) ProtoReflect() protoreflect.Message { // Deprecated: Use FriendZanreceiveResp.ProtoReflect.Descriptor instead. func (*FriendZanreceiveResp) Descriptor() ([]byte, []int) { - return file_friend_friend_msg_proto_rawDescGZIP(), []int{34} + return file_friend_friend_msg_proto_rawDescGZIP(), []int{30} } func (x *FriendZanreceiveResp) GetFlag() bool { @@ -1745,7 +1563,7 @@ var File_friend_friend_msg_proto protoreflect.FileDescriptor var file_friend_friend_msg_proto_rawDesc = []byte{ 0x0a, 0x17, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x2f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, - 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x46, 0x72, + 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x02, 0x0a, 0x0a, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, @@ -1758,107 +1576,98 @@ var file_friend_friend_msg_proto_rawDesc = []byte{ 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x22, 0x0f, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x31, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x5a, 0x61, 0x6e, 0x65, 0x64, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x5a, 0x61, 0x6e, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, + 0x69, 0x73, 0x47, 0x65, 0x74, 0x5a, 0x61, 0x6e, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x69, 0x73, 0x47, 0x65, 0x74, 0x5a, 0x61, 0x6e, 0x65, 0x64, 0x22, 0x0f, 0x0a, 0x0d, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x31, 0x0a, + 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x1f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, + 0x22, 0x11, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x71, 0x22, 0x33, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x61, - 0x73, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x11, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x22, 0x33, 0x0a, 0x10, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x1f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, - 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, - 0x22, 0x2c, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, - 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x45, - 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x0c, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, - 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, - 0x64, 0x22, 0x43, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 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, 0x2e, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x41, 0x67, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x66, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x49, 0x64, 0x73, 0x22, 0x23, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x41, 0x67, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x2f, 0x0a, 0x0f, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, - 0x0a, 0x09, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x09, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x73, 0x22, 0x24, 0x0a, 0x10, - 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, - 0x75, 0x6d, 0x22, 0x14, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, - 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x36, 0x0a, 0x13, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x1f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, - 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, - 0x22, 0x2d, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, - 0x37, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x65, - 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x3c, - 0x0a, 0x13, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25, 0x0a, 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, - 0x61, 0x73, 0x65, 0x52, 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x22, 0x2f, 0x0a, 0x11, - 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, - 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x48, 0x0a, - 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 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, 0x2f, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x44, 0x65, 0x6c, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, - 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x48, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, - 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 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, 0x2e, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x49, 0x64, 0x22, 0x47, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, - 0x64, 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, 0x2b, 0x0a, 0x0d, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, - 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x47, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, + 0x73, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2c, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x45, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x2a, 0x0a, + 0x0c, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, + 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x0d, 0x46, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 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, 0x2c, - 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, - 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x0f, - 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x22, 0x12, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x6c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x34, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, - 0x61, 0x6e, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x42, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2a, 0x0a, 0x0c, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x2e, + 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x67, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, + 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x09, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x73, 0x22, 0x23, + 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x67, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x4e, 0x75, 0x6d, 0x22, 0x2f, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x66, + 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x66, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x49, 0x64, 0x73, 0x22, 0x24, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, + 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x14, 0x0a, 0x12, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x22, 0x36, 0x0a, 0x13, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x61, + 0x73, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2d, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6e, + 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, + 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x37, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x06, 0x66, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x65, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x22, 0x14, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x3c, 0x0a, 0x13, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25, 0x0a, + 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x65, 0x52, 0x07, 0x66, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x73, 0x22, 0x2f, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, + 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x48, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, + 0x6c, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x5a, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x22, 0x31, 0x0a, 0x13, - 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x22, + 0x72, 0x69, 0x65, 0x6e, 0x64, 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, + 0x2f, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x42, 0x6c, 0x61, 0x63, + 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, + 0x22, 0x48, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x42, 0x6c, 0x61, + 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, + 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, 0x2c, 0x0a, 0x0e, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, + 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x12, 0x0a, + 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x22, 0x34, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73, + 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x2c, 0x0a, 0x0c, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x5a, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x66, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x49, 0x64, 0x73, 0x22, 0x23, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, + 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x22, 0x33, 0x0a, 0x13, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, + 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x64, 0x73, 0x22, 0x2a, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x42, 0x06, 0x5a, 0x04, 0x2e, @@ -1877,7 +1686,7 @@ func file_friend_friend_msg_proto_rawDescGZIP() []byte { return file_friend_friend_msg_proto_rawDescData } -var file_friend_friend_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 35) +var file_friend_friend_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 31) var file_friend_friend_msg_proto_goTypes = []interface{}{ (*FriendBase)(nil), // 0: FriendBase (*FriendListReq)(nil), // 1: FriendListReq @@ -1902,18 +1711,14 @@ var file_friend_friend_msg_proto_goTypes = []interface{}{ (*FriendBlackAddResp)(nil), // 20: FriendBlackAddResp (*FriendDelBlackReq)(nil), // 21: FriendDelBlackReq (*FriendDelBlackResp)(nil), // 22: FriendDelBlackResp - (*FriendReceiveReq)(nil), // 23: FriendReceiveReq - (*FriendReceiveResp)(nil), // 24: FriendReceiveResp - (*FriendGiveReq)(nil), // 25: FriendGiveReq - (*FriendGiveResp)(nil), // 26: FriendGiveResp - (*FriendTotalReq)(nil), // 27: FriendTotalReq - (*FriendTotalResp)(nil), // 28: FriendTotalResp - (*FriendZanlistReq)(nil), // 29: FriendZanlistReq - (*FriendZanlistResp)(nil), // 30: FriendZanlistResp - (*FriendZanReq)(nil), // 31: FriendZanReq - (*FriendZanResp)(nil), // 32: FriendZanResp - (*FriendZanreceiveReq)(nil), // 33: FriendZanreceiveReq - (*FriendZanreceiveResp)(nil), // 34: FriendZanreceiveResp + (*FriendTotalReq)(nil), // 23: FriendTotalReq + (*FriendTotalResp)(nil), // 24: FriendTotalResp + (*FriendZanlistReq)(nil), // 25: FriendZanlistReq + (*FriendZanlistResp)(nil), // 26: FriendZanlistResp + (*FriendZanReq)(nil), // 27: FriendZanReq + (*FriendZanResp)(nil), // 28: FriendZanResp + (*FriendZanreceiveReq)(nil), // 29: FriendZanreceiveReq + (*FriendZanreceiveResp)(nil), // 30: FriendZanreceiveResp } var file_friend_friend_msg_proto_depIdxs = []int32{ 0, // 0: FriendListResp.list:type_name -> FriendBase @@ -2212,54 +2017,6 @@ func file_friend_friend_msg_proto_init() { } } file_friend_friend_msg_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FriendReceiveReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_friend_friend_msg_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FriendReceiveResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_friend_friend_msg_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FriendGiveReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_friend_friend_msg_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FriendGiveResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_friend_friend_msg_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FriendTotalReq); i { case 0: return &v.state @@ -2271,7 +2028,7 @@ func file_friend_friend_msg_proto_init() { return nil } } - file_friend_friend_msg_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_friend_friend_msg_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FriendTotalResp); i { case 0: return &v.state @@ -2283,7 +2040,7 @@ func file_friend_friend_msg_proto_init() { return nil } } - file_friend_friend_msg_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_friend_friend_msg_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FriendZanlistReq); i { case 0: return &v.state @@ -2295,7 +2052,7 @@ func file_friend_friend_msg_proto_init() { return nil } } - file_friend_friend_msg_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_friend_friend_msg_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FriendZanlistResp); i { case 0: return &v.state @@ -2307,7 +2064,7 @@ func file_friend_friend_msg_proto_init() { return nil } } - file_friend_friend_msg_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_friend_friend_msg_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FriendZanReq); i { case 0: return &v.state @@ -2319,7 +2076,7 @@ func file_friend_friend_msg_proto_init() { return nil } } - file_friend_friend_msg_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_friend_friend_msg_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FriendZanResp); i { case 0: return &v.state @@ -2331,7 +2088,7 @@ func file_friend_friend_msg_proto_init() { return nil } } - file_friend_friend_msg_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_friend_friend_msg_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FriendZanreceiveReq); i { case 0: return &v.state @@ -2343,7 +2100,7 @@ func file_friend_friend_msg_proto_init() { return nil } } - file_friend_friend_msg_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_friend_friend_msg_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FriendZanreceiveResp); i { case 0: return &v.state @@ -2362,7 +2119,7 @@ func file_friend_friend_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_friend_friend_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 35, + NumMessages: 31, NumExtensions: 0, NumServices: 0, },