mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-05-01 15:18:59 +08:00
Merge branch 'errcode' of https://github.com/OpenIMSDK/Open-IM-Server into errcode
This commit is contained in:
commit
7c00d0f621
@ -116,3 +116,15 @@ func (g *GroupChecker) GetOwnerAndAdminInfos(ctx context.Context, groupID string
|
|||||||
})
|
})
|
||||||
return resp.Members, err
|
return resp.Members, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (g *GroupChecker) GetOwnerInfo(ctx context.Context, groupID string) (*sdkws.GroupMemberFullInfo, error) {
|
||||||
|
cc, err := g.getConn()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
resp, err := group.NewGroupClient(cc).GetGroupMemberRoleLevel(ctx, &group.GetGroupMemberRoleLevelReq{
|
||||||
|
GroupID: groupID,
|
||||||
|
RoleLevels: []int32{constant.GroupOwner},
|
||||||
|
})
|
||||||
|
return resp.Members[0], err
|
||||||
|
}
|
||||||
|
@ -1,29 +1,22 @@
|
|||||||
package convert
|
package convert
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"Open_IM/internal/common/check"
|
||||||
"Open_IM/pkg/common/db/table/relation"
|
"Open_IM/pkg/common/db/table/relation"
|
||||||
|
discoveryRegistry "Open_IM/pkg/discoveryregistry"
|
||||||
sdk "Open_IM/pkg/proto/sdkws"
|
sdk "Open_IM/pkg/proto/sdkws"
|
||||||
|
"context"
|
||||||
utils "github.com/OpenIMSDK/open_utils"
|
utils "github.com/OpenIMSDK/open_utils"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func getUsersInfo(userIDs []string) ([]*sdk.UserInfo, error) {
|
|
||||||
return nil, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func getGroupOwnerInfo(groupID string) (*sdk.GroupMemberFullInfo, error) {
|
|
||||||
return nil, nil
|
|
||||||
}
|
|
||||||
func getNumberOfGroupMember(groupID string) (int32, error) {
|
|
||||||
return 0, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type DBFriend struct {
|
type DBFriend struct {
|
||||||
*relation.FriendModel
|
*relation.FriendModel
|
||||||
|
userCheck *check.UserCheck
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDBFriend(friend *relation.FriendModel) *DBFriend {
|
func NewDBFriend(friend *relation.FriendModel, zk discoveryRegistry.SvcDiscoveryRegistry) *DBFriend {
|
||||||
return &DBFriend{FriendModel: friend}
|
return &DBFriend{FriendModel: friend, userCheck: check.NewUserCheck(zk)}
|
||||||
}
|
}
|
||||||
|
|
||||||
type PBFriend struct {
|
type PBFriend struct {
|
||||||
@ -45,9 +38,9 @@ func (*PBFriend) PB2DB(friends []*sdk.FriendInfo) (DBFriends []*relation.FriendM
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*DBFriend) DB2PB(friends []*relation.FriendModel) (PBFriends []*sdk.FriendInfo, err error) {
|
func (*DBFriend) DB2PB(ctx context.Context, zk discoveryRegistry.SvcDiscoveryRegistry, friends []*relation.FriendModel) (PBFriends []*sdk.FriendInfo, err error) {
|
||||||
for _, v := range friends {
|
for _, v := range friends {
|
||||||
u, err := NewDBFriend(v).Convert()
|
u, err := NewDBFriend(v, zk).Convert(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -56,14 +49,14 @@ func (*DBFriend) DB2PB(friends []*relation.FriendModel) (PBFriends []*sdk.Friend
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (db *DBFriend) Convert() (*sdk.FriendInfo, error) {
|
func (db *DBFriend) Convert(ctx context.Context) (*sdk.FriendInfo, error) {
|
||||||
pbFriend := &sdk.FriendInfo{FriendUser: &sdk.UserInfo{}}
|
pbFriend := &sdk.FriendInfo{FriendUser: &sdk.UserInfo{}}
|
||||||
utils.CopyStructFields(pbFriend, db)
|
utils.CopyStructFields(pbFriend, db)
|
||||||
user, err := getUsersInfo([]string{db.FriendUserID})
|
user, err := db.userCheck.GetUsersInfo(ctx, db.FriendUserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
utils.CopyStructFields(pbFriend.FriendUser, user[0])
|
utils.CopyStructFields(pbFriend.FriendUser, user)
|
||||||
pbFriend.CreateTime = db.CreateTime.Unix()
|
pbFriend.CreateTime = db.CreateTime.Unix()
|
||||||
|
|
||||||
pbFriend.FriendUser.CreateTime = db.CreateTime.Unix()
|
pbFriend.FriendUser.CreateTime = db.CreateTime.Unix()
|
||||||
@ -80,10 +73,11 @@ func (pb *PBFriend) Convert() (*relation.FriendModel, error) {
|
|||||||
|
|
||||||
type DBFriendRequest struct {
|
type DBFriendRequest struct {
|
||||||
*relation.FriendRequestModel
|
*relation.FriendRequestModel
|
||||||
|
userCheck *check.UserCheck
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDBFriendRequest(friendRequest *relation.FriendRequestModel) *DBFriendRequest {
|
func NewDBFriendRequest(friendRequest *relation.FriendRequestModel, zk discoveryRegistry.SvcDiscoveryRegistry) *DBFriendRequest {
|
||||||
return &DBFriendRequest{FriendRequestModel: friendRequest}
|
return &DBFriendRequest{FriendRequestModel: friendRequest, userCheck: check.NewUserCheck(zk)}
|
||||||
}
|
}
|
||||||
|
|
||||||
type PBFriendRequest struct {
|
type PBFriendRequest struct {
|
||||||
@ -105,9 +99,9 @@ func (*PBFriendRequest) PB2DB(friendRequests []*sdk.FriendRequest) (DBFriendRequ
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*DBFriendRequest) DB2PB(friendRequests []*relation.FriendRequestModel) (PBFriendRequests []*sdk.FriendRequest, err error) {
|
func (*DBFriendRequest) DB2PB(ctx context.Context, zk discoveryRegistry.SvcDiscoveryRegistry, friendRequests []*relation.FriendRequestModel) (PBFriendRequests []*sdk.FriendRequest, err error) {
|
||||||
for _, v := range friendRequests {
|
for _, v := range friendRequests {
|
||||||
u, err := NewDBFriendRequest(v).Convert()
|
u, err := NewDBFriendRequest(v, zk).Convert(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -123,23 +117,23 @@ func (pb *PBFriendRequest) Convert() (*relation.FriendRequestModel, error) {
|
|||||||
dbFriendRequest.HandleTime = utils.UnixSecondToTime(int64(pb.HandleTime))
|
dbFriendRequest.HandleTime = utils.UnixSecondToTime(int64(pb.HandleTime))
|
||||||
return dbFriendRequest, nil
|
return dbFriendRequest, nil
|
||||||
}
|
}
|
||||||
func (db *DBFriendRequest) Convert() (*sdk.FriendRequest, error) {
|
func (db *DBFriendRequest) Convert(ctx context.Context) (*sdk.FriendRequest, error) {
|
||||||
pbFriendRequest := &sdk.FriendRequest{}
|
pbFriendRequest := &sdk.FriendRequest{}
|
||||||
utils.CopyStructFields(pbFriendRequest, db)
|
utils.CopyStructFields(pbFriendRequest, db)
|
||||||
user, err := getUsersInfo([]string{db.FromUserID})
|
user, err := db.userCheck.GetUsersInfo(ctx, db.FromUserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
pbFriendRequest.FromNickname = user[0].Nickname
|
pbFriendRequest.FromNickname = user.Nickname
|
||||||
pbFriendRequest.FromFaceURL = user[0].FaceURL
|
pbFriendRequest.FromFaceURL = user.FaceURL
|
||||||
pbFriendRequest.FromGender = user[0].Gender
|
pbFriendRequest.FromGender = user.Gender
|
||||||
user, err = getUsersInfo([]string{db.ToUserID})
|
user, err = db.userCheck.GetUsersInfo(ctx, db.ToUserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
pbFriendRequest.ToNickname = user[0].Nickname
|
pbFriendRequest.ToNickname = user.Nickname
|
||||||
pbFriendRequest.ToFaceURL = user[0].FaceURL
|
pbFriendRequest.ToFaceURL = user.FaceURL
|
||||||
pbFriendRequest.ToGender = user[0].Gender
|
pbFriendRequest.ToGender = user.Gender
|
||||||
pbFriendRequest.CreateTime = db.CreateTime.Unix()
|
pbFriendRequest.CreateTime = db.CreateTime.Unix()
|
||||||
pbFriendRequest.HandleTime = db.HandleTime.Unix()
|
pbFriendRequest.HandleTime = db.HandleTime.Unix()
|
||||||
return pbFriendRequest, nil
|
return pbFriendRequest, nil
|
||||||
@ -147,6 +141,7 @@ func (db *DBFriendRequest) Convert() (*sdk.FriendRequest, error) {
|
|||||||
|
|
||||||
type DBBlack struct {
|
type DBBlack struct {
|
||||||
*relation.BlackModel
|
*relation.BlackModel
|
||||||
|
userCheck *check.UserCheck
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*PBBlack) PB2DB(blacks []*sdk.BlackInfo) (DBBlacks []*relation.BlackModel, err error) {
|
func (*PBBlack) PB2DB(blacks []*sdk.BlackInfo) (DBBlacks []*relation.BlackModel, err error) {
|
||||||
@ -160,9 +155,9 @@ func (*PBBlack) PB2DB(blacks []*sdk.BlackInfo) (DBBlacks []*relation.BlackModel,
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*DBBlack) DB2PB(blacks []*relation.BlackModel) (PBBlacks []*sdk.BlackInfo, err error) {
|
func (*DBBlack) DB2PB(ctx context.Context, zk discoveryRegistry.SvcDiscoveryRegistry, blacks []*relation.BlackModel) (PBBlacks []*sdk.BlackInfo, err error) {
|
||||||
for _, v := range blacks {
|
for _, v := range blacks {
|
||||||
u, err := NewDBBlack(v).Convert()
|
u, err := NewDBBlack(v, zk).Convert(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -171,8 +166,8 @@ func (*DBBlack) DB2PB(blacks []*relation.BlackModel) (PBBlacks []*sdk.BlackInfo,
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDBBlack(black *relation.BlackModel) *DBBlack {
|
func NewDBBlack(black *relation.BlackModel, zk discoveryRegistry.SvcDiscoveryRegistry) *DBBlack {
|
||||||
return &DBBlack{BlackModel: black}
|
return &DBBlack{BlackModel: black, userCheck: check.NewUserCheck(zk)}
|
||||||
}
|
}
|
||||||
|
|
||||||
type PBBlack struct {
|
type PBBlack struct {
|
||||||
@ -189,11 +184,11 @@ func (pb *PBBlack) Convert() (*relation.BlackModel, error) {
|
|||||||
dbBlack.CreateTime = utils.UnixSecondToTime(int64(pb.CreateTime))
|
dbBlack.CreateTime = utils.UnixSecondToTime(int64(pb.CreateTime))
|
||||||
return dbBlack, nil
|
return dbBlack, nil
|
||||||
}
|
}
|
||||||
func (db *DBBlack) Convert() (*sdk.BlackInfo, error) {
|
func (db *DBBlack) Convert(ctx context.Context) (*sdk.BlackInfo, error) {
|
||||||
pbBlack := &sdk.BlackInfo{}
|
pbBlack := &sdk.BlackInfo{}
|
||||||
utils.CopyStructFields(pbBlack, db)
|
utils.CopyStructFields(pbBlack, db)
|
||||||
pbBlack.CreateTime = db.CreateTime.Unix()
|
pbBlack.CreateTime = db.CreateTime.Unix()
|
||||||
user, err := getUsersInfo([]string{db.BlockUserID})
|
user, err := db.userCheck.GetUsersInfo(ctx, db.BlockUserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -203,6 +198,8 @@ func (db *DBBlack) Convert() (*sdk.BlackInfo, error) {
|
|||||||
|
|
||||||
type DBGroup struct {
|
type DBGroup struct {
|
||||||
*relation.GroupModel
|
*relation.GroupModel
|
||||||
|
zk discoveryRegistry.SvcDiscoveryRegistry
|
||||||
|
groupCheck *check.GroupChecker
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*PBGroup) PB2DB(groups []*sdk.GroupInfo) (DBGroups []*relation.GroupModel, err error) {
|
func (*PBGroup) PB2DB(groups []*sdk.GroupInfo) (DBGroups []*relation.GroupModel, err error) {
|
||||||
@ -216,9 +213,9 @@ func (*PBGroup) PB2DB(groups []*sdk.GroupInfo) (DBGroups []*relation.GroupModel,
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*DBGroup) DB2PB(groups []*relation.GroupModel) (PBGroups []*sdk.GroupInfo, err error) {
|
func (db *DBGroup) DB2PB(ctx context.Context, zk discoveryRegistry.SvcDiscoveryRegistry, groups []*relation.GroupModel) (PBGroups []*sdk.GroupInfo, err error) {
|
||||||
for _, v := range groups {
|
for _, v := range groups {
|
||||||
u, err := NewDBGroup(v).Convert()
|
u, err := NewDBGroup(v, zk).Convert(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -227,8 +224,8 @@ func (*DBGroup) DB2PB(groups []*relation.GroupModel) (PBGroups []*sdk.GroupInfo,
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDBGroup(group *relation.GroupModel) *DBGroup {
|
func NewDBGroup(groupModel *relation.GroupModel, zk discoveryRegistry.SvcDiscoveryRegistry) *DBGroup {
|
||||||
return &DBGroup{GroupModel: group}
|
return &DBGroup{GroupModel: groupModel, groupCheck: check.NewGroupChecker(zk)}
|
||||||
}
|
}
|
||||||
|
|
||||||
type PBGroup struct {
|
type PBGroup struct {
|
||||||
@ -244,20 +241,20 @@ func (pb *PBGroup) Convert() (*relation.GroupModel, error) {
|
|||||||
err := utils.CopyStructFields(dst, pb)
|
err := utils.CopyStructFields(dst, pb)
|
||||||
return dst, err
|
return dst, err
|
||||||
}
|
}
|
||||||
func (db *DBGroup) Convert() (*sdk.GroupInfo, error) {
|
func (db *DBGroup) Convert(ctx context.Context) (*sdk.GroupInfo, error) {
|
||||||
dst := &sdk.GroupInfo{}
|
dst := &sdk.GroupInfo{}
|
||||||
utils.CopyStructFields(dst, db)
|
utils.CopyStructFields(dst, db)
|
||||||
user, err := getGroupOwnerInfo(db.GroupID)
|
user, err := db.groupCheck.GetOwnerInfo(ctx, db.GroupID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
dst.OwnerUserID = user.UserID
|
dst.OwnerUserID = user.UserID
|
||||||
|
|
||||||
memberCount, err := getNumberOfGroupMember(db.GroupID)
|
g, err := db.groupCheck.GetGroupInfo(ctx, db.GroupID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
dst.MemberCount = uint32(memberCount)
|
dst.MemberCount = g.MemberCount
|
||||||
dst.CreateTime = db.CreateTime.Unix()
|
dst.CreateTime = db.CreateTime.Unix()
|
||||||
dst.NotificationUpdateTime = db.NotificationUpdateTime.Unix()
|
dst.NotificationUpdateTime = db.NotificationUpdateTime.Unix()
|
||||||
if db.NotificationUpdateTime.Unix() < 0 {
|
if db.NotificationUpdateTime.Unix() < 0 {
|
||||||
@ -268,6 +265,7 @@ func (db *DBGroup) Convert() (*sdk.GroupInfo, error) {
|
|||||||
|
|
||||||
type DBGroupMember struct {
|
type DBGroupMember struct {
|
||||||
*relation.GroupMemberModel
|
*relation.GroupMemberModel
|
||||||
|
userCheck *check.UserCheck
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*PBGroupMember) PB2DB(groupMembers []*sdk.GroupMemberFullInfo) (DBGroupMembers []*relation.GroupMemberModel, err error) {
|
func (*PBGroupMember) PB2DB(groupMembers []*sdk.GroupMemberFullInfo) (DBGroupMembers []*relation.GroupMemberModel, err error) {
|
||||||
@ -281,9 +279,9 @@ func (*PBGroupMember) PB2DB(groupMembers []*sdk.GroupMemberFullInfo) (DBGroupMem
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*DBGroupMember) DB2PB(groupMembers []*relation.GroupMemberModel) (PBGroupMembers []*sdk.GroupMemberFullInfo, err error) {
|
func (*DBGroupMember) DB2PB(ctx context.Context, groupMembers []*relation.GroupMemberModel) (PBGroupMembers []*sdk.GroupMemberFullInfo, err error) {
|
||||||
for _, v := range groupMembers {
|
for _, v := range groupMembers {
|
||||||
u, err := NewDBGroupMember(v).Convert()
|
u, err := NewDBGroupMember(v).Convert(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -311,15 +309,15 @@ func (pb *PBGroupMember) Convert() (*relation.GroupMemberModel, error) {
|
|||||||
dst.MuteEndTime = utils.UnixSecondToTime(int64(pb.MuteEndTime))
|
dst.MuteEndTime = utils.UnixSecondToTime(int64(pb.MuteEndTime))
|
||||||
return dst, nil
|
return dst, nil
|
||||||
}
|
}
|
||||||
func (db *DBGroupMember) Convert() (*sdk.GroupMemberFullInfo, error) {
|
func (db *DBGroupMember) Convert(ctx context.Context) (*sdk.GroupMemberFullInfo, error) {
|
||||||
dst := &sdk.GroupMemberFullInfo{}
|
dst := &sdk.GroupMemberFullInfo{}
|
||||||
utils.CopyStructFields(dst, db)
|
utils.CopyStructFields(dst, db)
|
||||||
|
|
||||||
user, err := getUsersInfo([]string{db.UserID})
|
user, err := db.userCheck.GetUsersInfo(ctx, db.UserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
dst.AppMangerLevel = user[0].AppMangerLevel
|
dst.AppMangerLevel = user.AppMangerLevel
|
||||||
|
|
||||||
dst.JoinTime = db.JoinTime.Unix()
|
dst.JoinTime = db.JoinTime.Unix()
|
||||||
if db.JoinTime.Unix() < 0 {
|
if db.JoinTime.Unix() < 0 {
|
||||||
|
@ -217,7 +217,7 @@ func (s *friendServer) GetDesignatedFriends(ctx context.Context, req *pbFriend.G
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
resp.FriendsInfo, err = (*convert.DBFriend)(nil).DB2PB(friends)
|
resp.FriendsInfo, err = (*convert.DBFriend)(nil).DB2PB(ctx, s.RegisterCenter, friends)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -235,7 +235,7 @@ func (s *friendServer) GetPaginationFriendsApplyTo(ctx context.Context, req *pbF
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
resp.FriendRequests, err = (*convert.DBFriendRequest)(nil).DB2PB(friendRequests)
|
resp.FriendRequests, err = (*convert.DBFriendRequest)(nil).DB2PB(ctx, s.RegisterCenter, friendRequests)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -253,7 +253,7 @@ func (s *friendServer) GetPaginationFriendsApplyFrom(ctx context.Context, req *p
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
resp.FriendRequests, err = (*convert.DBFriendRequest)(nil).DB2PB(friendRequests)
|
resp.FriendRequests, err = (*convert.DBFriendRequest)(nil).DB2PB(ctx, s.RegisterCenter, friendRequests)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -281,7 +281,7 @@ func (s *friendServer) GetPaginationFriends(ctx context.Context, req *pbFriend.G
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if resp.FriendsInfo, err = (*convert.DBFriend)(nil).DB2PB(friends); err != nil {
|
if resp.FriendsInfo, err = (*convert.DBFriend)(nil).DB2PB(ctx, s.RegisterCenter, friends); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return resp, nil
|
return resp, nil
|
||||||
|
Loading…
x
Reference in New Issue
Block a user