Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
zhaominxu
Open-IM-Server
提交
87659b56
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,发现更多精彩内容 >>
提交
87659b56
编写于
12月 31, 2021
作者:
W
wenxu12345
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refactor code
上级
cd62d7f0
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
28 addition
and
27 deletion
+28
-27
internal/rpc/auth/auth.go
internal/rpc/auth/auth.go
+2
-1
internal/rpc/friend/firend.go
internal/rpc/friend/firend.go
+7
-6
internal/rpc/group/group.go
internal/rpc/group/group.go
+18
-19
internal/rpc/user/user.go
internal/rpc/user/user.go
+1
-1
未找到文件。
internal/rpc/auth/auth.go
浏览文件 @
87659b56
...
...
@@ -2,6 +2,7 @@ package auth
import
(
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db"
imdb
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
"Open_IM/pkg/common/log"
"Open_IM/pkg/common/token_verify"
...
...
@@ -20,7 +21,7 @@ import (
func
(
rpc
*
rpcAuth
)
UserRegister
(
_
context
.
Context
,
req
*
pbAuth
.
UserRegisterReq
)
(
*
pbAuth
.
UserRegisterResp
,
error
)
{
log
.
NewInfo
(
req
.
OperationID
,
"UserRegister args "
,
req
.
String
())
var
user
im
db
.
User
var
user
db
.
User
utils
.
CopyStructFields
(
&
user
,
req
.
UserInfo
)
if
req
.
UserInfo
.
Birth
!=
0
{
user
.
Birth
=
utils
.
UnixSecondToTime
(
req
.
UserInfo
.
Birth
)
...
...
internal/rpc/friend/firend.go
浏览文件 @
87659b56
...
...
@@ -4,6 +4,7 @@ import (
chat
"Open_IM/internal/rpc/msg"
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db"
imdb
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
"Open_IM/pkg/common/log"
"Open_IM/pkg/common/token_verify"
...
...
@@ -116,7 +117,7 @@ func (s *friendServer) AddBlacklist(ctx context.Context, req *pbFriend.AddBlackl
log
.
NewError
(
req
.
CommID
.
OperationID
,
"CheckAccess false "
,
req
.
CommID
.
OpUserID
,
req
.
CommID
.
FromUserID
)
return
&
pbFriend
.
AddBlacklistResp
{
CommonResp
:
&
pbFriend
.
CommonResp
{
ErrCode
:
constant
.
ErrAccess
.
ErrCode
,
ErrMsg
:
constant
.
ErrAccess
.
ErrMsg
}},
nil
}
black
:=
im
db
.
Black
{
OwnerUserID
:
req
.
CommID
.
FromUserID
,
BlockUserID
:
req
.
CommID
.
ToUserID
,
OperatorUserID
:
req
.
CommID
.
OpUserID
}
black
:=
db
.
Black
{
OwnerUserID
:
req
.
CommID
.
FromUserID
,
BlockUserID
:
req
.
CommID
.
ToUserID
,
OperatorUserID
:
req
.
CommID
.
OpUserID
}
err
:=
imdb
.
InsertInToUserBlackList
(
black
)
if
err
!=
nil
{
...
...
@@ -142,7 +143,7 @@ func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq
}
//Establish a latest relationship in the friend request table
friendRequest
:=
im
db
.
FriendRequest
{
ReqMsg
:
req
.
ReqMsg
}
friendRequest
:=
db
.
FriendRequest
{
ReqMsg
:
req
.
ReqMsg
}
utils
.
CopyStructFields
(
&
friendRequest
,
req
.
CommID
)
// {openIM001 openIM002 0 test add friend 0001-01-01 00:00:00 +0000 UTC 0001-01-01 00:00:00 +0000 UTC }]
log
.
NewDebug
(
req
.
CommID
.
OperationID
,
"UpdateFriendApplication args "
,
friendRequest
)
...
...
@@ -190,14 +191,14 @@ func (s *friendServer) ImportFriend(ctx context.Context, req *pbFriend.ImportFri
}
else
{
if
_
,
err
:=
imdb
.
GetFriendRelationshipFromFriend
(
req
.
FromUserID
,
v
);
err
!=
nil
{
//Establish two single friendship
toInsertFollow
:=
im
db
.
Friend
{
OwnerUserID
:
req
.
FromUserID
,
FriendUserID
:
v
}
toInsertFollow
:=
db
.
Friend
{
OwnerUserID
:
req
.
FromUserID
,
FriendUserID
:
v
}
err1
:=
imdb
.
InsertToFriend
(
&
toInsertFollow
)
if
err1
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"InsertToFriend failed "
,
err1
.
Error
(),
toInsertFollow
)
resp
.
UserIDResultList
=
append
(
resp
.
UserIDResultList
,
&
pbFriend
.
UserIDResult
{
UserID
:
v
,
Result
:
-
1
})
continue
}
toInsertFollow
=
im
db
.
Friend
{
OwnerUserID
:
v
,
FriendUserID
:
req
.
FromUserID
}
toInsertFollow
=
db
.
Friend
{
OwnerUserID
:
v
,
FriendUserID
:
req
.
FromUserID
}
err2
:=
imdb
.
InsertToFriend
(
&
toInsertFollow
)
if
err2
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"InsertToFriend failed "
,
err2
.
Error
(),
toInsertFollow
)
...
...
@@ -253,7 +254,7 @@ func (s *friendServer) AddFriendResponse(ctx context.Context, req *pbFriend.AddF
log
.
NewWarn
(
req
.
CommID
.
OperationID
,
"GetFriendRelationshipFromFriend exist"
,
req
.
CommID
.
FromUserID
,
req
.
CommID
.
ToUserID
)
}
else
{
//Establish two single friendship
toInsertFollow
:=
im
db
.
Friend
{
OwnerUserID
:
req
.
CommID
.
FromUserID
,
FriendUserID
:
req
.
CommID
.
ToUserID
,
OperatorUserID
:
req
.
CommID
.
OpUserID
}
toInsertFollow
:=
db
.
Friend
{
OwnerUserID
:
req
.
CommID
.
FromUserID
,
FriendUserID
:
req
.
CommID
.
ToUserID
,
OperatorUserID
:
req
.
CommID
.
OpUserID
}
err
=
imdb
.
InsertToFriend
(
&
toInsertFollow
)
if
err
!=
nil
{
log
.
NewError
(
req
.
CommID
.
OperationID
,
"InsertToFriend failed "
,
err
.
Error
(),
toInsertFollow
)
...
...
@@ -265,7 +266,7 @@ func (s *friendServer) AddFriendResponse(ctx context.Context, req *pbFriend.AddF
if
err
==
nil
{
log
.
NewWarn
(
req
.
CommID
.
OperationID
,
"GetFriendRelationshipFromFriend exist"
,
req
.
CommID
.
ToUserID
,
req
.
CommID
.
FromUserID
)
}
else
{
toInsertFollow
:=
im
db
.
Friend
{
OwnerUserID
:
req
.
CommID
.
ToUserID
,
FriendUserID
:
req
.
CommID
.
FromUserID
,
OperatorUserID
:
req
.
CommID
.
OpUserID
}
toInsertFollow
:=
db
.
Friend
{
OwnerUserID
:
req
.
CommID
.
ToUserID
,
FriendUserID
:
req
.
CommID
.
FromUserID
,
OperatorUserID
:
req
.
CommID
.
OpUserID
}
err
=
imdb
.
InsertToFriend
(
&
toInsertFollow
)
if
err
!=
nil
{
log
.
NewError
(
req
.
CommID
.
OperationID
,
"InsertToFriend failed "
,
err
.
Error
(),
toInsertFollow
)
...
...
internal/rpc/group/group.go
浏览文件 @
87659b56
...
...
@@ -5,7 +5,6 @@ import (
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db"
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
imdb
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
"Open_IM/pkg/common/log"
"Open_IM/pkg/common/token_verify"
...
...
@@ -79,10 +78,10 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
//Time stamp + MD5 to generate group chat id
groupId
:=
utils
.
Md5
(
strconv
.
FormatInt
(
time
.
Now
()
.
UnixNano
(),
10
))
//to group
groupInfo
:=
im
db
.
Group
{
GroupID
:
groupId
}
groupInfo
:=
db
.
Group
{
GroupID
:
groupId
}
utils
.
CopyStructFields
(
&
groupInfo
,
req
.
GroupInfo
)
groupInfo
.
CreatorUserID
=
req
.
OpUserID
err
:=
im
_mysql_model
.
InsertIntoGroup
(
groupInfo
)
err
:=
im
db
.
InsertIntoGroup
(
groupInfo
)
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"InsertIntoGroup failed, "
,
err
.
Error
(),
groupInfo
)
return
&
pbGroup
.
CreateGroupResp
{
ErrCode
:
constant
.
ErrDB
.
ErrCode
,
ErrMsg
:
constant
.
ErrDB
.
ErrMsg
},
nil
...
...
@@ -95,9 +94,9 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
}
//to group member
groupMember
:=
im
db
.
GroupMember
{
GroupID
:
groupId
,
RoleLevel
:
constant
.
GroupOwner
,
OperatorUserID
:
req
.
OpUserID
}
groupMember
:=
db
.
GroupMember
{
GroupID
:
groupId
,
RoleLevel
:
constant
.
GroupOwner
,
OperatorUserID
:
req
.
OpUserID
}
utils
.
CopyStructFields
(
&
groupMember
,
us
)
err
=
im
_mysql_model
.
InsertIntoGroupMember
(
groupMember
)
err
=
im
db
.
InsertIntoGroupMember
(
groupMember
)
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"InsertIntoGroupMember failed "
,
err
.
Error
(),
groupMember
)
return
&
pbGroup
.
CreateGroupResp
{
ErrCode
:
constant
.
ErrDB
.
ErrCode
,
ErrMsg
:
constant
.
ErrDB
.
ErrMsg
},
nil
...
...
@@ -110,7 +109,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
var
okUserIDList
[]
string
//to group member
for
_
,
user
:=
range
req
.
InitMemberList
{
us
,
err
:=
im
_mysql_model
.
GetUserByUserID
(
user
.
UserID
)
us
,
err
:=
im
db
.
GetUserByUserID
(
user
.
UserID
)
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"GetUserByUserID failed "
,
err
.
Error
(),
user
.
UserID
)
continue
...
...
@@ -121,7 +120,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
}
groupMember
.
RoleLevel
=
user
.
RoleLevel
utils
.
CopyStructFields
(
&
groupMember
,
us
)
err
=
im
_mysql_model
.
InsertIntoGroupMember
(
groupMember
)
err
=
im
db
.
InsertIntoGroupMember
(
groupMember
)
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"InsertIntoGroupMember failed "
,
err
.
Error
(),
groupMember
)
continue
...
...
@@ -135,7 +134,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
}
resp
:=
&
pbGroup
.
CreateGroupResp
{
GroupInfo
:
&
open_im_sdk
.
GroupInfo
{}}
group
,
err
:=
im
_mysql_model
.
GetGroupInfoByGroupID
(
groupId
)
group
,
err
:=
im
db
.
GetGroupInfoByGroupID
(
groupId
)
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"GetGroupInfoByGroupID failed "
,
err
.
Error
(),
groupId
)
resp
.
ErrCode
=
constant
.
ErrDB
.
ErrCode
...
...
@@ -222,7 +221,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
resp
.
Id2ResultList
=
append
(
resp
.
Id2ResultList
,
&
resultNode
)
continue
}
var
toInsertInfo
im
db
.
GroupMember
var
toInsertInfo
db
.
GroupMember
utils
.
CopyStructFields
(
&
toInsertInfo
,
toUserInfo
)
toInsertInfo
.
GroupID
=
req
.
GroupID
toInsertInfo
.
RoleLevel
=
constant
.
GroupOrdinaryUsers
...
...
@@ -393,7 +392,7 @@ func (s *groupServer) GetGroupMembersInfo(ctx context.Context, req *pbGroup.GetG
func
(
s
*
groupServer
)
GetGroupApplicationList
(
_
context
.
Context
,
req
*
pbGroup
.
GetGroupApplicationListReq
)
(
*
pbGroup
.
GetGroupApplicationListResp
,
error
)
{
log
.
NewInfo
(
req
.
OperationID
,
"GetGroupMembersInfo args "
,
req
.
String
())
reply
,
err
:=
im
_mysql_model
.
GetGroupApplicationList
(
req
.
FromUserID
)
reply
,
err
:=
im
db
.
GetGroupApplicationList
(
req
.
FromUserID
)
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"GetGroupApplicationList failed "
,
err
.
Error
(),
req
.
FromUserID
)
return
&
pbGroup
.
GetGroupApplicationListResp
{
ErrCode
:
701
,
ErrMsg
:
"GetGroupApplicationList failed"
},
nil
...
...
@@ -415,7 +414,7 @@ func (s *groupServer) GetGroupsInfo(ctx context.Context, req *pbGroup.GetGroupsI
log
.
NewInfo
(
req
.
OperationID
,
"GetGroupsInfo args "
,
req
.
String
())
groupsInfoList
:=
make
([]
*
open_im_sdk
.
GroupInfo
,
0
)
for
_
,
groupID
:=
range
req
.
GroupIDList
{
groupInfoFromMysql
,
err
:=
im
_mysql_model
.
GetGroupInfoByGroupID
(
groupID
)
groupInfoFromMysql
,
err
:=
im
db
.
GetGroupInfoByGroupID
(
groupID
)
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"GetGroupInfoByGroupID failed "
,
err
.
Error
(),
groupID
)
continue
...
...
@@ -433,7 +432,7 @@ func (s *groupServer) GetGroupsInfo(ctx context.Context, req *pbGroup.GetGroupsI
func
(
s
*
groupServer
)
GroupApplicationResponse
(
_
context
.
Context
,
req
*
pbGroup
.
GroupApplicationResponseReq
)
(
*
pbGroup
.
GroupApplicationResponseResp
,
error
)
{
log
.
NewInfo
(
req
.
OperationID
,
"GroupApplicationResponse args "
,
req
.
String
())
groupRequest
:=
im
db
.
GroupRequest
{}
groupRequest
:=
db
.
GroupRequest
{}
utils
.
CopyStructFields
(
&
groupRequest
,
req
)
groupRequest
.
UserID
=
req
.
FromUserID
groupRequest
.
HandleUserID
=
req
.
OpUserID
...
...
@@ -457,7 +456,7 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G
log
.
NewError
(
req
.
OperationID
,
"GroupApplicationResponse failed "
,
err
.
Error
(),
req
.
FromUserID
)
return
&
pbGroup
.
GroupApplicationResponseResp
{
CommonResp
:
&
pbGroup
.
CommonResp
{
ErrCode
:
constant
.
ErrDB
.
ErrCode
,
ErrMsg
:
constant
.
ErrDB
.
ErrMsg
}},
nil
}
member
:=
im
db
.
GroupMember
{}
member
:=
db
.
GroupMember
{}
member
.
GroupID
=
req
.
GroupID
member
.
UserID
=
req
.
FromUserID
member
.
RoleLevel
=
constant
.
GroupOrdinaryUsers
...
...
@@ -486,7 +485,7 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq)
return
&
pbGroup
.
JoinGroupResp
{
CommonResp
:
&
pbGroup
.
CommonResp
{
ErrCode
:
constant
.
ErrDB
.
ErrCode
,
ErrMsg
:
constant
.
ErrDB
.
ErrMsg
}},
nil
}
var
groupRequest
im
db
.
GroupRequest
var
groupRequest
db
.
GroupRequest
groupRequest
.
UserID
=
req
.
OpUserID
groupRequest
.
ReqMsg
=
req
.
ReqMessage
groupRequest
.
GroupID
=
req
.
GroupID
...
...
@@ -538,7 +537,7 @@ func hasAccess(req *pbGroup.SetGroupInfoReq) bool {
if
utils
.
IsContain
(
req
.
OpUserID
,
config
.
Config
.
Manager
.
AppManagerUid
)
{
return
true
}
groupUserInfo
,
err
:=
im
_mysql_model
.
GetGroupMemberInfoByGroupIDAndUserID
(
req
.
GroupInfo
.
GroupID
,
req
.
OpUserID
)
groupUserInfo
,
err
:=
im
db
.
GetGroupMemberInfoByGroupIDAndUserID
(
req
.
GroupInfo
.
GroupID
,
req
.
OpUserID
)
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"GetGroupMemberInfoByGroupIDAndUserID failed, "
,
err
.
Error
(),
req
.
GroupInfo
.
GroupID
,
req
.
OpUserID
)
return
false
...
...
@@ -557,7 +556,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf
return
&
pbGroup
.
SetGroupInfoResp
{
CommonResp
:
&
pbGroup
.
CommonResp
{
ErrCode
:
constant
.
ErrAccess
.
ErrCode
,
ErrMsg
:
constant
.
ErrAccess
.
ErrMsg
}},
nil
}
group
,
err
:=
im
_mysql_model
.
GetGroupInfoByGroupID
(
req
.
GroupInfo
.
GroupID
)
group
,
err
:=
im
db
.
GetGroupInfoByGroupID
(
req
.
GroupInfo
.
GroupID
)
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"GetGroupInfoByGroupID failed "
,
err
.
Error
(),
req
.
GroupInfo
.
GroupID
)
return
&
pbGroup
.
SetGroupInfoResp
{
CommonResp
:
&
pbGroup
.
CommonResp
{
ErrCode
:
constant
.
ErrDB
.
ErrCode
,
ErrMsg
:
constant
.
ErrAccess
.
ErrMsg
}},
nil
...
...
@@ -578,7 +577,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf
changedType
=
changedType
|
(
1
<<
3
)
}
//only administrators can set group information
var
groupInfo
im
db
.
Group
var
groupInfo
db
.
Group
utils
.
CopyStructFields
(
&
groupInfo
,
req
.
GroupInfo
)
err
=
imdb
.
SetGroupInfo
(
groupInfo
)
if
err
!=
nil
{
...
...
@@ -600,13 +599,13 @@ func (s *groupServer) TransferGroupOwner(_ context.Context, req *pbGroup.Transfe
log
.
NewError
(
req
.
OperationID
,
"same owner "
,
req
.
OldOwnerUserID
,
req
.
NewOwnerUserID
)
return
&
pbGroup
.
TransferGroupOwnerResp
{
CommonResp
:
&
pbGroup
.
CommonResp
{
ErrCode
:
constant
.
ErrArgs
.
ErrCode
,
ErrMsg
:
constant
.
ErrArgs
.
ErrMsg
}},
nil
}
groupMemberInfo
:=
im
db
.
GroupMember
{
GroupID
:
req
.
GroupID
,
UserID
:
req
.
OldOwnerUserID
,
RoleLevel
:
constant
.
GroupOrdinaryUsers
}
groupMemberInfo
:=
db
.
GroupMember
{
GroupID
:
req
.
GroupID
,
UserID
:
req
.
OldOwnerUserID
,
RoleLevel
:
constant
.
GroupOrdinaryUsers
}
err
:=
imdb
.
UpdateGroupMemberInfo
(
groupMemberInfo
)
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"UpdateGroupMemberInfo failed "
,
groupMemberInfo
)
return
&
pbGroup
.
TransferGroupOwnerResp
{
CommonResp
:
&
pbGroup
.
CommonResp
{
ErrCode
:
constant
.
ErrDB
.
ErrCode
,
ErrMsg
:
constant
.
ErrDB
.
ErrMsg
}},
nil
}
groupMemberInfo
=
im
db
.
GroupMember
{
GroupID
:
req
.
GroupID
,
UserID
:
req
.
NewOwnerUserID
,
RoleLevel
:
constant
.
GroupOwner
}
groupMemberInfo
=
db
.
GroupMember
{
GroupID
:
req
.
GroupID
,
UserID
:
req
.
NewOwnerUserID
,
RoleLevel
:
constant
.
GroupOwner
}
err
=
imdb
.
UpdateGroupMemberInfo
(
groupMemberInfo
)
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"UpdateGroupMemberInfo failed "
,
groupMemberInfo
)
...
...
internal/rpc/user/user.go
浏览文件 @
87659b56
...
...
@@ -213,7 +213,7 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
return
&
pbUser
.
UpdateUserInfoResp
{
CommonResp
:
&
pbUser
.
CommonResp
{
ErrCode
:
constant
.
ErrAccess
.
ErrCode
,
ErrMsg
:
constant
.
ErrAccess
.
ErrMsg
}},
nil
}
var
user
im
db
.
User
var
user
db
.
User
utils
.
CopyStructFields
(
&
user
,
req
.
UserInfo
)
if
req
.
UserInfo
.
Birth
!=
0
{
user
.
Birth
=
utils
.
UnixSecondToTime
(
req
.
UserInfo
.
Birth
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录