diff --git a/internal/common/convert/convert.go b/internal/common/convert/convert.go index 8349d5ea7..40a754255 100644 --- a/internal/common/convert/convert.go +++ b/internal/common/convert/convert.go @@ -99,13 +99,26 @@ func (*PBFriendRequest) PB2DB(friendRequests []*sdk.FriendRequest) (DBFriendRequ return } -func (*DBFriendRequest) DB2PB(ctx context.Context, zk discoveryRegistry.SvcDiscoveryRegistry, friendRequests []*relation.FriendRequestModel) (PBFriendRequests []*sdk.FriendRequest, err error) { +func (db *DBFriendRequest) DB2PB(ctx context.Context, friendRequests []*relation.FriendRequestModel) (PBFriendRequests []*sdk.FriendRequest, err error) { + userIDs := make([]string, 0) + if len(friendRequests) > 0 { + userIDs = append(userIDs, friendRequests[0].FromUserID) + } + users, err := db.userCheck.GetUsersInfoMap(ctx, userIDs, true) + if err != nil { + return nil, err + } for _, v := range friendRequests { - u, err := NewDBFriendRequest(v, zk).Convert(ctx) - if err != nil { - return nil, err - } - PBFriendRequests = append(PBFriendRequests, u) + pbFriendRequest := &sdk.FriendRequest{} + pbFriendRequest.FromNickname = users[v.FromUserID].Nickname + pbFriendRequest.FromFaceURL = users[v.FromUserID].FaceURL + pbFriendRequest.FromGender = users[v.FromUserID].Gender + pbFriendRequest.ToNickname = users[v.ToUserID].Nickname + pbFriendRequest.ToFaceURL = users[v.ToUserID].FaceURL + pbFriendRequest.ToGender = users[v.ToUserID].Gender + pbFriendRequest.CreateTime = db.CreateTime.Unix() + pbFriendRequest.HandleTime = db.HandleTime.Unix() + PBFriendRequests = append(PBFriendRequests, pbFriendRequest) } return } @@ -155,13 +168,25 @@ func (*PBBlack) PB2DB(blacks []*sdk.BlackInfo) (DBBlacks []*relation.BlackModel, return } -func (*DBBlack) DB2PB(ctx context.Context, zk discoveryRegistry.SvcDiscoveryRegistry, blacks []*relation.BlackModel) (PBBlacks []*sdk.BlackInfo, err error) { +func (db *DBBlack) DB2PB(ctx context.Context, blacks []*relation.BlackModel) (PBBlacks []*sdk.BlackInfo, err error) { + userIDs := make([]string, 0) for _, v := range blacks { - u, err := NewDBBlack(v, zk).Convert(ctx) - if err != nil { - return nil, err - } - PBBlacks = append(PBBlacks, u) + userIDs = append(userIDs, v.BlockUserID) + } + if len(blacks) > 0 { + userIDs = append(userIDs, blacks[0].OwnerUserID) + } + + users, err := db.userCheck.GetUsersInfoMap(ctx, userIDs, true) + if err != nil { + return nil, err + } + + for _, v := range blacks { + pbBlack := &sdk.BlackInfo{} + utils.CopyStructFields(pbBlack, users[v.OwnerUserID]) + utils.CopyStructFields(pbBlack.BlackUserInfo, users[v.BlockUserID]) + PBBlacks = append(PBBlacks, pbBlack) } return } @@ -181,7 +206,7 @@ func NewPBBlack(blackInfo *sdk.BlackInfo) *PBBlack { func (pb *PBBlack) Convert() (*relation.BlackModel, error) { dbBlack := &relation.BlackModel{} dbBlack.BlockUserID = pb.BlackUserInfo.UserID - dbBlack.CreateTime = utils.UnixSecondToTime(int64(pb.CreateTime)) + dbBlack.CreateTime = utils.UnixSecondToTime(pb.CreateTime) return dbBlack, nil } func (db *DBBlack) Convert(ctx context.Context) (*sdk.BlackInfo, error) { diff --git a/internal/rpc/friend/black.go b/internal/rpc/friend/black.go index 9969fd478..8b01b7fbd 100644 --- a/internal/rpc/friend/black.go +++ b/internal/rpc/friend/black.go @@ -18,7 +18,7 @@ func (s *friendServer) GetPaginationBlacks(ctx context.Context, req *pbFriend.Ge if err != nil { return nil, err } - resp.Blacks, err = (*convert.DBBlack)(nil).DB2PB(blacks) + resp.Blacks, err = (*convert.NewDBBlack(nil, s.RegisterCenter)).DB2PB(ctx, blacks) if err != nil { return nil, err } diff --git a/internal/rpc/friend/friend.go b/internal/rpc/friend/friend.go index 2b84ff23e..6f0523fc6 100644 --- a/internal/rpc/friend/friend.go +++ b/internal/rpc/friend/friend.go @@ -235,7 +235,7 @@ func (s *friendServer) GetPaginationFriendsApplyTo(ctx context.Context, req *pbF if err != nil { return nil, err } - resp.FriendRequests, err = (*convert.DBFriendRequest)(nil).DB2PB(ctx, s.RegisterCenter, friendRequests) + resp.FriendRequests, err = (*convert.NewDBFriendRequest(nil, s.RegisterCenter)).DB2PB(ctx, friendRequests) if err != nil { return nil, err } @@ -253,7 +253,7 @@ func (s *friendServer) GetPaginationFriendsApplyFrom(ctx context.Context, req *p if err != nil { return nil, err } - resp.FriendRequests, err = (*convert.DBFriendRequest)(nil).DB2PB(ctx, s.RegisterCenter, friendRequests) + resp.FriendRequests, err = (*convert.NewDBFriendRequest(nil, s.RegisterCenter)).DB2PB(ctx, friendRequests) if err != nil { return nil, err }