mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-25 19:22:46 +08:00
apitorpc group
This commit is contained in:
parent
0411a5045b
commit
586a113994
@ -6,23 +6,44 @@ import (
|
|||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Call TEST
|
//// Call TEST
|
||||||
func Call[A, B, C, D, E any](
|
//func Call2[A, B, C, D, E any](
|
||||||
apiReq *A,
|
// apiReq *A,
|
||||||
apiResp *B,
|
// apiResp *B,
|
||||||
rpc func(client E, ctx context.Context, req C, options ...grpc.CallOption) (D, error),
|
// rpc func(client E, ctx context.Context, req C, options ...grpc.CallOption) (D, error),
|
||||||
client func() (E, error),
|
// client func() (E, error),
|
||||||
c *gin.Context,
|
// c *gin.Context,
|
||||||
before func(apiReq *A, rpcReq *C, bind func() error) error,
|
// before func(apiReq *A, rpcReq *C, bind func() error) error,
|
||||||
after func(rpcResp *D, apiResp *B, bind func() error) error,
|
// after func(rpcResp *D, apiResp *B, bind func() error) error,
|
||||||
) {
|
//) {
|
||||||
|
//
|
||||||
|
//}
|
||||||
|
|
||||||
}
|
func Call[A, B, C any](
|
||||||
|
rpc func(client C, ctx context.Context, req *A, options ...grpc.CallOption) (*B, error),
|
||||||
func Call1[C, D, E any](
|
client func() (C, error),
|
||||||
rpc func(client E, ctx context.Context, req C, options ...grpc.CallOption) (D, error),
|
|
||||||
client func() (E, error),
|
|
||||||
c *gin.Context,
|
c *gin.Context,
|
||||||
) {
|
) {
|
||||||
|
var req A
|
||||||
|
if err := c.BindJSON(&req); err != nil {
|
||||||
|
// todo 参数错误
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if check, ok := any(&req).(interface{ Check() error }); ok {
|
||||||
|
if err := check.Check(); err != nil {
|
||||||
|
// todo 参数校验失败
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cli, err := client()
|
||||||
|
if err != nil {
|
||||||
|
// todo 获取rpc连接失败
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resp, err := rpc(cli, c, &req)
|
||||||
|
if err != nil {
|
||||||
|
// todo rpc请求失败
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_ = resp
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@ package group
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"OpenIM/internal/a2r"
|
"OpenIM/internal/a2r"
|
||||||
"OpenIM/pkg/apistruct"
|
|
||||||
"OpenIM/pkg/common/config"
|
"OpenIM/pkg/common/config"
|
||||||
"OpenIM/pkg/proto/group"
|
"OpenIM/pkg/proto/group"
|
||||||
"context"
|
"context"
|
||||||
@ -10,8 +9,10 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
|
|
||||||
func _() {
|
var _ context.Context = nil // 解决goland编辑器bug
|
||||||
context.Background()
|
|
||||||
|
func NewGroup(zk *openKeeper.ZkClient) *Group {
|
||||||
|
return &Group{zk: zk}
|
||||||
}
|
}
|
||||||
|
|
||||||
type Group struct {
|
type Group struct {
|
||||||
@ -27,9 +28,9 @@ func (g *Group) getGroupClient() (group.GroupClient, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (g *Group) KickGroupMember(c *gin.Context) {
|
func (g *Group) KickGroupMember(c *gin.Context) {
|
||||||
a2r.Call(&apistruct.KickGroupMemberReq{}, &apistruct.KickGroupMemberResp{}, group.GroupClient.KickGroupMember, g.getGroupClient, c, nil, nil)
|
a2r.Call(group.GroupClient.KickGroupMember, g.getGroupClient, c)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *Group) GetGroupMembersInfo(c *gin.Context) {
|
func (g *Group) GetGroupMembersInfo(c *gin.Context) {
|
||||||
a2r.Call1(group.GroupClient.GetGroupMembersInfo, g.getGroupClient, c)
|
a2r.Call(group.GroupClient.GetGroupMembersInfo, g.getGroupClient, c)
|
||||||
}
|
}
|
||||||
|
@ -82,31 +82,31 @@ func NewGinRouter() *gin.Engine {
|
|||||||
c.Next()
|
c.Next()
|
||||||
})
|
})
|
||||||
{
|
{
|
||||||
|
g := group.NewGroup(nil)
|
||||||
groupRouterGroup.POST("/create_group", group.NewCreateGroup) //1
|
groupRouterGroup.POST("/create_group", g.NewCreateGroup) //1
|
||||||
groupRouterGroup.POST("/set_group_info", group.NewSetGroupInfo) //1
|
groupRouterGroup.POST("/set_group_info", g.NewSetGroupInfo) //1
|
||||||
groupRouterGroup.POST("/join_group", group.JoinGroup) //1
|
groupRouterGroup.POST("/join_group", g.JoinGroup) //1
|
||||||
groupRouterGroup.POST("/quit_group", group.QuitGroup) //1
|
groupRouterGroup.POST("/quit_group", g.QuitGroup) //1
|
||||||
groupRouterGroup.POST("/group_application_response", group.ApplicationGroupResponse) //1
|
groupRouterGroup.POST("/group_application_response", g.ApplicationGroupResponse) //1
|
||||||
groupRouterGroup.POST("/transfer_group", group.TransferGroupOwner) //1
|
groupRouterGroup.POST("/transfer_group", g.TransferGroupOwner) //1
|
||||||
groupRouterGroup.POST("/get_recv_group_applicationList", group.GetRecvGroupApplicationList) //1
|
groupRouterGroup.POST("/get_recv_group_applicationList", g.GetRecvGroupApplicationList) //1
|
||||||
groupRouterGroup.POST("/get_user_req_group_applicationList", group.GetUserReqGroupApplicationList)
|
groupRouterGroup.POST("/get_user_req_group_applicationList", g.GetUserReqGroupApplicationList)
|
||||||
groupRouterGroup.POST("/get_groups_info", group.GetGroupsInfo) //1
|
groupRouterGroup.POST("/get_groups_info", g.GetGroupsInfo) //1
|
||||||
groupRouterGroup.POST("/kick_group", group.KickGroupMember) //1
|
groupRouterGroup.POST("/kick_group", g.KickGroupMember) //1
|
||||||
// groupRouterGroup.POST("/get_group_member_list", group.FindGroupMemberAll) //no use
|
// groupRouterGroup.POST("/get_group_member_list", g.FindGroupMemberAll) //no use
|
||||||
groupRouterGroup.POST("/get_group_all_member_list", group.GetGroupAllMemberList) //1
|
groupRouterGroup.POST("/get_group_all_member_list", g.GetGroupAllMemberList) //1
|
||||||
groupRouterGroup.POST("/get_group_members_info", group.GetGroupMembersInfo) //1
|
groupRouterGroup.POST("/get_group_members_info", g.GetGroupMembersInfo) //1
|
||||||
groupRouterGroup.POST("/invite_user_to_group", group.InviteUserToGroup) //1
|
groupRouterGroup.POST("/invite_user_to_group", g.InviteUserToGroup) //1
|
||||||
groupRouterGroup.POST("/get_joined_group_list", group.GetJoinedGroupList)
|
groupRouterGroup.POST("/get_joined_group_list", g.GetJoinedGroupList)
|
||||||
groupRouterGroup.POST("/dismiss_group", group.DismissGroup) //
|
groupRouterGroup.POST("/dismiss_group", g.DismissGroup) //
|
||||||
groupRouterGroup.POST("/mute_group_member", group.MuteGroupMember)
|
groupRouterGroup.POST("/mute_group_member", g.MuteGroupMember)
|
||||||
groupRouterGroup.POST("/cancel_mute_group_member", group.CancelMuteGroupMember) //MuteGroup
|
groupRouterGroup.POST("/cancel_mute_group_member", g.CancelMuteGroupMember) //MuteGroup
|
||||||
groupRouterGroup.POST("/mute_group", group.MuteGroup)
|
groupRouterGroup.POST("/mute_group", g.MuteGroup)
|
||||||
groupRouterGroup.POST("/cancel_mute_group", group.CancelMuteGroup)
|
groupRouterGroup.POST("/cancel_mute_group", g.CancelMuteGroup)
|
||||||
groupRouterGroup.POST("/set_group_member_nickname", group.SetGroupMemberNickname)
|
groupRouterGroup.POST("/set_group_member_nickname", g.SetGroupMemberNickname)
|
||||||
groupRouterGroup.POST("/set_group_member_info", group.SetGroupMemberInfo)
|
groupRouterGroup.POST("/set_group_member_info", g.SetGroupMemberInfo)
|
||||||
groupRouterGroup.POST("/get_group_abstract_info", group.GetGroupAbstractInfo)
|
groupRouterGroup.POST("/get_group_abstract_info", g.GetGroupAbstractInfo)
|
||||||
//groupRouterGroup.POST("/get_group_all_member_list_by_split", group.GetGroupAllMemberListBySplit)
|
//groupRouterGroup.POST("/get_group_all_member_list_by_split", g.GetGroupAllMemberListBySplit)
|
||||||
}
|
}
|
||||||
superGroupRouterGroup := r.Group("/super_group")
|
superGroupRouterGroup := r.Group("/super_group")
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user