mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-11-03 01:52:17 +08:00
Merge branch 'openimsdk:main' into feat/ginfo
This commit is contained in:
commit
043ce0ce6a
@ -535,28 +535,7 @@ func (g *GroupNotificationSender) MemberEnterNotification(ctx context.Context, g
|
|||||||
if err := g.conversationRpcClient.GroupChatFirstCreateConversation(ctx, groupID, entrantUserID); err != nil {
|
if err := g.conversationRpcClient.GroupChatFirstCreateConversation(ctx, groupID, entrantUserID); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
opUserID := mcontext.GetOpUserID(ctx)
|
|
||||||
var opUser *sdkws.GroupMemberFullInfo
|
|
||||||
if authverify.IsAppManagerUid(ctx, g.config.Share.IMAdminUserID) {
|
|
||||||
opUser = &sdkws.GroupMemberFullInfo{
|
|
||||||
GroupID: groupID,
|
|
||||||
UserID: opUserID,
|
|
||||||
AppMangerLevel: constant.AppAdmin,
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
users, err := g.getGroupMembers(ctx, groupID, []string{opUserID})
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if len(users) == 0 {
|
|
||||||
opUser = &sdkws.GroupMemberFullInfo{
|
|
||||||
GroupID: groupID,
|
|
||||||
UserID: opUserID,
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
opUser = users[0]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var group *sdkws.GroupInfo
|
var group *sdkws.GroupInfo
|
||||||
group, err = g.getGroupInfo(ctx, groupID)
|
group, err = g.getGroupInfo(ctx, groupID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -566,7 +545,11 @@ func (g *GroupNotificationSender) MemberEnterNotification(ctx context.Context, g
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
tips := &sdkws.MemberInvitedTips{Group: group, InvitedUserList: users, OpUser: opUser}
|
|
||||||
|
tips := &sdkws.MemberInvitedTips{Group: group, InvitedUserList: users}
|
||||||
|
if err = g.fillOpUser(ctx, &tips.OpUser, tips.Group.GroupID); err != nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
g.setVersion(ctx, &tips.GroupMemberVersion, &tips.GroupMemberVersionID, database.GroupMemberVersionName, tips.Group.GroupID)
|
g.setVersion(ctx, &tips.GroupMemberVersion, &tips.GroupMemberVersionID, database.GroupMemberVersionName, tips.Group.GroupID)
|
||||||
g.Notification(ctx, mcontext.GetOpUserID(ctx), group.GroupID, constant.MemberInvitedNotification, tips)
|
g.Notification(ctx, mcontext.GetOpUserID(ctx), group.GroupID, constant.MemberInvitedNotification, tips)
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
@ -121,7 +121,7 @@ func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryReg
|
|||||||
conversationRpcClient: rpcclient.NewConversationRpcClient(client, config.Share.RpcRegisterName.Conversation),
|
conversationRpcClient: rpcclient.NewConversationRpcClient(client, config.Share.RpcRegisterName.Conversation),
|
||||||
config: config,
|
config: config,
|
||||||
webhookClient: webhook.NewWebhookClient(config.WebhooksConfig.URL),
|
webhookClient: webhook.NewWebhookClient(config.WebhooksConfig.URL),
|
||||||
queue: memamq.NewMemoryQueue(128, 1024*8),
|
queue: memamq.NewMemoryQueue(16, 1024*1024),
|
||||||
})
|
})
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@ -160,7 +160,7 @@ func (f *friendDatabase) BecomeFriends(ctx context.Context, ownerUserID string,
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
opUserID := mcontext.GetOperationID(ctx)
|
opUserID := mcontext.GetOpUserID(ctx)
|
||||||
friends := make([]*model.Friend, 0, len(friendUserIDs)*2)
|
friends := make([]*model.Friend, 0, len(friendUserIDs)*2)
|
||||||
myFriendsSet := datautil.SliceSetAny(myFriends, func(friend *model.Friend) string {
|
myFriendsSet := datautil.SliceSetAny(myFriends, func(friend *model.Friend) string {
|
||||||
return friend.FriendUserID
|
return friend.FriendUserID
|
||||||
|
|||||||
@ -23,7 +23,6 @@ import (
|
|||||||
"github.com/openimsdk/protocol/sdkws"
|
"github.com/openimsdk/protocol/sdkws"
|
||||||
"github.com/openimsdk/tools/discovery"
|
"github.com/openimsdk/tools/discovery"
|
||||||
"github.com/openimsdk/tools/log"
|
"github.com/openimsdk/tools/log"
|
||||||
"github.com/openimsdk/tools/mcontext"
|
|
||||||
"github.com/openimsdk/tools/mq/memamq"
|
"github.com/openimsdk/tools/mq/memamq"
|
||||||
"github.com/openimsdk/tools/system/program"
|
"github.com/openimsdk/tools/system/program"
|
||||||
"github.com/openimsdk/tools/utils/idutil"
|
"github.com/openimsdk/tools/utils/idutil"
|
||||||
@ -270,8 +269,8 @@ func WithUserRpcClient(userRpcClient *UserRpcClient) NotificationSenderOptions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
notificationWorkerCount = 2
|
notificationWorkerCount = 16
|
||||||
notificationBufferSize = 200
|
notificationBufferSize = 1024 * 1024 * 2
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewNotificationSender(conf *config.Notification, opts ...NotificationSenderOptions) *NotificationSender {
|
func NewNotificationSender(conf *config.Notification, opts ...NotificationSenderOptions) *NotificationSender {
|
||||||
@ -298,7 +297,8 @@ func WithRpcGetUserName() NotificationOptions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *NotificationSender) send(ctx context.Context, sendID, recvID string, contentType, sessionType int32, m proto.Message, opts ...NotificationOptions) {
|
func (s *NotificationSender) send(ctx context.Context, sendID, recvID string, contentType, sessionType int32, m proto.Message, opts ...NotificationOptions) {
|
||||||
ctx = mcontext.WithMustInfoCtx([]string{mcontext.GetOperationID(ctx), mcontext.GetOpUserID(ctx), mcontext.GetOpUserPlatform(ctx), mcontext.GetConnID(ctx)})
|
//ctx = mcontext.WithMustInfoCtx([]string{mcontext.GetOperationID(ctx), mcontext.GetOpUserID(ctx), mcontext.GetOpUserPlatform(ctx), mcontext.GetConnID(ctx)})
|
||||||
|
ctx = context.WithoutCancel(ctx)
|
||||||
ctx, cancel := context.WithTimeout(ctx, time.Second*time.Duration(5))
|
ctx, cancel := context.WithTimeout(ctx, time.Second*time.Duration(5))
|
||||||
defer cancel()
|
defer cancel()
|
||||||
n := sdkws.NotificationElem{Detail: jsonutil.StructToJsonString(m)}
|
n := sdkws.NotificationElem{Detail: jsonutil.StructToJsonString(m)}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user