|
|
|
@ -225,15 +225,16 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbgroup.CreateGroupR
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
joinGroup := func(userID string, roleLevel int32) error {
|
|
|
|
|
groupMember := convert.Pb2DbGroupMember(userMap[userID])
|
|
|
|
|
groupMember.Nickname = ""
|
|
|
|
|
groupMember.GroupID = group.GroupID
|
|
|
|
|
groupMember.RoleLevel = roleLevel
|
|
|
|
|
groupMember.OperatorUserID = mcontext.GetOpUserID(ctx)
|
|
|
|
|
groupMember.JoinSource = constant.JoinByInvitation
|
|
|
|
|
groupMember.InviterUserID = mcontext.GetOpUserID(ctx)
|
|
|
|
|
groupMember.JoinTime = time.Now()
|
|
|
|
|
groupMember.MuteEndTime = time.Unix(0, 0)
|
|
|
|
|
groupMember := &relationtb.GroupMemberModel{
|
|
|
|
|
GroupID: group.GroupID,
|
|
|
|
|
UserID: userID,
|
|
|
|
|
RoleLevel: roleLevel,
|
|
|
|
|
OperatorUserID: opUserID,
|
|
|
|
|
JoinSource: constant.JoinByInvitation,
|
|
|
|
|
InviterUserID: opUserID,
|
|
|
|
|
JoinTime: time.Now(),
|
|
|
|
|
MuteEndTime: time.UnixMilli(0),
|
|
|
|
|
}
|
|
|
|
|
if err := CallbackBeforeMemberJoinGroup(ctx, groupMember, group.Ex); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
@ -359,6 +360,9 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbgroup.Invite
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
if len(userMap) != len(req.InvitedUserIDs) {
|
|
|
|
|
return nil, errs.ErrRecordNotFound.Wrap("user not found")
|
|
|
|
|
}
|
|
|
|
|
var groupMember *relationtb.GroupMemberModel
|
|
|
|
|
var opUserID string
|
|
|
|
|
if !authverify.IsAppManagerUid(ctx) {
|
|
|
|
@ -416,15 +420,16 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbgroup.Invite
|
|
|
|
|
opUserID := mcontext.GetOpUserID(ctx)
|
|
|
|
|
var groupMembers []*relationtb.GroupMemberModel
|
|
|
|
|
for _, userID := range req.InvitedUserIDs {
|
|
|
|
|
member := convert.Pb2DbGroupMember(userMap[userID])
|
|
|
|
|
member.Nickname = ""
|
|
|
|
|
member.GroupID = req.GroupID
|
|
|
|
|
member.RoleLevel = constant.GroupOrdinaryUsers
|
|
|
|
|
member.OperatorUserID = opUserID
|
|
|
|
|
member.InviterUserID = opUserID
|
|
|
|
|
member.JoinSource = constant.JoinByInvitation
|
|
|
|
|
member.JoinTime = time.Now()
|
|
|
|
|
member.MuteEndTime = time.Unix(0, 0)
|
|
|
|
|
member := &relationtb.GroupMemberModel{
|
|
|
|
|
GroupID: req.GroupID,
|
|
|
|
|
UserID: userID,
|
|
|
|
|
RoleLevel: constant.GroupOrdinaryUsers,
|
|
|
|
|
OperatorUserID: opUserID,
|
|
|
|
|
InviterUserID: opUserID,
|
|
|
|
|
JoinSource: constant.JoinByInvitation,
|
|
|
|
|
JoinTime: time.Now(),
|
|
|
|
|
MuteEndTime: time.UnixMilli(0),
|
|
|
|
|
}
|
|
|
|
|
if err := CallbackBeforeMemberJoinGroup(ctx, member, group.Ex); err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
@ -800,14 +805,15 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbgroup.JoinGroupReq)
|
|
|
|
|
if group.GroupType == constant.SuperGroup {
|
|
|
|
|
return nil, errs.ErrGroupTypeNotSupport.Wrap()
|
|
|
|
|
}
|
|
|
|
|
groupMember := convert.Pb2DbGroupMember(user)
|
|
|
|
|
groupMember.GroupID = group.GroupID
|
|
|
|
|
groupMember.RoleLevel = constant.GroupOrdinaryUsers
|
|
|
|
|
groupMember.OperatorUserID = mcontext.GetOpUserID(ctx)
|
|
|
|
|
groupMember.JoinSource = constant.JoinByInvitation
|
|
|
|
|
groupMember.InviterUserID = req.InviterUserID
|
|
|
|
|
groupMember.JoinTime = time.Now()
|
|
|
|
|
groupMember.MuteEndTime = time.Unix(0, 0)
|
|
|
|
|
groupMember := &relationtb.GroupMemberModel{
|
|
|
|
|
GroupID: group.GroupID,
|
|
|
|
|
UserID: user.UserID,
|
|
|
|
|
RoleLevel: constant.GroupOrdinaryUsers,
|
|
|
|
|
OperatorUserID: mcontext.GetOpUserID(ctx),
|
|
|
|
|
InviterUserID: req.InviterUserID,
|
|
|
|
|
JoinTime: time.Now(),
|
|
|
|
|
MuteEndTime: time.UnixMilli(0),
|
|
|
|
|
}
|
|
|
|
|
if err := CallbackBeforeMemberJoinGroup(ctx, groupMember, group.Ex); err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|