diff --git a/pkg/rpcclient/convert/convert.go b/pkg/rpcclient/convert/convert.go deleted file mode 100644 index 2dafc23d2..000000000 --- a/pkg/rpcclient/convert/convert.go +++ /dev/null @@ -1,327 +0,0 @@ -package convert - -import ( - "context" - "time" - - "github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/table/relation" - discoveryRegistry "github.com/OpenIMSDK/Open-IM-Server/pkg/discoveryregistry" - sdk "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws" - "github.com/OpenIMSDK/Open-IM-Server/pkg/rpcclient/check" - utils "github.com/OpenIMSDK/open_utils" -) - -type DBBlack struct { - *relation.BlackModel -} - -func (*PBBlack) PB2DB(blacks []*sdk.BlackInfo) (DBBlacks []*relation.BlackModel, err error) { - for _, v := range blacks { - u, err := NewPBBlack(v).Convert() - if err != nil { - return nil, err - } - DBBlacks = append(DBBlacks, u) - } - return -} - -func (db *DBBlack) DB2PB(ctx context.Context, blacks []*relation.BlackModel) (PBBlacks []*sdk.BlackInfo, err error) { - userIDs := make([]string, 0) - for _, v := range blacks { - 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{BlackUserInfo: &sdk.PublicUserInfo{}} - pbBlack.OwnerUserID = v.OwnerUserID - pbBlack.AddSource = v.AddSource - pbBlack.CreateTime = v.CreateTime.Unix() - pbBlack.Ex = v.Ex - utils.CopyStructFields(pbBlack.BlackUserInfo, users[v.BlockUserID]) - PBBlacks = append(PBBlacks, pbBlack) - } - return -} - -func NewDBBlack(black *relation.BlackModel, zk discoveryRegistry.SvcDiscoveryRegistry) *DBBlack { - return &DBBlack{BlackModel: black, userCheck: check.NewUserCheck(zk)} -} - -type PBBlack struct { - *sdk.BlackInfo -} - -func NewPBBlack(blackInfo *sdk.BlackInfo) *PBBlack { - return &PBBlack{BlackInfo: blackInfo} -} - -func (pb *PBBlack) Convert() (*relation.BlackModel, error) { - dbBlack := &relation.BlackModel{} - dbBlack.BlockUserID = pb.BlackUserInfo.UserID - dbBlack.CreateTime = utils.UnixSecondToTime(pb.CreateTime) - return dbBlack, nil -} -func (db *DBBlack) Convert(ctx context.Context) (*sdk.BlackInfo, error) { - pbBlack := &sdk.BlackInfo{} - utils.CopyStructFields(pbBlack, db) - pbBlack.CreateTime = db.CreateTime.Unix() - user, err := db.userCheck.GetUserInfo(ctx, db.BlockUserID) - if err != nil { - return nil, err - } - utils.CopyStructFields(pbBlack.BlackUserInfo, user) - return pbBlack, nil -} - -type DBGroup struct { - *relation.GroupModel - groupCheck *check.GroupChecker -} - -func (*PBGroup) PB2DB(groups []*sdk.GroupInfo) (DBGroups []*relation.GroupModel, err error) { - for _, v := range groups { - u, err := NewPBGroup(v).Convert() - if err != nil { - return nil, err - } - DBGroups = append(DBGroups, u) - } - return -} - -//func (db *DBGroup) DB2PB(ctx context.Context, zk discoveryRegistry.SvcDiscoveryRegistry, groups []*relation.GroupModel) (PBGroups []*sdk.GroupInfo, err error) { -// for _, v := range groups { -// u, err := NewDBGroup(v, zk).Convert(ctx) -// if err != nil { -// return nil, err -// } -// PBGroups = append(PBGroups, u) -// } -// return -//} - -func NewDBGroup(groupModel *relation.GroupModel, zk discoveryRegistry.SvcDiscoveryRegistry) *DBGroup { - return &DBGroup{GroupModel: groupModel, groupCheck: check.NewGroupChecker(zk)} -} - -type PBGroup struct { - *sdk.GroupInfo -} - -func NewPBGroup(groupInfo *sdk.GroupInfo) *PBGroup { - return &PBGroup{GroupInfo: groupInfo} -} - -func (pb *PBGroup) Convert() (*relation.GroupModel, error) { - dst := &relation.GroupModel{} - err := utils.CopyStructFields(dst, pb) - return dst, err -} -func (db *DBGroup) Convert(ctx context.Context) (*sdk.GroupInfo, error) { - dst := &sdk.GroupInfo{} - utils.CopyStructFields(dst, db) - user, err := db.groupCheck.GetOwnerInfo(ctx, db.GroupID) - if err != nil { - return nil, err - } - dst.OwnerUserID = user.UserID - - g, err := db.groupCheck.GetGroupInfo(ctx, db.GroupID) - if err != nil { - return nil, err - } - dst.MemberCount = g.MemberCount - dst.CreateTime = db.CreateTime.Unix() - dst.NotificationUpdateTime = db.NotificationUpdateTime.Unix() - if db.NotificationUpdateTime.Unix() < 0 { - dst.NotificationUpdateTime = 0 - } - return dst, nil -} - -type DBGroupMember struct { - *relation.GroupMemberModel - userCheck *check.UserCheck -} - -func (*PBGroupMember) PB2DB(groupMembers []*sdk.GroupMemberFullInfo) (DBGroupMembers []*relation.GroupMemberModel, err error) { - for _, v := range groupMembers { - u, err := NewPBGroupMember(v).Convert() - if err != nil { - return nil, err - } - DBGroupMembers = append(DBGroupMembers, u) - } - return -} - -//func (*DBGroupMember) DB2PB(ctx context.Context, groupMembers []*relation.GroupMemberModel) (PBGroupMembers []*sdk.GroupMemberFullInfo, err error) { -// for _, v := range groupMembers { -// u, err := NewDBGroupMember(v).Convert(ctx) -// if err != nil { -// return nil, err -// } -// PBGroupMembers = append(PBGroupMembers, u) -// } -// return -//} - -func NewDBGroupMember(groupMember *relation.GroupMemberModel) *DBGroupMember { - return &DBGroupMember{GroupMemberModel: groupMember} -} - -type PBGroupMember struct { - *sdk.GroupMemberFullInfo -} - -func NewPBGroupMember(groupMemberFullInfo *sdk.GroupMemberFullInfo) *PBGroupMember { - return &PBGroupMember{GroupMemberFullInfo: groupMemberFullInfo} -} - -func (pb *PBGroupMember) Convert() (*relation.GroupMemberModel, error) { - dst := &relation.GroupMemberModel{} - utils.CopyStructFields(dst, pb) - dst.JoinTime = utils.UnixSecondToTime(int64(pb.JoinTime)) - dst.MuteEndTime = utils.UnixSecondToTime(int64(pb.MuteEndTime)) - return dst, nil -} -func (db *DBGroupMember) Convert(ctx context.Context) (*sdk.GroupMemberFullInfo, error) { - dst := &sdk.GroupMemberFullInfo{} - utils.CopyStructFields(dst, db) - - user, err := db.userCheck.GetUserInfo(ctx, db.UserID) - if err != nil { - return nil, err - } - dst.AppMangerLevel = user.AppMangerLevel - - dst.JoinTime = db.JoinTime.Unix() - if db.JoinTime.Unix() < 0 { - dst.JoinTime = 0 - } - dst.MuteEndTime = db.MuteEndTime.Unix() - if dst.MuteEndTime < time.Now().Unix() { - dst.MuteEndTime = 0 - } - return dst, nil -} - -type DBGroupRequest struct { - *relation.GroupRequestModel -} - -func (*PBGroupRequest) PB2DB(groupRequests []*sdk.GroupRequest) (DBGroupRequests []*relation.GroupRequestModel, err error) { - for _, v := range groupRequests { - u, err := NewPBGroupRequest(v).Convert() - if err != nil { - return nil, err - } - DBGroupRequests = append(DBGroupRequests, u) - } - return -} - -//func (*DBGroupRequest) DB2PB(groupRequests []*relation.GroupRequestModel) (PBGroupRequests []*sdk.GroupRequest, err error) { -// for _, v := range groupRequests { -// u, err := NewDBGroupRequest(v).Convert() -// if err != nil { -// return nil, err -// } -// PBGroupRequests = append(PBGroupRequests, u) -// } -// return -//} - -func NewDBGroupRequest(groupRequest *relation.GroupRequestModel) *DBGroupRequest { - return &DBGroupRequest{GroupRequestModel: groupRequest} -} - -type PBGroupRequest struct { - *sdk.GroupRequest -} - -func NewPBGroupRequest(groupRequest *sdk.GroupRequest) *PBGroupRequest { - return &PBGroupRequest{GroupRequest: groupRequest} -} - -func (pb *PBGroupRequest) Convert() (*relation.GroupRequestModel, error) { - dst := &relation.GroupRequestModel{} - utils.CopyStructFields(dst, pb) - dst.ReqTime = utils.UnixSecondToTime(int64(pb.ReqTime)) - dst.HandledTime = utils.UnixSecondToTime(int64(pb.HandleTime)) - return dst, nil -} -func (db *DBGroupRequest) Convert() (*sdk.GroupRequest, error) { - dst := &sdk.GroupRequest{} - utils.CopyStructFields(dst, db) - dst.ReqTime = db.ReqTime.Unix() - dst.HandleTime = db.HandledTime.Unix() - return dst, nil -} - -type DBUser struct { - *relation.UserModel -} - -func NewDBUser(user *relation.UserModel) *DBUser { - return &DBUser{UserModel: user} -} - -type PBUser struct { - *sdk.UserInfo -} - -func NewPBUser(userInfo *sdk.UserInfo) *PBUser { - return &PBUser{UserInfo: userInfo} -} - -func (*PBUser) PB2DB(users []*sdk.UserInfo) (DBUsers []*relation.UserModel, err error) { - for _, v := range users { - u, err := NewPBUser(v).Convert() - if err != nil { - return nil, err - } - DBUsers = append(DBUsers, u) - } - return -} - -func (*DBUser) DB2PB(users []*relation.UserModel) (PBUsers []*sdk.UserInfo, err error) { - for _, v := range users { - u, err := NewDBUser(v).Convert() - if err != nil { - return nil, err - } - PBUsers = append(PBUsers, u) - } - return -} - -func (pb *PBUser) Convert() (*relation.UserModel, error) { - dst := &relation.UserModel{} - utils.CopyStructFields(dst, pb) - dst.CreateTime = utils.UnixSecondToTime(pb.CreateTime) - return dst, nil -} - -func (db *DBUser) Convert() (*sdk.UserInfo, error) { - dst := &sdk.UserInfo{} - utils.CopyStructFields(dst, db) - dst.CreateTime = db.CreateTime.Unix() - return dst, nil -} - -func (db *DBUser) ConvertPublic() (*sdk.PublicUserInfo, error) { - dst := &sdk.PublicUserInfo{} - utils.CopyStructFields(dst, db) - return dst, nil -} diff --git a/pkg/rpcclient/msg.go b/pkg/rpcclient/msg.go index 9dbb882cc..c2f3cd251 100644 --- a/pkg/rpcclient/msg.go +++ b/pkg/rpcclient/msg.go @@ -64,131 +64,6 @@ func (c *MsgClient) Notification(ctx context.Context, notificationMsg *Notificat msg.Options = make(map[string]bool, 7) msg.SenderNickname = notificationMsg.SenderNickname msg.SenderFaceURL = notificationMsg.SenderFaceURL - switch notificationMsg.SessionType { - case constant.GroupChatType, constant.SuperGroupChatType: - msg.RecvID = "" - msg.GroupID = notificationMsg.RecvID - } - offlineInfo.IOSBadgeCount = config.Config.IOSPush.BadgeCount - offlineInfo.IOSPushSound = config.Config.IOSPush.PushSound - switch msg.ContentType { - case constant.GroupCreatedNotification: - title = config.Config.Notification.GroupCreated.OfflinePush.Title - desc = config.Config.Notification.GroupCreated.OfflinePush.Desc - ex = config.Config.Notification.GroupCreated.OfflinePush.Ext - case constant.GroupInfoSetNotification: - title = config.Config.Notification.GroupInfoSet.OfflinePush.Title - desc = config.Config.Notification.GroupInfoSet.OfflinePush.Desc - ex = config.Config.Notification.GroupInfoSet.OfflinePush.Ext - case constant.JoinGroupApplicationNotification: - title = config.Config.Notification.JoinGroupApplication.OfflinePush.Title - desc = config.Config.Notification.JoinGroupApplication.OfflinePush.Desc - ex = config.Config.Notification.JoinGroupApplication.OfflinePush.Ext - case constant.MemberQuitNotification: - title = config.Config.Notification.MemberQuit.OfflinePush.Title - desc = config.Config.Notification.MemberQuit.OfflinePush.Desc - ex = config.Config.Notification.MemberQuit.OfflinePush.Ext - case constant.GroupApplicationAcceptedNotification: - title = config.Config.Notification.GroupApplicationAccepted.OfflinePush.Title - desc = config.Config.Notification.GroupApplicationAccepted.OfflinePush.Desc - ex = config.Config.Notification.GroupApplicationAccepted.OfflinePush.Ext - case constant.GroupApplicationRejectedNotification: - title = config.Config.Notification.GroupApplicationRejected.OfflinePush.Title - desc = config.Config.Notification.GroupApplicationRejected.OfflinePush.Desc - ex = config.Config.Notification.GroupApplicationRejected.OfflinePush.Ext - case constant.GroupOwnerTransferredNotification: - title = config.Config.Notification.GroupOwnerTransferred.OfflinePush.Title - desc = config.Config.Notification.GroupOwnerTransferred.OfflinePush.Desc - ex = config.Config.Notification.GroupOwnerTransferred.OfflinePush.Ext - case constant.MemberKickedNotification: - title = config.Config.Notification.MemberKicked.OfflinePush.Title - desc = config.Config.Notification.MemberKicked.OfflinePush.Desc - ex = config.Config.Notification.MemberKicked.OfflinePush.Ext - case constant.MemberInvitedNotification: - title = config.Config.Notification.MemberInvited.OfflinePush.Title - desc = config.Config.Notification.MemberInvited.OfflinePush.Desc - ex = config.Config.Notification.MemberInvited.OfflinePush.Ext - case constant.MemberEnterNotification: - title = config.Config.Notification.MemberEnter.OfflinePush.Title - desc = config.Config.Notification.MemberEnter.OfflinePush.Desc - ex = config.Config.Notification.MemberEnter.OfflinePush.Ext - case constant.UserInfoUpdatedNotification: - title = config.Config.Notification.UserInfoUpdated.OfflinePush.Title - desc = config.Config.Notification.UserInfoUpdated.OfflinePush.Desc - ex = config.Config.Notification.UserInfoUpdated.OfflinePush.Ext - case constant.FriendApplicationNotification: - title = config.Config.Notification.FriendApplication.OfflinePush.Title - desc = config.Config.Notification.FriendApplication.OfflinePush.Desc - ex = config.Config.Notification.FriendApplication.OfflinePush.Ext - case constant.FriendApplicationApprovedNotification: - title = config.Config.Notification.FriendApplicationApproved.OfflinePush.Title - desc = config.Config.Notification.FriendApplicationApproved.OfflinePush.Desc - ex = config.Config.Notification.FriendApplicationApproved.OfflinePush.Ext - case constant.FriendApplicationRejectedNotification: - title = config.Config.Notification.FriendApplicationRejected.OfflinePush.Title - desc = config.Config.Notification.FriendApplicationRejected.OfflinePush.Desc - ex = config.Config.Notification.FriendApplicationRejected.OfflinePush.Ext - case constant.FriendAddedNotification: - title = config.Config.Notification.FriendAdded.OfflinePush.Title - desc = config.Config.Notification.FriendAdded.OfflinePush.Desc - ex = config.Config.Notification.FriendAdded.OfflinePush.Ext - case constant.FriendDeletedNotification: - title = config.Config.Notification.FriendDeleted.OfflinePush.Title - desc = config.Config.Notification.FriendDeleted.OfflinePush.Desc - ex = config.Config.Notification.FriendDeleted.OfflinePush.Ext - case constant.FriendRemarkSetNotification: - title = config.Config.Notification.FriendRemarkSet.OfflinePush.Title - desc = config.Config.Notification.FriendRemarkSet.OfflinePush.Desc - ex = config.Config.Notification.FriendRemarkSet.OfflinePush.Ext - case constant.BlackAddedNotification: - title = config.Config.Notification.BlackAdded.OfflinePush.Title - desc = config.Config.Notification.BlackAdded.OfflinePush.Desc - ex = config.Config.Notification.BlackAdded.OfflinePush.Ext - case constant.BlackDeletedNotification: - title = config.Config.Notification.BlackDeleted.OfflinePush.Title - desc = config.Config.Notification.BlackDeleted.OfflinePush.Desc - ex = config.Config.Notification.BlackDeleted.OfflinePush.Ext - case constant.ConversationOptChangeNotification: - title = config.Config.Notification.ConversationOptUpdate.OfflinePush.Title - desc = config.Config.Notification.ConversationOptUpdate.OfflinePush.Desc - ex = config.Config.Notification.ConversationOptUpdate.OfflinePush.Ext - - case constant.GroupDismissedNotification: - title = config.Config.Notification.GroupDismissed.OfflinePush.Title - desc = config.Config.Notification.GroupDismissed.OfflinePush.Desc - ex = config.Config.Notification.GroupDismissed.OfflinePush.Ext - - case constant.GroupMutedNotification: - title = config.Config.Notification.GroupMuted.OfflinePush.Title - desc = config.Config.Notification.GroupMuted.OfflinePush.Desc - ex = config.Config.Notification.GroupMuted.OfflinePush.Ext - case constant.GroupCancelMutedNotification: - title = config.Config.Notification.GroupCancelMuted.OfflinePush.Title - desc = config.Config.Notification.GroupCancelMuted.OfflinePush.Desc - ex = config.Config.Notification.GroupCancelMuted.OfflinePush.Ext - case constant.GroupMemberMutedNotification: - title = config.Config.Notification.GroupMemberMuted.OfflinePush.Title - desc = config.Config.Notification.GroupMemberMuted.OfflinePush.Desc - ex = config.Config.Notification.GroupMemberMuted.OfflinePush.Ext - case constant.GroupMemberCancelMutedNotification: - title = config.Config.Notification.GroupMemberCancelMuted.OfflinePush.Title - desc = config.Config.Notification.GroupMemberCancelMuted.OfflinePush.Desc - ex = config.Config.Notification.GroupMemberCancelMuted.OfflinePush.Ext - case constant.GroupMemberInfoSetNotification: - title = config.Config.Notification.GroupMemberInfoSet.OfflinePush.Title - desc = config.Config.Notification.GroupMemberInfoSet.OfflinePush.Desc - ex = config.Config.Notification.GroupMemberInfoSet.OfflinePush.Ext - case constant.ConversationPrivateChatNotification: - title = config.Config.Notification.ConversationSetPrivate.OfflinePush.Title - desc = config.Config.Notification.ConversationSetPrivate.OfflinePush.Desc - ex = config.Config.Notification.ConversationSetPrivate.OfflinePush.Ext - case constant.FriendInfoUpdatedNotification: - title = config.Config.Notification.FriendInfoUpdated.OfflinePush.Title - desc = config.Config.Notification.FriendInfoUpdated.OfflinePush.Desc - ex = config.Config.Notification.FriendInfoUpdated.OfflinePush.Ext - case constant.DeleteMessageNotification: - case constant.ConversationUnreadNotification, constant.SuperGroupUpdateNotification: - } utils.SetSwitchFromOptions(msg.Options, constant.IsUnreadCount, unReadCount) utils.SetSwitchFromOptions(msg.Options, constant.IsOfflinePush, pushEnable) offlineInfo.Title = title