Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
zhaominxu
Open-IM-Server
提交
02b09c58
O
Open-IM-Server
项目概览
zhaominxu
/
Open-IM-Server
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Open-IM-Server
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
02b09c58
编写于
1月 14, 2022
作者:
programor_guo
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/tuoyun' into tuoyun
上级
b0a8ad1a
3e6302e4
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
74 addition
and
16 deletion
+74
-16
cmd/open_im_api/main.go
cmd/open_im_api/main.go
+3
-2
internal/api/group/group.go
internal/api/group/group.go
+2
-2
internal/api/user/user.go
internal/api/user/user.go
+51
-4
internal/rpc/group/group.go
internal/rpc/group/group.go
+1
-1
pkg/base_info/group_api_struct.go
pkg/base_info/group_api_struct.go
+1
-1
pkg/base_info/user_api_struct.go
pkg/base_info/user_api_struct.go
+14
-4
pkg/common/db/mysql_model/im_mysql_model/group_member_model.go
...ommon/db/mysql_model/im_mysql_model/group_member_model.go
+1
-1
pkg/common/db/mysql_model/im_mysql_model/group_request_model.go
...mmon/db/mysql_model/im_mysql_model/group_request_model.go
+1
-1
未找到文件。
cmd/open_im_api/main.go
浏览文件 @
02b09c58
...
...
@@ -24,8 +24,9 @@ func main() {
// user routing group, which handles user registration and login services
userRouterGroup
:=
r
.
Group
(
"/user"
)
{
userRouterGroup
.
POST
(
"/update_user_info"
,
user
.
UpdateUserInfo
)
//1
userRouterGroup
.
POST
(
"/get_user_info"
,
user
.
GetUserInfo
)
//1
userRouterGroup
.
POST
(
"/update_user_info"
,
user
.
UpdateUserInfo
)
//1
userRouterGroup
.
POST
(
"/get_user_info"
,
user
.
GetUsersInfo
)
//1
userRouterGroup
.
POST
(
"/get_self_user_info"
,
user
.
GetSelfUserInfo
)
//1
}
//friend routing group
friendRouterGroup
:=
r
.
Group
(
"/friend"
)
...
...
internal/api/group/group.go
浏览文件 @
02b09c58
...
...
@@ -227,11 +227,11 @@ func InviteUserToGroup(c *gin.Context) {
resp
:=
api
.
InviteUserToGroupResp
{
CommResp
:
api
.
CommResp
{
ErrCode
:
RpcResp
.
ErrCode
,
ErrMsg
:
RpcResp
.
ErrMsg
}}
for
_
,
v
:=
range
RpcResp
.
Id2ResultList
{
resp
.
UserIDResultList
=
append
(
resp
.
UserIDResultList
,
api
.
UserIDResult
{
UserID
:
v
.
UserID
,
Result
:
v
.
Result
})
resp
.
UserIDResultList
=
append
(
resp
.
UserIDResultList
,
&
api
.
UserIDResult
{
UserID
:
v
.
UserID
,
Result
:
v
.
Result
})
}
if
len
(
resp
.
UserIDResultList
)
==
0
{
resp
.
UserIDResultList
=
[]
api
.
UserIDResult
{}
resp
.
UserIDResultList
=
*
new
([]
*
api
.
UserIDResult
)
}
log
.
NewInfo
(
req
.
OperationID
,
"InviteUserToGroup api return "
,
resp
)
...
...
internal/api/user/user.go
浏览文件 @
02b09c58
...
...
@@ -16,8 +16,8 @@ import (
"strings"
)
func
GetUserInfo
(
c
*
gin
.
Context
)
{
params
:=
api
.
GetUserInfoReq
{}
func
GetUser
s
Info
(
c
*
gin
.
Context
)
{
params
:=
api
.
GetUser
s
InfoReq
{}
if
err
:=
c
.
BindJSON
(
&
params
);
err
!=
nil
{
log
.
NewError
(
"0"
,
"BindJSON failed "
,
err
.
Error
())
c
.
JSON
(
http
.
StatusBadRequest
,
gin
.
H
{
"errCode"
:
http
.
StatusBadRequest
,
"errMsg"
:
err
.
Error
()})
...
...
@@ -42,15 +42,20 @@ func GetUserInfo(c *gin.Context) {
c
.
JSON
(
http
.
StatusInternalServerError
,
gin
.
H
{
"errCode"
:
500
,
"errMsg"
:
"call rpc server failed"
})
return
}
var
publicUserInfoList
[]
*
open_im_sdk
.
PublicUserInfo
for
_
,
v
:=
range
RpcResp
.
UserInfoList
{
publicUserInfoList
=
append
(
publicUserInfoList
,
&
open_im_sdk
.
PublicUserInfo
{
UserID
:
v
.
UserID
,
Nickname
:
v
.
Nickname
,
FaceUrl
:
v
.
FaceUrl
,
Gender
:
v
.
Gender
,
AppMangerLevel
:
v
.
AppMangerLevel
})
}
resp
:=
api
.
GetUser
InfoResp
{
CommResp
:
api
.
CommResp
{
ErrCode
:
RpcResp
.
CommonResp
.
ErrCode
,
ErrMsg
:
RpcResp
.
CommonResp
.
ErrMsg
},
UserInfoList
:
RpcResp
.
UserInfoList
}
resp
:=
api
.
GetUser
sInfoResp
{
CommResp
:
api
.
CommResp
{
ErrCode
:
RpcResp
.
CommonResp
.
ErrCode
,
ErrMsg
:
RpcResp
.
CommonResp
.
ErrMsg
},
UserInfoList
:
public
UserInfoList
}
resp
.
Data
=
jsonData
.
JsonDataList
(
resp
.
UserInfoList
)
log
.
NewInfo
(
req
.
OperationID
,
"GetUserInfo api return "
,
resp
)
c
.
JSON
(
http
.
StatusOK
,
resp
)
}
func
UpdateUserInfo
(
c
*
gin
.
Context
)
{
params
:=
api
.
UpdateUserInfoReq
{}
params
:=
api
.
Update
Self
UserInfoReq
{}
if
err
:=
c
.
BindJSON
(
&
params
);
err
!=
nil
{
log
.
NewError
(
"0"
,
"BindJSON failed "
,
err
.
Error
())
c
.
JSON
(
http
.
StatusBadRequest
,
gin
.
H
{
"errCode"
:
400
,
"errMsg"
:
err
.
Error
()})
...
...
@@ -80,3 +85,45 @@ func UpdateUserInfo(c *gin.Context) {
log
.
NewInfo
(
req
.
OperationID
,
"UpdateUserInfo api return "
,
resp
)
c
.
JSON
(
http
.
StatusOK
,
resp
)
}
func
GetSelfUserInfo
(
c
*
gin
.
Context
)
{
params
:=
api
.
GetSelfUserInfoReq
{}
if
err
:=
c
.
BindJSON
(
&
params
);
err
!=
nil
{
log
.
NewError
(
"0"
,
"BindJSON failed "
,
err
.
Error
())
c
.
JSON
(
http
.
StatusBadRequest
,
gin
.
H
{
"errCode"
:
http
.
StatusBadRequest
,
"errMsg"
:
err
.
Error
()})
return
}
req
:=
&
rpc
.
GetUserInfoReq
{}
utils
.
CopyStructFields
(
req
,
&
params
)
var
ok
bool
ok
,
req
.
OpUserID
=
token_verify
.
GetUserIDFromToken
(
c
.
Request
.
Header
.
Get
(
"token"
))
if
!
ok
{
log
.
NewError
(
req
.
OperationID
,
"GetUserIDFromToken false "
,
c
.
Request
.
Header
.
Get
(
"token"
))
c
.
JSON
(
http
.
StatusInternalServerError
,
gin
.
H
{
"errCode"
:
500
,
"errMsg"
:
"GetUserIDFromToken failed"
})
return
}
req
.
UserIDList
=
append
(
req
.
UserIDList
,
req
.
OpUserID
)
log
.
NewInfo
(
params
.
OperationID
,
"GetUserInfo args "
,
req
.
String
())
etcdConn
:=
getcdv3
.
GetConn
(
config
.
Config
.
Etcd
.
EtcdSchema
,
strings
.
Join
(
config
.
Config
.
Etcd
.
EtcdAddr
,
","
),
config
.
Config
.
RpcRegisterName
.
OpenImUserName
)
client
:=
rpc
.
NewUserClient
(
etcdConn
)
RpcResp
,
err
:=
client
.
GetUserInfo
(
context
.
Background
(),
req
)
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"GetUserInfo failed "
,
err
.
Error
(),
req
.
String
())
c
.
JSON
(
http
.
StatusInternalServerError
,
gin
.
H
{
"errCode"
:
500
,
"errMsg"
:
"call rpc server failed"
})
return
}
if
len
(
RpcResp
.
UserInfoList
)
==
1
{
resp
:=
api
.
GetSelfUserInfoResp
{
CommResp
:
api
.
CommResp
{
ErrCode
:
RpcResp
.
CommonResp
.
ErrCode
,
ErrMsg
:
RpcResp
.
CommonResp
.
ErrMsg
},
UserInfoList
:
RpcResp
.
UserInfoList
[
0
]}
resp
.
Data
=
jsonData
.
JsonDataList
(
resp
.
UserInfoList
)
log
.
NewInfo
(
req
.
OperationID
,
"GetUserInfo api return "
,
resp
)
c
.
JSON
(
http
.
StatusOK
,
resp
)
}
else
{
resp
:=
api
.
GetSelfUserInfoResp
{
CommResp
:
api
.
CommResp
{
ErrCode
:
RpcResp
.
CommonResp
.
ErrCode
,
ErrMsg
:
RpcResp
.
CommonResp
.
ErrMsg
}}
resp
.
Data
=
jsonData
.
JsonDataList
(
resp
.
UserInfoList
)
log
.
NewInfo
(
req
.
OperationID
,
"GetUserInfo api return "
,
resp
)
c
.
JSON
(
http
.
StatusOK
,
resp
)
}
}
internal/rpc/group/group.go
浏览文件 @
02b09c58
...
...
@@ -171,7 +171,7 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
group
,
err
:=
imdb
.
GetGroupInfoByGroupID
(
v
)
if
num
>
0
&&
owner
!=
nil
&&
err2
==
nil
&&
group
!=
nil
&&
err
==
nil
{
utils
.
CopyStructFields
(
&
groupNode
,
group
)
groupNode
.
CreateTime
=
group
.
CreateTime
.
Unix
(
)
groupNode
.
CreateTime
=
uint32
(
group
.
CreateTime
.
Unix
()
)
groupNode
.
MemberCount
=
uint32
(
num
)
groupNode
.
OwnerUserID
=
owner
.
UserID
resp
.
GroupList
=
append
(
resp
.
GroupList
,
&
groupNode
)
...
...
pkg/base_info/group_api_struct.go
浏览文件 @
02b09c58
...
...
@@ -45,7 +45,7 @@ type InviteUserToGroupReq struct {
}
type
InviteUserToGroupResp
struct
{
CommResp
UserIDResultList
[]
UserIDResult
`json:"data"`
UserIDResultList
[]
*
UserIDResult
`json:"data"`
}
type
GetJoinedGroupListReq
struct
{
...
...
pkg/base_info/user_api_struct.go
浏览文件 @
02b09c58
...
...
@@ -4,17 +4,17 @@ import (
open_im_sdk
"Open_IM/pkg/proto/sdk_ws"
)
type
GetUserInfoReq
struct
{
type
GetUser
s
InfoReq
struct
{
OperationID
string
`json:"operationID" binding:"required"`
UserIDList
[]
string
`json:"userIDList" binding:"required"`
}
type
GetUserInfoResp
struct
{
type
GetUser
s
InfoResp
struct
{
CommResp
UserInfoList
[]
*
open_im_sdk
.
UserInfo
`json:"-"`
UserInfoList
[]
*
open_im_sdk
.
PublicUserInfo
Data
[]
map
[
string
]
interface
{}
`json:"data"`
}
type
UpdateUserInfoReq
struct
{
type
Update
Self
UserInfoReq
struct
{
UserInfo
OperationID
string
`json:"operationID" binding:"required"`
}
...
...
@@ -22,3 +22,13 @@ type UpdateUserInfoReq struct {
type
UpdateUserInfoResp
struct
{
CommResp
}
type
GetSelfUserInfoReq
struct
{
OperationID
string
`json:"operationID" binding:"required"`
UserID
string
`json:"userID" binding:"required"`
}
type
GetSelfUserInfoResp
struct
{
CommResp
UserInfoList
*
open_im_sdk
.
UserInfo
`json:"-"`
Data
[]
map
[
string
]
interface
{}
`json:"data"`
}
pkg/common/db/mysql_model/im_mysql_model/group_member_model.go
浏览文件 @
02b09c58
...
...
@@ -92,7 +92,7 @@ func DeleteGroupMemberByGroupIDAndUserID(groupID, userID string) error {
if
err
!=
nil
{
return
err
}
err
=
dbConn
.
Table
(
"group_members"
)
.
Where
(
"group_id=? and user_id=? "
,
groupID
,
userID
)
.
Delete
(
&
db
.
GroupMember
{})
.
Error
err
=
dbConn
.
Table
(
"group_members"
)
.
Where
(
"group_id=? and user_id=? "
,
groupID
,
userID
)
.
Delete
(
db
.
GroupMember
{})
.
Error
if
err
!=
nil
{
return
err
}
...
...
pkg/common/db/mysql_model/im_mysql_model/group_request_model.go
浏览文件 @
02b09c58
...
...
@@ -66,7 +66,7 @@ func DelGroupRequestByGroupIDAndUserID(groupID, userID string) error {
if
err
!=
nil
{
return
err
}
err
=
dbConn
.
Table
(
"group_requests"
)
.
Where
(
"group_id=? and user_id=?"
,
groupID
,
userID
)
.
Delete
(
&
db
.
GroupRequest
{})
.
Error
err
=
dbConn
.
Table
(
"group_requests"
)
.
Where
(
"group_id=? and user_id=?"
,
groupID
,
userID
)
.
Delete
(
db
.
GroupRequest
{})
.
Error
if
err
!=
nil
{
return
err
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录