mirror of
https://github.com/openimsdk/open-im-server.git
synced 2026-05-17 07:19:02 +08:00
group
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
openIMHttp "Open_IM/pkg/common/http"
|
||||
"Open_IM/pkg/common/log"
|
||||
"Open_IM/pkg/grpc-etcdv3/getcdv3"
|
||||
commonPb "Open_IM/pkg/proto/sdk_ws"
|
||||
"Open_IM/pkg/utils"
|
||||
"context"
|
||||
"fmt"
|
||||
@@ -28,6 +29,7 @@ func GetGroups(c *gin.Context) {
|
||||
openIMHttp.RespHttp200(c, constant.ErrArgs, nil)
|
||||
return
|
||||
}
|
||||
reqPb.Pagination = &commonPb.RequestPagination{}
|
||||
utils.CopyStructFields(&reqPb.Pagination, req)
|
||||
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName)
|
||||
client := pbGroup.NewGroupClient(etcdConn)
|
||||
@@ -46,11 +48,13 @@ func GetGroups(c *gin.Context) {
|
||||
CreateTime: (utils.UnixSecondToTime(int64(v.CreateTime))).String(),
|
||||
IsBanChat: false,
|
||||
IsBanPrivateChat: false,
|
||||
ProfilePhoto: v.FaceURL,
|
||||
ProfilePhoto: v.FaceURL,
|
||||
})
|
||||
}
|
||||
resp.GroupNums = int(respPb.GroupNum)
|
||||
resp.CurrentPage = int(respPb.Pagination.PageNumber)
|
||||
resp.ShowNumber = int(respPb.Pagination.ShowNumber)
|
||||
openIMHttp.RespHttp200(c, constant.OK, resp)
|
||||
|
||||
}
|
||||
|
||||
func GetGroup(c *gin.Context) {
|
||||
@@ -83,7 +87,7 @@ func GetGroup(c *gin.Context) {
|
||||
CreateTime: (utils.UnixSecondToTime(int64(v.CreateTime))).String(),
|
||||
IsBanChat: false,
|
||||
IsBanPrivateChat: false,
|
||||
ProfilePhoto: v.FaceURL,
|
||||
ProfilePhoto: v.FaceURL,
|
||||
})
|
||||
}
|
||||
openIMHttp.RespHttp200(c, constant.OK, resp)
|
||||
@@ -116,7 +120,7 @@ func CreateGroup(c *gin.Context) {
|
||||
|
||||
func BanGroupChat(c *gin.Context) {
|
||||
var (
|
||||
req cms_api_struct.BanGroupChatRequest
|
||||
req cms_api_struct.BanGroupChatRequest
|
||||
reqPb pbGroup.BanGroupChatReq
|
||||
)
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
@@ -139,7 +143,7 @@ func BanGroupChat(c *gin.Context) {
|
||||
|
||||
func BanPrivateChat(c *gin.Context) {
|
||||
var (
|
||||
req cms_api_struct.BanPrivateChatRequest
|
||||
req cms_api_struct.BanPrivateChatRequest
|
||||
reqPb pbGroup.BanPrivateChatReq
|
||||
)
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
@@ -162,7 +166,7 @@ func BanPrivateChat(c *gin.Context) {
|
||||
func GetGroupsMember(c *gin.Context) {
|
||||
var (
|
||||
req cms_api_struct.GetGroupMembersRequest
|
||||
_ cms_api_struct.GetGroupMembersResponse
|
||||
_ cms_api_struct.GetGroupMembersResponse
|
||||
)
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
log.NewError("0", "BindJSON failed ", err.Error())
|
||||
@@ -171,7 +175,6 @@ func GetGroupsMember(c *gin.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
func InquireMember(c *gin.Context) {
|
||||
|
||||
}
|
||||
@@ -180,12 +183,10 @@ func InquireGroup(c *gin.Context) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
func AddMembers(c *gin.Context) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
func RemoveUser(c *gin.Context) {
|
||||
|
||||
}
|
||||
|
||||
@@ -59,13 +59,11 @@ func NewGinRouter() *gin.Engine {
|
||||
{
|
||||
groupRouterGroup.GET("/get_groups", group.GetGroups)
|
||||
groupRouterGroup.GET("/get_group", group.GetGroup)
|
||||
groupRouterGroup.GET("/search_groups_member", group.SearchGroupsMember)
|
||||
groupRouterGroup.GET("/search_groups_member", group.GetGroupsMember)
|
||||
groupRouterGroup.POST("/create_group", group.CreateGroup)
|
||||
groupRouterGroup.GET("/inquire_group", group.InquireGroup)
|
||||
groupRouterGroup.GET("/inquire_member_by_group", group.InquireMember)
|
||||
groupRouterGroup.POST("/add_members", group.AddMembers)
|
||||
groupRouterGroup.POST("/set_master", group.SetMaster)
|
||||
groupRouterGroup.POST("/block_user", group.BlockUser)
|
||||
groupRouterGroup.POST("/remove_user", group.RemoveUser)
|
||||
groupRouterGroup.POST("/ban_private_chat", group.BanPrivateChat)
|
||||
groupRouterGroup.POST("/withdraw_message", group.Withdraw)
|
||||
|
||||
@@ -12,16 +12,17 @@ import (
|
||||
"Open_IM/pkg/utils"
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/gin-gonic/gin"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func GetUser(c *gin.Context) {
|
||||
var (
|
||||
req cms_api_struct.GetUserRequest
|
||||
resp cms_api_struct.GetUserResponse
|
||||
reqPb pb.GetUserReq
|
||||
req cms_api_struct.GetUserRequest
|
||||
resp cms_api_struct.GetUserResponse
|
||||
reqPb pb.GetUserReq
|
||||
)
|
||||
if err := c.ShouldBindQuery(&req); err != nil {
|
||||
log.NewError("0", "ShouldBindQuery failed ", err.Error())
|
||||
@@ -47,9 +48,9 @@ func GetUser(c *gin.Context) {
|
||||
|
||||
func GetUsers(c *gin.Context) {
|
||||
var (
|
||||
req cms_api_struct.GetUsersRequest
|
||||
resp cms_api_struct.GetUsersResponse
|
||||
reqPb pb.GetUsersReq
|
||||
req cms_api_struct.GetUsersRequest
|
||||
resp cms_api_struct.GetUsersResponse
|
||||
reqPb pb.GetUsersReq
|
||||
)
|
||||
reqPb.Pagination = &commonPb.RequestPagination{}
|
||||
if err := c.ShouldBindQuery(&req); err != nil {
|
||||
@@ -97,12 +98,12 @@ func ResignUser(c *gin.Context) {
|
||||
|
||||
func AlterUser(c *gin.Context) {
|
||||
var (
|
||||
req cms_api_struct.AlterUserRequest
|
||||
resp cms_api_struct.AlterUserResponse
|
||||
reqPb pb.AlterUserReq
|
||||
_ *pb.AlterUserResp
|
||||
req cms_api_struct.AlterUserRequest
|
||||
resp cms_api_struct.AlterUserResponse
|
||||
reqPb pb.AlterUserReq
|
||||
_ *pb.AlterUserResp
|
||||
)
|
||||
if err := c.ShouldBind(&req); err != nil {
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
log.NewError("0", "BindJSON failed ", err.Error())
|
||||
openIMHttp.RespHttp200(c, constant.ErrArgs, resp)
|
||||
return
|
||||
@@ -112,15 +113,16 @@ func AlterUser(c *gin.Context) {
|
||||
client := pb.NewUserClient(etcdConn)
|
||||
_, err := client.AlterUser(context.Background(), &reqPb)
|
||||
if err != nil {
|
||||
openIMHttp.RespHttp200(c, constant.ErrServer, resp)
|
||||
log.NewError("0", "microserver failed ", err.Error())
|
||||
openIMHttp.RespHttp200(c, constant.ErrServer, nil)
|
||||
}
|
||||
openIMHttp.RespHttp200(c, constant.OK, resp)
|
||||
openIMHttp.RespHttp200(c, constant.OK, nil)
|
||||
}
|
||||
|
||||
func AddUser(c *gin.Context) {
|
||||
var (
|
||||
req cms_api_struct.AddUserRequest
|
||||
reqPb pb.AddUserReq
|
||||
req cms_api_struct.AddUserRequest
|
||||
reqPb pb.AddUserReq
|
||||
)
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
log.NewError("0", "BindJSON failed ", err.Error())
|
||||
@@ -140,9 +142,9 @@ func AddUser(c *gin.Context) {
|
||||
|
||||
func BlockUser(c *gin.Context) {
|
||||
var (
|
||||
req cms_api_struct.BlockUserRequest
|
||||
resp cms_api_struct.BlockUserResponse
|
||||
reqPb pb.BlockUserReq
|
||||
req cms_api_struct.BlockUserRequest
|
||||
resp cms_api_struct.BlockUserResponse
|
||||
reqPb pb.BlockUserReq
|
||||
)
|
||||
if err := c.BindJSON(&req); err != nil {
|
||||
fmt.Println(err)
|
||||
@@ -165,9 +167,9 @@ func BlockUser(c *gin.Context) {
|
||||
|
||||
func UnblockUser(c *gin.Context) {
|
||||
var (
|
||||
req cms_api_struct.UnblockUserRequest
|
||||
resp cms_api_struct.UnBlockUserResponse
|
||||
reqPb pb.UnBlockUserReq
|
||||
req cms_api_struct.UnblockUserRequest
|
||||
resp cms_api_struct.UnBlockUserResponse
|
||||
reqPb pb.UnBlockUserReq
|
||||
)
|
||||
if err := c.ShouldBind(&req); err != nil {
|
||||
log.NewError("0", "BindJSON failed ", err.Error())
|
||||
@@ -207,14 +209,14 @@ func GetBlockUsers(c *gin.Context) {
|
||||
openIMHttp.RespHttp200(c, constant.ErrServer, resp)
|
||||
return
|
||||
}
|
||||
for _, v := range respPb.BlockUsers{
|
||||
for _, v := range respPb.BlockUsers {
|
||||
resp.BlockUsers = append(resp.BlockUsers, cms_api_struct.BlockUser{
|
||||
UserResponse: cms_api_struct.UserResponse{
|
||||
UserId:v.User.UserId,
|
||||
ProfilePhoto:v.User.ProfilePhoto,
|
||||
Nickname: v.User.Nickname,
|
||||
IsBlock: v.User.IsBlock,
|
||||
CreateTime: v.User.CreateTime,
|
||||
UserResponse: cms_api_struct.UserResponse{
|
||||
UserId: v.User.UserId,
|
||||
ProfilePhoto: v.User.ProfilePhoto,
|
||||
Nickname: v.User.Nickname,
|
||||
IsBlock: v.User.IsBlock,
|
||||
CreateTime: v.User.CreateTime,
|
||||
},
|
||||
BeginDisableTime: v.BeginDisableTime,
|
||||
EndDisableTime: v.EndDisableTime,
|
||||
@@ -226,11 +228,10 @@ func GetBlockUsers(c *gin.Context) {
|
||||
openIMHttp.RespHttp200(c, constant.OK, resp)
|
||||
}
|
||||
|
||||
|
||||
func GetBlockUser(c *gin.Context) {
|
||||
var (
|
||||
req cms_api_struct.GetBlockUserRequest
|
||||
resp cms_api_struct.GetBlockUserResponse
|
||||
req cms_api_struct.GetBlockUserRequest
|
||||
resp cms_api_struct.GetBlockUserResponse
|
||||
reqPb pb.GetBlockUserReq
|
||||
)
|
||||
if err := c.ShouldBindQuery(&req); err != nil {
|
||||
@@ -249,4 +250,4 @@ func GetBlockUser(c *gin.Context) {
|
||||
resp.BeginDisableTime = respPb.BlockUser.BeginDisableTime
|
||||
utils.CopyStructFields(&resp, respPb.BlockUser.User)
|
||||
openIMHttp.RespHttp200(c, constant.OK, resp)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,11 +14,12 @@ import (
|
||||
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
|
||||
"Open_IM/pkg/utils"
|
||||
"context"
|
||||
"google.golang.org/grpc"
|
||||
"net"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
type groupServer struct {
|
||||
@@ -648,7 +649,7 @@ func (s *groupServer) GetGroup(_ context.Context, req *pbGroup.GetGroupReq) (*pb
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, v:= range groups {
|
||||
for _, v := range groups {
|
||||
resp.GroupInfo = append(resp.GroupInfo, &open_im_sdk.GroupInfo{
|
||||
GroupID: v.GroupID,
|
||||
GroupName: v.GroupName,
|
||||
@@ -664,14 +665,23 @@ func (s *groupServer) GetGroup(_ context.Context, req *pbGroup.GetGroupReq) (*pb
|
||||
|
||||
func (s *groupServer) GetGroups(_ context.Context, req *pbGroup.GetGroupsReq) (*pbGroup.GetGroupsResp, error) {
|
||||
log.NewInfo(req.OperationID, "GetGroups ", req.String())
|
||||
resp := &pbGroup.GetGroupsResp{
|
||||
GroupInfo: []*open_im_sdk.GroupInfo{},
|
||||
Pagination: &open_im_sdk.RequestPagination{},
|
||||
}
|
||||
groups, err := imdb.GetGroups(int(req.Pagination.PageNumber), int(req.Pagination.ShowNumber))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return resp, err
|
||||
}
|
||||
resp := &pbGroup.GetGroupsResp{
|
||||
GroupInfo: []*open_im_sdk.GroupInfo{},
|
||||
groupsCountNum, err := imdb.GetGroupsCountNum()
|
||||
log.NewInfo(req.OperationID, "groupsCountNum ", groupsCountNum)
|
||||
if err != nil {
|
||||
return resp, err
|
||||
}
|
||||
for _, v:= range groups {
|
||||
resp.GroupNum = int32(groupsCountNum)
|
||||
resp.Pagination.PageNumber = req.Pagination.PageNumber
|
||||
resp.Pagination.ShowNumber = req.Pagination.ShowNumber
|
||||
for _, v := range groups {
|
||||
resp.GroupInfo = append(resp.GroupInfo, &open_im_sdk.GroupInfo{
|
||||
GroupID: v.GroupID,
|
||||
GroupName: v.GroupName,
|
||||
@@ -681,11 +691,11 @@ func (s *groupServer) GetGroups(_ context.Context, req *pbGroup.GetGroupsReq) (*
|
||||
CreatorUserID: v.CreatorUserID,
|
||||
})
|
||||
}
|
||||
utils.CopyStructFields(resp.GroupInfo, groups)
|
||||
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (s *groupServer) BanGroupChat(_ context.Context, req *pbGroup.BanGroupChatReq) (*pbGroup.BanGroupChatResp, error){
|
||||
func (s *groupServer) BanGroupChat(_ context.Context, req *pbGroup.BanGroupChatReq) (*pbGroup.BanGroupChatResp, error) {
|
||||
log.NewInfo(req.OperationID, "BanGroupChat ", req.String())
|
||||
resp := &pbGroup.BanGroupChatResp{}
|
||||
if err := imdb.BanGroupChat(req.GroupId); err != nil {
|
||||
|
||||
+21
-11
@@ -15,10 +15,11 @@ import (
|
||||
"Open_IM/pkg/utils"
|
||||
"context"
|
||||
"fmt"
|
||||
"google.golang.org/grpc"
|
||||
"net"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
type userServer struct {
|
||||
@@ -244,7 +245,7 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
|
||||
|
||||
func (s *userServer) GetUser(ctx context.Context, req *pbUser.GetUserReq) (*pbUser.GetUserResp, error) {
|
||||
log.NewInfo(req.OperationID, "GetUser args ", req.String())
|
||||
resp := &pbUser.GetUserResp{User:&pbUser.User{}}
|
||||
resp := &pbUser.GetUserResp{User: &pbUser.User{}}
|
||||
user, err := imdb.GetUserByUserID(req.UserId)
|
||||
if err != nil {
|
||||
return resp, nil
|
||||
@@ -260,7 +261,7 @@ func (s *userServer) GetUser(ctx context.Context, req *pbUser.GetUserReq) (*pbUs
|
||||
|
||||
func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pbUser.GetUsersResp, error) {
|
||||
log.NewInfo(req.OperationID, "GetUsers args ", req.String())
|
||||
resp := &pbUser.GetUsersResp{User:[]*pbUser.User{}}
|
||||
resp := &pbUser.GetUsersResp{User: []*pbUser.User{}}
|
||||
users, err := imdb.GetUsers(req.Pagination.ShowNumber, req.Pagination.PageNumber)
|
||||
if err != nil {
|
||||
return resp, nil
|
||||
@@ -278,7 +279,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb
|
||||
UserId: v.UserID,
|
||||
CreateTime: v.CreateTime.String(),
|
||||
Nickname: v.Nickname,
|
||||
IsBlock: isBlock,
|
||||
IsBlock: isBlock,
|
||||
}
|
||||
resp.User = append(resp.User, user)
|
||||
}
|
||||
@@ -297,7 +298,18 @@ func (s *userServer) ResignUser(ctx context.Context, req *pbUser.ResignUserReq)
|
||||
|
||||
func (s *userServer) AlterUser(ctx context.Context, req *pbUser.AlterUserReq) (*pbUser.AlterUserResp, error) {
|
||||
log.NewInfo(req.OperationID, "AlterUser args ", req.String())
|
||||
return &pbUser.AlterUserResp{}, nil
|
||||
resp := &pbUser.AlterUserResp{}
|
||||
user := db.Users{
|
||||
PhoneNumber: strconv.FormatInt(req.PhoneNumber, 10),
|
||||
Nickname: req.Nickname,
|
||||
Email: req.Email,
|
||||
UserID: req.UserId,
|
||||
}
|
||||
if err := imdb.UpdateUserInfo(user); err != nil {
|
||||
log.NewError(req.OperationID, err)
|
||||
return resp, err
|
||||
}
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (s *userServer) AddUser(ctx context.Context, req *pbUser.AddUserReq) (*pbUser.AddUserResp, error) {
|
||||
@@ -332,8 +344,6 @@ func (s *userServer) UnBlockUser(ctx context.Context, req *pbUser.UnBlockUserReq
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
//func (s *userServer) GetBlockUser(ctx context.Context, req *pbUser.GetBlockUserReq)
|
||||
|
||||
func (s *userServer) GetBlockUsers(ctx context.Context, req *pbUser.GetBlockUsersReq) (*pbUser.GetBlockUsersResp, error) {
|
||||
log.NewInfo(req.OperationID, "GetBlockUsers args ", req.String())
|
||||
resp := &pbUser.GetBlockUsersResp{}
|
||||
@@ -355,7 +365,7 @@ func (s *userServer) GetBlockUsers(ctx context.Context, req *pbUser.GetBlockUser
|
||||
IsBlock: true,
|
||||
},
|
||||
BeginDisableTime: (v.BeginDisableTime).String(),
|
||||
EndDisableTime: (v.EndDisableTime).String(),
|
||||
EndDisableTime: (v.EndDisableTime).String(),
|
||||
})
|
||||
}
|
||||
resp.Pagination = &sdkws.ResponsePagination{}
|
||||
@@ -368,8 +378,8 @@ func (s *userServer) GetBlockUsers(ctx context.Context, req *pbUser.GetBlockUser
|
||||
func (s *userServer) GetBlockUser(_ context.Context, req *pbUser.GetBlockUserReq) (*pbUser.GetBlockUserResp, error) {
|
||||
log.NewInfo(req.OperationID, "GetBlockUser args ", req.String())
|
||||
resp := &pbUser.GetBlockUserResp{}
|
||||
user, err := imdb.GetBlockUserById(req.UserId)
|
||||
if err != nil{
|
||||
user, err := imdb.GetBlockUserById(req.UserId)
|
||||
if err != nil {
|
||||
return resp, err
|
||||
}
|
||||
resp.BlockUser = &pbUser.BlockUser{}
|
||||
@@ -377,4 +387,4 @@ func (s *userServer) GetBlockUser(_ context.Context, req *pbUser.GetBlockUserReq
|
||||
resp.BlockUser.EndDisableTime = (user.EndDisableTime).String()
|
||||
return resp, nil
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user