diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index e11aa4b14..3afedc5f6 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -13,13 +13,10 @@ import ( prome "Open_IM/pkg/common/prometheus" "Open_IM/pkg/common/tokenverify" "Open_IM/pkg/common/tracelog" - "Open_IM/pkg/proto/group" - pbgroup "Open_IM/pkg/proto/group" "Open_IM/pkg/proto/sdkws" pbuser "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" - "github.com/golang/protobuf/ptypes/wrappers" grpcPrometheus "github.com/grpc-ecosystem/go-grpc-prometheus" "google.golang.org/grpc" @@ -86,87 +83,103 @@ func (s *userServer) Run() { } // ok -func (s *userServer) SyncJoinedGroupMemberFaceURL(ctx context.Context, userID string, faceURL string, operationID string, opUserID string) { - members, err := s.GetJoinedGroupMembers(ctx, userID) - if err != nil { - return - } - groupIDs := make([]string, 0) - for _, v := range members { - groupIDs = append(groupIDs, v.GroupID) - } - if s.SetGroupMemberInfo(ctx, "", faceURL, "", 0, groupIDs, userID) != nil { - return - } - for _, v := range groupIDs { - chat.GroupMemberInfoSetNotification(operationID, opUserID, v, userID) - } -} +//func (s *userServer) SyncJoinedGroupMemberFaceURL(ctx context.Context, userID string, faceURL string, operationID string, opUserID string) { +// members, err := s.GetJoinedGroupMembers(ctx, userID) +// if err != nil { +// return +// } +// groupIDs := make([]string, 0) +// for _, v := range members { +// groupIDs = append(groupIDs, v.GroupID) +// } +// if s.SetGroupMemberInfo(ctx, "", faceURL, "", 0, groupIDs, userID) != nil { +// return +// } +// for _, v := range groupIDs { +// chat.GroupMemberInfoSetNotification(operationID, opUserID, v, userID) +// } +//} // ok -func (s *userServer) SyncJoinedGroupMemberNickname(ctx context.Context, userID string, newNickname, oldNickname string, operationID string, opUserID string) { - members, err := s.GetJoinedGroupMembers(ctx, userID) - if err != nil { - return - } - groupIDs := make([]string, 0) - for _, v := range members { - if v.Nickname == oldNickname { - groupIDs = append(groupIDs, v.GroupID) - } - } - s.SetGroupMemberInfo(ctx, newNickname, "", "", 0, groupIDs, userID) - for _, v := range groupIDs { - chat.GroupMemberInfoSetNotification(operationID, opUserID, v, userID) - } -} +//func (s *userServer) SyncJoinedGroupMemberNickname(ctx context.Context, userID string, newNickname, oldNickname string, operationID string, opUserID string) { +// members, err := s.GetJoinedGroupMembers(ctx, userID) +// if err != nil { +// return +// } +// groupIDs := make([]string, 0) +// for _, v := range members { +// if v.Nickname == oldNickname { +// groupIDs = append(groupIDs, v.GroupID) +// } +// } +// s.SetGroupMemberInfo(ctx, newNickname, "", "", 0, groupIDs, userID) +// for _, v := range groupIDs { +// chat.GroupMemberInfoSetNotification(operationID, opUserID, v, userID) +// } +//} -// 设置群昵称 -//func (s *userServer) SetGroupMemberNickname(ctx context.Context, nickname string, groupID string, userID string) (err error) { +// 设置群头像 +//func (s *userServer) SetGroupMemberInfo(ctx context.Context, nickname, faceURL, ex string, roleLevel int32, groupIDs []string, userID string) (err error) { +// +// req := pbgroup.SetGroupMemberInfo{UserID: userID} +// if nickname != "" { +// req.Nickname = &wrappers.StringValue{Value: nickname} +// } +// if faceURL != "" { +// req.FaceURL = &wrappers.StringValue{Value: faceURL} +// } +// if ex != "" { +// req.Ex = &wrappers.StringValue{Value: ex} +// } +// if roleLevel != 0 { +// req.RoleLevel = &wrappers.Int32Value{Value: roleLevel} +// } +// +// setGroupMemberInfoReq := &pbgroup.SetGroupMemberInfoReq{} +// for _, v := range groupIDs { +// req.GroupID = v +// setGroupMemberInfoReq.Members = append(setGroupMemberInfoReq.Members, &req) +// } // conn, err := s.RegisterCenter.GetConn(config.Config.RpcRegisterName.OpenImGroupName) // if err != nil { // return err // } // client := group.NewGroupClient(conn) -// req := &pbgroup.SetGroupMemberNicknameReq{GroupID: groupID, Nickname: nickname, UserID: userID} -// _, err = client.SetGroupMemberNickname(ctx, req) +// _, err = client.SetGroupMemberInfo(ctx, setGroupMemberInfoReq) // return //} -// 设置群头像 -func (s *userServer) SetGroupMemberInfo(ctx context.Context, nickname, faceURL, ex string, roleLevel int32, groupIDs []string, userID string) (err error) { - conn, err := s.RegisterCenter.GetConn(config.Config.RpcRegisterName.OpenImGroupName) - if err != nil { - return err - } - req := pbgroup.SetGroupMemberInfo{UserID: userID} - if nickname != "" { - req.Nickname = &wrappers.StringValue{Value: nickname} - } - if faceURL != "" { - req.FaceURL = &wrappers.StringValue{Value: faceURL} - } - if ex != "" { - req.Ex = &wrappers.StringValue{Value: ex} - } - if roleLevel != 0 { - req.RoleLevel = &wrappers.Int32Value{Value: roleLevel} - } - - setGroupMemberInfoReq := &pbgroup.SetGroupMemberInfoReq{} - for _, v := range groupIDs { - req.GroupID = v - setGroupMemberInfoReq.Members = append(setGroupMemberInfoReq.Members, &req) - } - client := group.NewGroupClient(conn) - _, err = client.SetGroupMemberInfo(ctx, setGroupMemberInfoReq) - return -} - // 获取加入的群成员信息 -func (s *userServer) GetJoinedGroupMembers(ctx context.Context, userID string) (members []*sdkws.GroupMemberFullInfo, err error) { - return -} +//func (s *userServer) GetJoinedGroupMembers(ctx context.Context, userID string) (members []*sdkws.GroupMemberFullInfo, err error) { +// conn, err := s.RegisterCenter.GetConn(config.Config.RpcRegisterName.OpenImGroupName) +// if err != nil { +// return nil, err +// } +// +// client := group.NewGroupClient(conn) +// for { +// idx := int32(0) +// req := pbgroup.GetJoinedGroupListReq{FromUserID: userID, Pagination: &sdkws.RequestPagination{PageNumber: idx, ShowNumber: constant.ShowNumber}} +// resp, err := client.GetJoinedGroupList(ctx, &req) +// if err != nil { +// return nil, err +// } +// groupIDs := make([]string, 0) +// +// for _, v := range resp.Groups { +// groupIDs = append(groupIDs, v.GroupID) +// } +// +// client.GetGroupMembersInfo() +// +// if len(resp.Groups) < constant.ShowNumber { +// break +// } +// idx++ +// } +// +// return +//} // ok func (s *userServer) GetDesignateUsers(ctx context.Context, req *pbuser.GetDesignateUsersReq) (resp *pbuser.GetDesignateUsersResp, err error) { @@ -193,14 +206,14 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbuser.UpdateUserI if err != nil { return nil, err } - oldNickname := "" - if req.UserInfo.Nickname != "" { - u, err := s.FindWithError(ctx, []string{req.UserInfo.UserID}) - if err != nil { - return nil, err - } - oldNickname = u[0].Nickname - } + //oldNickname := "" + //if req.UserInfo.Nickname != "" { + // u, err := s.FindWithError(ctx, []string{req.UserInfo.UserID}) + // if err != nil { + // return nil, err + // } + // oldNickname = u[0].Nickname + //} user, err := convert.NewPBUser(req.UserInfo).Convert() if err != nil { return nil, err @@ -220,12 +233,7 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbuser.UpdateUserI }() chat.UserInfoUpdatedNotification(ctx, tracelog.GetOpUserID(ctx), req.UserInfo.UserID) - if req.UserInfo.FaceURL != "" { - go s.SyncJoinedGroupMemberFaceURL(ctx, req.UserInfo.UserID, req.UserInfo.FaceURL, tracelog.GetOperationID(ctx), tracelog.GetOpUserID(ctx)) - } - if req.UserInfo.Nickname != "" { - go s.SyncJoinedGroupMemberNickname(ctx, req.UserInfo.UserID, req.UserInfo.Nickname, oldNickname, tracelog.GetOperationID(ctx), tracelog.GetOpUserID(ctx)) - } + return resp, nil } @@ -296,7 +304,6 @@ func (s *userServer) UserRegister(ctx context.Context, req *pbuser.UserRegisterR for _, v := range req.Users { userIDs = append(userIDs, v.UserID) } - exist, err := s.IsExist(ctx, userIDs) if err != nil { return nil, err diff --git a/pkg/common/constant/limit.go b/pkg/common/constant/limit.go new file mode 100644 index 000000000..cdd19e240 --- /dev/null +++ b/pkg/common/constant/limit.go @@ -0,0 +1,5 @@ +package constant + +const ( + ShowNumber = 1000 +)