Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
zhaominxu
Open-IM-Server
提交
e64bc40c
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,体验更适合开发者的 AI 搜索 >>
提交
e64bc40c
编写于
12月 24, 2021
作者:
W
wenxu12345
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
notification
上级
d40e1e47
变更
11
展开全部
隐藏空白更改
内联
并排
Showing
11 changed file
with
970 addition
and
774 deletion
+970
-774
internal/rpc/friend/firend.go
internal/rpc/friend/firend.go
+14
-9
internal/rpc/group/group.go
internal/rpc/group/group.go
+51
-55
internal/rpc/msg/send_msg.go
internal/rpc/msg/send_msg.go
+411
-76
internal/rpc/user/get_user_info.go
internal/rpc/user/get_user_info.go
+1
-8
internal/rpc/user/update_user_info.go
internal/rpc/user/update_user_info.go
+4
-1
pkg/common/constant/constant.go
pkg/common/constant/constant.go
+32
-16
pkg/common/db/mysql.go
pkg/common/db/mysql.go
+0
-12
pkg/common/db/mysql_model/im_mysql_model/group_model.go
pkg/common/db/mysql_model/im_mysql_model/group_model.go
+1
-1
pkg/proto/group/group.pb.go
pkg/proto/group/group.pb.go
+138
-166
pkg/proto/sdk_ws/ws.pb.go
pkg/proto/sdk_ws/ws.pb.go
+290
-396
pkg/proto/sdk_ws/ws.proto
pkg/proto/sdk_ws/ws.proto
+28
-34
未找到文件。
internal/rpc/friend/firend.go
浏览文件 @
e64bc40c
package
friend
package
friend
import
(
import
(
"Open_IM/internal/rpc/chat
"
chat
"Open_IM/internal/rpc/msg
"
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/constant"
imdb
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
imdb
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
...
@@ -124,7 +124,7 @@ func (s *friendServer) AddBlacklist(ctx context.Context, req *pbFriend.AddBlackl
...
@@ -124,7 +124,7 @@ func (s *friendServer) AddBlacklist(ctx context.Context, req *pbFriend.AddBlackl
return
&
pbFriend
.
CommonResp
{
ErrCode
:
constant
.
ErrMysql
.
ErrCode
,
ErrMsg
:
constant
.
ErrMysql
.
ErrMsg
},
nil
return
&
pbFriend
.
CommonResp
{
ErrCode
:
constant
.
ErrMysql
.
ErrCode
,
ErrMsg
:
constant
.
ErrMysql
.
ErrMsg
},
nil
}
}
log
.
NewInfo
(
req
.
CommID
.
OperationID
,
"InsertInToUserBlackList ok "
,
req
.
CommID
.
FromUserID
,
req
.
CommID
.
ToUserID
)
log
.
NewInfo
(
req
.
CommID
.
OperationID
,
"InsertInToUserBlackList ok "
,
req
.
CommID
.
FromUserID
,
req
.
CommID
.
ToUserID
)
chat
.
BlackAddedNotification
(
req
.
CommID
.
OperationID
,
req
.
CommID
.
OpUserID
,
req
.
CommID
.
FromUserID
,
req
.
CommID
.
ToUserID
)
chat
.
BlackAddedNotification
(
req
)
return
&
pbFriend
.
CommonResp
{},
nil
return
&
pbFriend
.
CommonResp
{},
nil
}
}
...
@@ -148,7 +148,7 @@ func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq
...
@@ -148,7 +148,7 @@ func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq
return
&
pbFriend
.
CommonResp
{
ErrCode
:
constant
.
ErrAddFriend
.
ErrCode
,
ErrMsg
:
constant
.
ErrAddFriend
.
ErrMsg
},
nil
return
&
pbFriend
.
CommonResp
{
ErrCode
:
constant
.
ErrAddFriend
.
ErrCode
,
ErrMsg
:
constant
.
ErrAddFriend
.
ErrMsg
},
nil
}
}
chat
.
FriendApplicationAddedNotification
(
req
.
CommID
.
OperationID
,
req
.
CommID
.
OpUserID
,
req
.
CommID
.
FromUserID
,
req
.
CommID
.
ToUserID
,
req
.
ReqMessage
)
chat
.
FriendApplicationAddedNotification
(
req
)
return
&
pbFriend
.
CommonResp
{},
nil
return
&
pbFriend
.
CommonResp
{},
nil
}
}
...
@@ -195,7 +195,10 @@ func (s *friendServer) ImportFriend(ctx context.Context, req *pbFriend.ImportFri
...
@@ -195,7 +195,10 @@ func (s *friendServer) ImportFriend(ctx context.Context, req *pbFriend.ImportFri
c
.
ErrCode
=
408
c
.
ErrCode
=
408
continue
continue
}
}
chat
.
FriendAddedNotification
(
req
.
OperationID
,
req
.
OpUserID
,
req
.
FromUserID
,
v
)
for
_
,
v
:=
range
req
.
FriendUserIDList
{
chat
.
FriendAddedNotification
(
req
.
OperationID
,
req
.
OpUserID
,
req
.
FromUserID
,
v
)
}
}
}
}
}
}
}
...
@@ -204,10 +207,11 @@ func (s *friendServer) ImportFriend(ctx context.Context, req *pbFriend.ImportFri
...
@@ -204,10 +207,11 @@ func (s *friendServer) ImportFriend(ctx context.Context, req *pbFriend.ImportFri
return
&
resp
,
nil
return
&
resp
,
nil
}
}
//process Friend application
func
(
s
*
friendServer
)
AddFriendResponse
(
ctx
context
.
Context
,
req
*
pbFriend
.
AddFriendResponseReq
)
(
*
pbFriend
.
CommonResp
,
error
)
{
func
(
s
*
friendServer
)
AddFriendResponse
(
ctx
context
.
Context
,
req
*
pbFriend
.
AddFriendResponseReq
)
(
*
pbFriend
.
CommonResp
,
error
)
{
log
.
NewInfo
(
req
.
CommID
.
OperationID
,
"AddFriendResponse args "
,
req
.
String
())
log
.
NewInfo
(
req
.
CommID
.
OperationID
,
"AddFriendResponse args "
,
req
.
String
())
if
!
token_verify
.
CheckAccess
(
r
r
eq
.
CommID
.
FromUserID
,
req
.
CommID
.
ToUserID
)
{
if
!
token_verify
.
CheckAccess
(
req
.
CommID
.
FromUserID
,
req
.
CommID
.
ToUserID
)
{
log
.
NewError
(
req
.
CommID
.
OperationID
,
"CheckAccess failed "
,
req
.
CommID
.
FromUserID
,
req
.
CommID
.
ToUserID
)
log
.
NewError
(
req
.
CommID
.
OperationID
,
"CheckAccess failed "
,
req
.
CommID
.
FromUserID
,
req
.
CommID
.
ToUserID
)
return
&
pbFriend
.
CommonResp
{
ErrCode
:
constant
.
ErrAgreeToAddFriend
.
ErrCode
,
ErrMsg
:
constant
.
ErrAgreeToAddFriend
.
ErrMsg
},
nil
return
&
pbFriend
.
CommonResp
{
ErrCode
:
constant
.
ErrAgreeToAddFriend
.
ErrCode
,
ErrMsg
:
constant
.
ErrAgreeToAddFriend
.
ErrMsg
},
nil
}
}
...
@@ -253,7 +257,8 @@ func (s *friendServer) AddFriendResponse(ctx context.Context, req *pbFriend.AddF
...
@@ -253,7 +257,8 @@ func (s *friendServer) AddFriendResponse(ctx context.Context, req *pbFriend.AddF
}
}
}
}
chat
.
FriendApplicationProcessedNotification
(
req
.
CommID
.
OperationID
,
req
.
CommID
.
OpUserID
,
req
.
CommID
.
FromUserID
,
req
.
CommID
.
ToUserID
,
req
.
Flag
)
chat
.
FriendApplicationProcessedNotification
(
req
)
chat
.
FriendAddedNotification
(
req
.
CommID
.
OperationID
,
req
.
CommID
.
OpUserID
,
req
.
CommID
.
FromUserID
,
req
.
CommID
.
ToUserID
)
return
&
pbFriend
.
CommonResp
{},
nil
return
&
pbFriend
.
CommonResp
{},
nil
}
}
...
@@ -271,7 +276,7 @@ func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFri
...
@@ -271,7 +276,7 @@ func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFri
return
&
pbFriend
.
CommonResp
{
ErrCode
:
constant
.
ErrMysql
.
ErrCode
,
ErrMsg
:
constant
.
ErrMysql
.
ErrMsg
},
nil
return
&
pbFriend
.
CommonResp
{
ErrCode
:
constant
.
ErrMysql
.
ErrCode
,
ErrMsg
:
constant
.
ErrMysql
.
ErrMsg
},
nil
}
}
log
.
NewInfo
(
req
.
CommID
.
OperationID
,
"DeleteFriend rpc ok"
)
log
.
NewInfo
(
req
.
CommID
.
OperationID
,
"DeleteFriend rpc ok"
)
chat
.
FriendDeletedNotification
(
req
.
CommID
.
OperationID
,
req
.
CommID
.
OpUserID
,
req
.
CommID
.
FromUserID
,
req
.
CommID
.
ToUserID
)
chat
.
FriendDeletedNotification
(
req
)
return
&
pbFriend
.
CommonResp
{},
nil
return
&
pbFriend
.
CommonResp
{},
nil
}
}
...
@@ -322,7 +327,7 @@ func (s *friendServer) SetFriendComment(ctx context.Context, req *pbFriend.SetFr
...
@@ -322,7 +327,7 @@ func (s *friendServer) SetFriendComment(ctx context.Context, req *pbFriend.SetFr
return
&
pbFriend
.
CommonResp
{
ErrCode
:
constant
.
ErrSetFriendComment
.
ErrCode
,
ErrMsg
:
constant
.
ErrSetFriendComment
.
ErrMsg
},
nil
return
&
pbFriend
.
CommonResp
{
ErrCode
:
constant
.
ErrSetFriendComment
.
ErrCode
,
ErrMsg
:
constant
.
ErrSetFriendComment
.
ErrMsg
},
nil
}
}
log
.
NewInfo
(
req
.
CommID
.
OperationID
,
"rpc SetFriendComment ok"
)
log
.
NewInfo
(
req
.
CommID
.
OperationID
,
"rpc SetFriendComment ok"
)
chat
.
FriendInfoChangedNotification
(
req
.
CommID
.
OperationID
,
req
.
CommID
.
OpUserID
,
req
.
CommID
.
FromUserID
,
req
.
CommID
.
ToUserID
)
chat
.
FriendInfoChangedNotification
(
req
)
return
&
pbFriend
.
CommonResp
{},
nil
return
&
pbFriend
.
CommonResp
{},
nil
}
}
...
@@ -339,7 +344,7 @@ func (s *friendServer) RemoveBlacklist(ctx context.Context, req *pbFriend.Remove
...
@@ -339,7 +344,7 @@ func (s *friendServer) RemoveBlacklist(ctx context.Context, req *pbFriend.Remove
return
&
pbFriend
.
CommonResp
{
ErrCode
:
constant
.
ErrMysql
.
ErrCode
,
ErrMsg
:
constant
.
ErrMysql
.
ErrMsg
},
nil
return
&
pbFriend
.
CommonResp
{
ErrCode
:
constant
.
ErrMysql
.
ErrCode
,
ErrMsg
:
constant
.
ErrMysql
.
ErrMsg
},
nil
}
}
log
.
NewInfo
(
req
.
CommID
.
OperationID
,
"rpc RemoveBlacklist ok"
)
log
.
NewInfo
(
req
.
CommID
.
OperationID
,
"rpc RemoveBlacklist ok"
)
chat
.
BlackDeletedNotification
(
req
.
CommID
.
OperationID
,
req
.
CommID
.
OpUserID
,
req
.
CommID
.
FromUserID
,
req
.
CommID
.
ToUserID
)
chat
.
BlackDeletedNotification
(
req
)
return
&
pbFriend
.
CommonResp
{},
nil
return
&
pbFriend
.
CommonResp
{},
nil
}
}
...
...
internal/rpc/group/group.go
浏览文件 @
e64bc40c
...
@@ -11,11 +11,9 @@ import (
...
@@ -11,11 +11,9 @@ import (
"Open_IM/pkg/common/token_verify"
"Open_IM/pkg/common/token_verify"
"Open_IM/pkg/grpc-etcdv3/getcdv3"
"Open_IM/pkg/grpc-etcdv3/getcdv3"
pbGroup
"Open_IM/pkg/proto/group"
pbGroup
"Open_IM/pkg/proto/group"
"Open_IM/pkg/proto/sdk_ws"
open_im_sdk
"Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils"
"Open_IM/pkg/utils"
"context"
"context"
"encoding/json"
"fmt"
"google.golang.org/grpc"
"google.golang.org/grpc"
"net"
"net"
"strconv"
"strconv"
...
@@ -39,6 +37,7 @@ func NewGroupServer(port int) *groupServer {
...
@@ -39,6 +37,7 @@ func NewGroupServer(port int) *groupServer {
etcdAddr
:
config
.
Config
.
Etcd
.
EtcdAddr
,
etcdAddr
:
config
.
Config
.
Etcd
.
EtcdAddr
,
}
}
}
}
func
(
s
*
groupServer
)
Run
()
{
func
(
s
*
groupServer
)
Run
()
{
log
.
Info
(
""
,
""
,
"rpc group init...."
)
log
.
Info
(
""
,
""
,
"rpc group init...."
)
...
@@ -78,6 +77,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
...
@@ -78,6 +77,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
}
}
//Time stamp + MD5 to generate group chat id
//Time stamp + MD5 to generate group chat id
groupId
:=
utils
.
Md5
(
strconv
.
FormatInt
(
time
.
Now
()
.
UnixNano
(),
10
))
groupId
:=
utils
.
Md5
(
strconv
.
FormatInt
(
time
.
Now
()
.
UnixNano
(),
10
))
//to group
err
:=
im_mysql_model
.
InsertIntoGroup
(
groupId
,
req
.
GroupName
,
req
.
Introduction
,
req
.
Notification
,
req
.
FaceUrl
,
req
.
Ext
)
err
:=
im_mysql_model
.
InsertIntoGroup
(
groupId
,
req
.
GroupName
,
req
.
Introduction
,
req
.
Notification
,
req
.
FaceUrl
,
req
.
Ext
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"InsertIntoGroup failed, "
,
err
.
Error
(),
groupId
,
req
.
GroupName
,
req
.
Introduction
,
req
.
Notification
,
req
.
FaceUrl
,
req
.
Ext
)
log
.
NewError
(
req
.
OperationID
,
"InsertIntoGroup failed, "
,
err
.
Error
(),
groupId
,
req
.
GroupName
,
req
.
Introduction
,
req
.
Notification
,
req
.
FaceUrl
,
req
.
Ext
)
...
@@ -90,7 +90,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
...
@@ -90,7 +90,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
return
&
pbGroup
.
CreateGroupResp
{
ErrCode
:
constant
.
ErrCreateGroup
.
ErrCode
,
ErrMsg
:
constant
.
ErrCreateGroup
.
ErrMsg
},
nil
return
&
pbGroup
.
CreateGroupResp
{
ErrCode
:
constant
.
ErrCreateGroup
.
ErrCode
,
ErrMsg
:
constant
.
ErrCreateGroup
.
ErrMsg
},
nil
}
}
//
Add the group owner to the group first, otherwise the group creation will fail
//
to group member
err
=
im_mysql_model
.
InsertIntoGroupMember
(
groupId
,
us
.
UserID
,
us
.
Nickname
,
us
.
FaceUrl
,
constant
.
GroupOwner
)
err
=
im_mysql_model
.
InsertIntoGroupMember
(
groupId
,
us
.
UserID
,
us
.
Nickname
,
us
.
FaceUrl
,
constant
.
GroupOwner
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"InsertIntoGroupMember failed "
,
err
.
Error
())
log
.
NewError
(
req
.
OperationID
,
"InsertIntoGroupMember failed "
,
err
.
Error
())
...
@@ -103,7 +103,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
...
@@ -103,7 +103,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
// return &pbGroup.CreateGroupResp{ErrCode: constant.ErrCreateGroup.ErrCode, ErrMsg: constant.ErrCreateGroup.ErrMsg}, nil
// return &pbGroup.CreateGroupResp{ErrCode: constant.ErrCreateGroup.ErrCode, ErrMsg: constant.ErrCreateGroup.ErrMsg}, nil
}
}
//
Binding group id and member id
//
to group member
for
_
,
user
:=
range
req
.
InitMemberList
{
for
_
,
user
:=
range
req
.
InitMemberList
{
us
,
err
:=
im_mysql_model
.
FindUserByUID
(
user
.
UserID
)
us
,
err
:=
im_mysql_model
.
FindUserByUID
(
user
.
UserID
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -123,8 +123,8 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
...
@@ -123,8 +123,8 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
log
.
NewError
(
req
.
OperationID
,
"add mongo group member failed, db.DB.AddGroupMember failed "
,
err
.
Error
())
log
.
NewError
(
req
.
OperationID
,
"add mongo group member failed, db.DB.AddGroupMember failed "
,
err
.
Error
())
}
}
}
}
resp
:=
&
pbGroup
.
CreateGroupResp
{}
resp
:=
&
pbGroup
.
CreateGroupResp
{}
group
,
err
:=
im_mysql_model
.
FindGroupInfoByGroupId
(
groupId
)
group
,
err
:=
im_mysql_model
.
FindGroupInfoByGroupId
(
groupId
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"FindGroupInfoByGroupId failed "
,
err
.
Error
(),
groupId
)
log
.
NewError
(
req
.
OperationID
,
"FindGroupInfoByGroupId failed "
,
err
.
Error
(),
groupId
)
...
@@ -145,6 +145,7 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
...
@@ -145,6 +145,7 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
return
&
pbGroup
.
GetJoinedGroupListResp
{
ErrCode
:
constant
.
ErrParseToken
.
ErrCode
,
ErrMsg
:
constant
.
ErrParseToken
.
ErrMsg
},
nil
return
&
pbGroup
.
GetJoinedGroupListResp
{
ErrCode
:
constant
.
ErrParseToken
.
ErrCode
,
ErrMsg
:
constant
.
ErrParseToken
.
ErrMsg
},
nil
}
}
//group list
joinedGroupList
,
err
:=
imdb
.
GetJoinedGroupIdListByMemberId
(
req
.
FromUserID
)
joinedGroupList
,
err
:=
imdb
.
GetJoinedGroupIdListByMemberId
(
req
.
FromUserID
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"GetJoinedGroupIdListByMemberId failed "
,
err
.
Error
(),
req
.
FromUserID
)
log
.
NewError
(
req
.
OperationID
,
"GetJoinedGroupIdListByMemberId failed "
,
err
.
Error
(),
req
.
FromUserID
)
...
@@ -152,7 +153,6 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
...
@@ -152,7 +153,6 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
}
}
var
resp
pbGroup
.
GetJoinedGroupListResp
var
resp
pbGroup
.
GetJoinedGroupListResp
for
_
,
v
:=
range
joinedGroupList
{
for
_
,
v
:=
range
joinedGroupList
{
var
groupNode
open_im_sdk
.
GroupInfo
var
groupNode
open_im_sdk
.
GroupInfo
num
:=
imdb
.
GetGroupMemberNumByGroupId
(
v
.
GroupID
)
num
:=
imdb
.
GetGroupMemberNumByGroupId
(
v
.
GroupID
)
...
@@ -160,6 +160,7 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
...
@@ -160,6 +160,7 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
group
,
err
:=
imdb
.
FindGroupInfoByGroupId
(
v
.
GroupID
)
group
,
err
:=
imdb
.
FindGroupInfoByGroupId
(
v
.
GroupID
)
if
num
>
0
&&
owner
!=
nil
&&
err2
==
nil
&&
group
!=
nil
&&
err
==
nil
{
if
num
>
0
&&
owner
!=
nil
&&
err2
==
nil
&&
group
!=
nil
&&
err
==
nil
{
utils
.
CopyStructFields
(
&
groupNode
,
group
)
utils
.
CopyStructFields
(
&
groupNode
,
group
)
groupNode
.
CreateTime
=
group
.
CreateTime
utils
.
CopyStructFields
(
groupNode
.
Owner
,
owner
)
utils
.
CopyStructFields
(
groupNode
.
Owner
,
owner
)
groupNode
.
MemberCount
=
uint32
(
num
)
groupNode
.
MemberCount
=
uint32
(
num
)
resp
.
GroupList
=
append
(
resp
.
GroupList
,
&
groupNode
)
resp
.
GroupList
=
append
(
resp
.
GroupList
,
&
groupNode
)
...
@@ -177,7 +178,7 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
...
@@ -177,7 +178,7 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
func
(
s
*
groupServer
)
InviteUserToGroup
(
ctx
context
.
Context
,
req
*
pbGroup
.
InviteUserToGroupReq
)
(
*
pbGroup
.
InviteUserToGroupResp
,
error
)
{
func
(
s
*
groupServer
)
InviteUserToGroup
(
ctx
context
.
Context
,
req
*
pbGroup
.
InviteUserToGroupReq
)
(
*
pbGroup
.
InviteUserToGroupResp
,
error
)
{
log
.
NewInfo
(
req
.
OperationID
,
"InviteUserToGroup args "
,
req
.
String
())
log
.
NewInfo
(
req
.
OperationID
,
"InviteUserToGroup args "
,
req
.
String
())
if
!
imdb
.
IsExistGroupMember
(
req
.
GroupID
,
req
.
OpUserID
)
&&
!
utils
.
IsContain
(
req
.
OpUserID
,
config
.
Config
.
Manager
.
AppManagerUid
)
{
if
!
imdb
.
IsExistGroupMember
(
req
.
GroupID
,
req
.
OpUserID
)
&&
!
token_verify
.
IsMangerUserID
(
req
.
OpUserID
)
{
log
.
NewError
(
req
.
OperationID
,
"no permission InviteUserToGroup "
,
req
.
GroupID
,
req
.
OpUserID
)
log
.
NewError
(
req
.
OperationID
,
"no permission InviteUserToGroup "
,
req
.
GroupID
,
req
.
OpUserID
)
return
&
pbGroup
.
InviteUserToGroupResp
{
ErrCode
:
constant
.
ErrAccess
.
ErrCode
,
ErrMsg
:
constant
.
ErrAccess
.
ErrMsg
},
nil
return
&
pbGroup
.
InviteUserToGroupResp
{
ErrCode
:
constant
.
ErrAccess
.
ErrCode
,
ErrMsg
:
constant
.
ErrAccess
.
ErrMsg
},
nil
}
}
...
@@ -191,6 +192,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
...
@@ -191,6 +192,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
//from User: invite: applicant
//from User: invite: applicant
//to user: invite: invited
//to user: invite: invited
var
resp
pbGroup
.
InviteUserToGroupResp
var
resp
pbGroup
.
InviteUserToGroupResp
var
okUserIDList
[]
string
for
_
,
v
:=
range
req
.
InvitedUserIDList
{
for
_
,
v
:=
range
req
.
InvitedUserIDList
{
var
resultNode
pbGroup
.
Id2Result
var
resultNode
pbGroup
.
Id2Result
resultNode
.
UserID
=
v
resultNode
.
UserID
=
v
...
@@ -217,7 +219,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
...
@@ -217,7 +219,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
resp
.
Id2ResultList
=
append
(
resp
.
Id2ResultList
,
&
resultNode
)
resp
.
Id2ResultList
=
append
(
resp
.
Id2ResultList
,
&
resultNode
)
continue
continue
}
}
chat
.
MemberInvitedNotification
(
req
.
OperationID
,
req
.
GroupID
,
req
.
OpUserID
,
v
)
okUserIDList
=
append
(
okUserIDList
,
v
)
err
=
db
.
DB
.
AddGroupMember
(
req
.
GroupID
,
toUserInfo
.
UserID
)
err
=
db
.
DB
.
AddGroupMember
(
req
.
GroupID
,
toUserInfo
.
UserID
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"AddGroupMember failed "
,
err
.
Error
(),
req
.
GroupID
,
toUserInfo
.
UserID
)
log
.
NewError
(
req
.
OperationID
,
"AddGroupMember failed "
,
err
.
Error
(),
req
.
GroupID
,
toUserInfo
.
UserID
)
...
@@ -225,8 +227,9 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
...
@@ -225,8 +227,9 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
resp
.
Id2ResultList
=
append
(
resp
.
Id2ResultList
,
&
resultNode
)
resp
.
Id2ResultList
=
append
(
resp
.
Id2ResultList
,
&
resultNode
)
}
}
chat
.
MemberInvitedNotification
(
req
.
OperationID
,
req
.
GroupID
,
req
.
OpUserID
,
req
.
Reason
,
okUserIDList
)
resp
.
ErrCode
=
0
resp
.
ErrCode
=
0
log
.
NewInfo
(
req
.
OperationID
,
"InviteUserToGroup rpc return "
,
resp
)
log
.
NewInfo
(
req
.
OperationID
,
"InviteUserToGroup rpc return "
,
resp
.
String
()
)
return
&
resp
,
nil
return
&
resp
,
nil
}
}
...
@@ -308,6 +311,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
...
@@ -308,6 +311,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
}
}
}
}
//op is app manager
if
flag
!=
1
{
if
flag
!=
1
{
if
token_verify
.
IsMangerUserID
(
req
.
OpUserID
)
{
if
token_verify
.
IsMangerUserID
(
req
.
OpUserID
)
{
flag
=
1
flag
=
1
...
@@ -332,6 +336,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
...
@@ -332,6 +336,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
}
}
}
}
var
okUserIDList
[]
string
//remove
//remove
var
resp
pbGroup
.
KickGroupMemberResp
var
resp
pbGroup
.
KickGroupMemberResp
for
_
,
v
:=
range
req
.
KickedUserIDList
{
for
_
,
v
:=
range
req
.
KickedUserIDList
{
...
@@ -347,19 +352,17 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
...
@@ -347,19 +352,17 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
resp
.
Id2ResultList
=
append
(
resp
.
Id2ResultList
,
&
pbGroup
.
Id2Result
{
UserID
:
v
,
Result
:
-
1
})
resp
.
Id2ResultList
=
append
(
resp
.
Id2ResultList
,
&
pbGroup
.
Id2Result
{
UserID
:
v
,
Result
:
-
1
})
}
else
{
}
else
{
resp
.
Id2ResultList
=
append
(
resp
.
Id2ResultList
,
&
pbGroup
.
Id2Result
{
UserID
:
v
,
Result
:
0
})
resp
.
Id2ResultList
=
append
(
resp
.
Id2ResultList
,
&
pbGroup
.
Id2Result
{
UserID
:
v
,
Result
:
0
})
okUserIDList
=
append
(
okUserIDList
,
v
)
}
}
err
=
db
.
DB
.
DelGroupMember
(
req
.
GroupID
,
v
)
err
=
db
.
DB
.
DelGroupMember
(
req
.
GroupID
,
v
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"DelGroupMember failed "
,
err
.
Error
(),
req
.
GroupID
,
v
.
UserId
)
log
.
NewError
(
req
.
OperationID
,
"DelGroupMember failed "
,
err
.
Error
(),
req
.
GroupID
,
v
)
}
}
}
}
chat
.
MemberKickedNotification
(
req
,
okUserIDList
)
for
_
,
v
:=
range
req
.
KickedUserIDList
{
chat
.
MemberKickedNotification
(
req
.
OperationID
,
req
.
GroupID
,
req
.
OpUserID
,
v
,
req
.
Reason
)
}
resp
.
ErrCode
=
0
resp
.
ErrCode
=
0
log
.
NewInfo
(
req
.
OperationID
,
"GetGroupMemberList rpc return "
,
resp
)
log
.
NewInfo
(
req
.
OperationID
,
"GetGroupMemberList rpc return "
,
resp
.
String
()
)
return
&
resp
,
nil
return
&
resp
,
nil
}
}
...
@@ -377,11 +380,12 @@ func (s *groupServer) GetGroupMembersInfo(ctx context.Context, req *pbGroup.GetG
...
@@ -377,11 +380,12 @@ func (s *groupServer) GetGroupMembersInfo(ctx context.Context, req *pbGroup.GetG
continue
continue
}
else
{
}
else
{
utils
.
CopyStructFields
(
&
memberNode
,
memberInfo
)
utils
.
CopyStructFields
(
&
memberNode
,
memberInfo
)
memberNode
.
JoinTime
=
memberInfo
.
JoinTime
resp
.
MemberList
=
append
(
resp
.
MemberList
,
&
memberNode
)
resp
.
MemberList
=
append
(
resp
.
MemberList
,
&
memberNode
)
}
}
}
}
resp
.
ErrCode
=
0
resp
.
ErrCode
=
0
log
.
NewInfo
(
req
.
OperationID
,
"GetGroupMembersInfo rpc return "
,
resp
)
log
.
NewInfo
(
req
.
OperationID
,
"GetGroupMembersInfo rpc return "
,
resp
.
String
()
)
return
&
resp
,
nil
return
&
resp
,
nil
}
}
...
@@ -407,6 +411,7 @@ func (s *groupServer) GetGroupsInfo(ctx context.Context, req *pbGroup.GetGroupsI
...
@@ -407,6 +411,7 @@ func (s *groupServer) GetGroupsInfo(ctx context.Context, req *pbGroup.GetGroupsI
}
}
var
groupInfo
open_im_sdk
.
GroupInfo
var
groupInfo
open_im_sdk
.
GroupInfo
utils
.
CopyStructFields
(
&
groupInfo
,
groupInfoFromMysql
)
utils
.
CopyStructFields
(
&
groupInfo
,
groupInfoFromMysql
)
groupInfo
.
CreateTime
=
groupInfoFromMysql
.
CreateTime
groupsInfoList
=
append
(
groupsInfoList
,
&
groupInfo
)
groupsInfoList
=
append
(
groupsInfoList
,
&
groupInfo
)
}
}
...
@@ -437,24 +442,24 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G
...
@@ -437,24 +442,24 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G
}
}
}
}
if
req
.
ToUserID
==
"0"
{
if
req
.
ToUserID
==
"0"
{
group
,
err
:=
imdb
.
FindGroupInfoByGroupId
(
req
.
GroupID
)
//
group, err := imdb.FindGroupInfoByGroupId(req.GroupID)
if
err
!=
nil
{
//
if err != nil {
log
.
NewError
(
req
.
OperationID
,
"FindGroupInfoByGroupId failed "
,
req
.
GroupID
)
//
log.NewError(req.OperationID, "FindGroupInfoByGroupId failed ", req.GroupID)
return
reply
,
nil
//
return reply, nil
}
//
}
member
,
err
:=
imdb
.
FindGroupMemberInfoByGroupIdAndUserId
(
req
.
GroupID
,
req
.
OpUserID
)
//
member, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(req.GroupID, req.OpUserID)
if
err
!=
nil
{
//
if err != nil {
log
.
NewError
(
req
.
OperationID
,
"FindGroupMemberInfoByGroupIdAndUserId failed "
,
req
.
GroupID
,
req
.
OpUserID
)
//
log.NewError(req.OperationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", req.GroupID, req.OpUserID)
return
reply
,
nil
//
return reply, nil
}
//
}
chat
.
ApplicationProcessedNotification
(
req
.
OperationID
,
req
.
FromUserID
,
*
group
,
*
member
,
req
.
HandleResult
,
req
.
HandledMsg
)
chat
.
ApplicationProcessedNotification
(
req
)
if
req
.
HandleResult
==
1
{
if
req
.
HandleResult
==
1
{
entrantUser
,
err
:=
imdb
.
FindGroupMemberInfoByGroupIdAndUserId
(
req
.
GroupID
,
req
.
FromUserID
)
//
entrantUser, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(req.GroupID, req.FromUserID)
if
err
!=
nil
{
//
if err != nil {
log
.
NewError
(
req
.
OperationID
,
"FindGroupMemberInfoByGroupIdAndUserId failed "
,
err
.
Error
(),
req
.
GroupID
,
req
.
FromUserID
)
//
log.NewError(req.OperationID, "FindGroupMemberInfoByGroupIdAndUserId failed ", err.Error(), req.GroupID, req.FromUserID)
return
reply
,
nil
//
return reply, nil
}
//
}
chat
.
MemberEnterNotification
(
req
.
OperationID
,
req
.
GroupID
,
entrantUser
)
chat
.
MemberEnterNotification
(
req
)
}
}
}
else
{
}
else
{
log
.
NewError
(
req
.
OperationID
,
"args failed "
,
req
.
String
())
log
.
NewError
(
req
.
OperationID
,
"args failed "
,
req
.
String
())
...
@@ -466,25 +471,20 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G
...
@@ -466,25 +471,20 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G
func
(
s
*
groupServer
)
JoinGroup
(
ctx
context
.
Context
,
req
*
pbGroup
.
JoinGroupReq
)
(
*
pbGroup
.
CommonResp
,
error
)
{
func
(
s
*
groupServer
)
JoinGroup
(
ctx
context
.
Context
,
req
*
pbGroup
.
JoinGroupReq
)
(
*
pbGroup
.
CommonResp
,
error
)
{
log
.
NewInfo
(
req
.
OperationID
,
"JoinGroup args "
,
req
.
String
())
log
.
NewInfo
(
req
.
OperationID
,
"JoinGroup args "
,
req
.
String
())
//Parse token, to find current user information
//claims, err := token_verify.ParseToken(req.Token)
applicationUserInfo
,
err
:=
im_mysql_model
.
FindUserByUID
(
req
.
OpUserID
)
//if err != nil {
// log.NewError(req.OperationID, "ParseToken failed", err.Error(), req.String())
// return &pbGroup.CommonResp{ErrCode: constant.ErrParseToken.ErrCode, ErrMsg: constant.ErrParseToken.ErrMsg}, nil
//}
applicationUserInfo
,
err
:=
im_mysql_model
.
FindUserByUID
(
req
.
FromUserID
)
if
err
!=
nil
{
if
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"FindUserByUID failed "
,
err
.
Error
(),
req
.
From
UserID
)
log
.
NewError
(
req
.
OperationID
,
"FindUserByUID failed "
,
err
.
Error
(),
req
.
Op
UserID
)
return
&
pbGroup
.
CommonResp
{
ErrCode
:
constant
.
ErrSearchUserInfo
.
ErrCode
,
ErrMsg
:
constant
.
ErrSearchUserInfo
.
ErrMsg
},
nil
return
&
pbGroup
.
CommonResp
{
ErrCode
:
constant
.
ErrSearchUserInfo
.
ErrCode
,
ErrMsg
:
constant
.
ErrSearchUserInfo
.
ErrMsg
},
nil
}
}
_
,
err
=
im_mysql_model
.
FindGroupRequestUserInfoByGroupIDAndUid
(
req
.
GroupID
,
req
.
From
UserID
)
_
,
err
=
im_mysql_model
.
FindGroupRequestUserInfoByGroupIDAndUid
(
req
.
GroupID
,
req
.
Op
UserID
)
if
err
==
nil
{
if
err
==
nil
{
err
=
im_mysql_model
.
DelGroupRequest
(
req
.
GroupID
,
req
.
From
UserID
,
"0"
)
err
=
im_mysql_model
.
DelGroupRequest
(
req
.
GroupID
,
req
.
Op
UserID
,
"0"
)
}
}
if
err
=
im_mysql_model
.
InsertIntoGroupRequest
(
req
.
GroupID
,
req
.
From
UserID
,
"0"
,
req
.
ReqMessage
,
applicationUserInfo
.
Nickname
,
applicationUserInfo
.
FaceUrl
);
err
!=
nil
{
if
err
=
im_mysql_model
.
InsertIntoGroupRequest
(
req
.
GroupID
,
req
.
Op
UserID
,
"0"
,
req
.
ReqMessage
,
applicationUserInfo
.
Nickname
,
applicationUserInfo
.
FaceUrl
);
err
!=
nil
{
log
.
NewError
(
req
.
OperationID
,
"InsertIntoGroupRequest "
,
err
.
Error
(),
req
.
GroupID
,
req
.
From
UserID
,
"0"
,
req
.
ReqMessage
,
applicationUserInfo
.
Nickname
,
applicationUserInfo
.
FaceUrl
)
log
.
NewError
(
req
.
OperationID
,
"InsertIntoGroupRequest "
,
err
.
Error
(),
req
.
GroupID
,
req
.
Op
UserID
,
"0"
,
req
.
ReqMessage
,
applicationUserInfo
.
Nickname
,
applicationUserInfo
.
FaceUrl
)
return
&
pbGroup
.
CommonResp
{
ErrCode
:
constant
.
ErrJoinGroupApplication
.
ErrCode
,
ErrMsg
:
constant
.
ErrJoinGroupApplication
.
ErrMsg
},
nil
return
&
pbGroup
.
CommonResp
{
ErrCode
:
constant
.
ErrJoinGroupApplication
.
ErrCode
,
ErrMsg
:
constant
.
ErrJoinGroupApplication
.
ErrMsg
},
nil
}
}
...
@@ -493,12 +493,8 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq)
...
@@ -493,12 +493,8 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq)
log
.
NewError
(
req
.
OperationID
,
"FindGroupMemberListByGroupIdAndFilterInfo failed "
,
req
.
GroupID
,
constant
.
GroupOwner
,
err
)
log
.
NewError
(
req
.
OperationID
,
"FindGroupMemberListByGroupIdAndFilterInfo failed "
,
req
.
GroupID
,
constant
.
GroupOwner
,
err
)
return
&
pbGroup
.
CommonResp
{
ErrCode
:
0
,
ErrMsg
:
""
},
nil
return
&
pbGroup
.
CommonResp
{
ErrCode
:
0
,
ErrMsg
:
""
},
nil
}
}
group
,
err
:=
im_mysql_model
.
FindGroupInfoByGroupId
(
req
.
GroupID
)
if
err
!=
nil
{
chat
.
ReceiveJoinApplicationNotification
(
req
)
log
.
NewError
(
req
.
OperationID
,
"FindGroupInfoByGroupId failed "
,
req
.
GroupID
)
return
&
pbGroup
.
CommonResp
{
ErrCode
:
0
,
ErrMsg
:
""
},
nil
}
chat
.
ReceiveJoinApplicationNotification
(
req
.
OperationID
,
memberList
[
0
]
.
UserID
,
applicationUserInfo
,
group
)
log
.
NewInfo
(
req
.
OperationID
,
"ReceiveJoinApplicationNotification rpc JoinGroup success return"
)
log
.
NewInfo
(
req
.
OperationID
,
"ReceiveJoinApplicationNotification rpc JoinGroup success return"
)
return
&
pbGroup
.
CommonResp
{
ErrCode
:
0
,
ErrMsg
:
""
},
nil
return
&
pbGroup
.
CommonResp
{
ErrCode
:
0
,
ErrMsg
:
""
},
nil
...
@@ -525,7 +521,7 @@ func (s *groupServer) QuitGroup(ctx context.Context, req *pbGroup.QuitGroupReq)
...
@@ -525,7 +521,7 @@ func (s *groupServer) QuitGroup(ctx context.Context, req *pbGroup.QuitGroupReq)
// return &pbGroup.CommonResp{ErrorCode: constant.ErrQuitGroup.ErrCode, ErrorMsg: constant.ErrQuitGroup.ErrMsg}, nil
// return &pbGroup.CommonResp{ErrorCode: constant.ErrQuitGroup.ErrCode, ErrorMsg: constant.ErrQuitGroup.ErrMsg}, nil
}
}
chat
.
MemberLeaveNotification
(
req
.
OperationID
,
req
.
GroupID
,
req
.
OpUserID
)
chat
.
MemberLeaveNotification
(
req
)
log
.
NewInfo
(
req
.
OperationID
,
"rpc quit group is success return"
)
log
.
NewInfo
(
req
.
OperationID
,
"rpc quit group is success return"
)
return
&
pbGroup
.
CommonResp
{},
nil
return
&
pbGroup
.
CommonResp
{},
nil
}
}
...
@@ -578,7 +574,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf
...
@@ -578,7 +574,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf
}
}
if
changedType
!=
0
{
if
changedType
!=
0
{
chat
.
GroupInfoChangedNotification
(
req
.
OperationID
,
changedType
,
req
.
GroupInfo
.
GroupID
,
req
.
OpUserID
)
chat
.
GroupInfoChangedNotification
(
req
)
}
}
return
&
pbGroup
.
CommonResp
{},
nil
return
&
pbGroup
.
CommonResp
{},
nil
...
...
internal/rpc/msg/send_msg.go
浏览文件 @
e64bc40c
此差异已折叠。
点击以展开。
internal/rpc/user/get_user_info.go
浏览文件 @
e64bc40c
...
@@ -75,14 +75,7 @@ func (s *userServer) GetUserInfo(ctx context.Context, req *pbUser.GetUserInfoReq
...
@@ -75,14 +75,7 @@ func (s *userServer) GetUserInfo(ctx context.Context, req *pbUser.GetUserInfoReq
log
.
ErrorByKv
(
"search userinfo failed"
,
req
.
OperationID
,
"userID"
,
userID
,
"err=%s"
,
err
.
Error
())
log
.
ErrorByKv
(
"search userinfo failed"
,
req
.
OperationID
,
"userID"
,
userID
,
"err=%s"
,
err
.
Error
())
continue
continue
}
}
userInfo
.
Uid
=
user
.
UID
utils
.
CopyStructFields
(
&
userInfo
,
user
)
userInfo
.
Icon
=
user
.
Icon
userInfo
.
Name
=
user
.
Name
userInfo
.
Gender
=
user
.
Gender
userInfo
.
Mobile
=
user
.
Mobile
userInfo
.
Birth
=
user
.
Birth
userInfo
.
Email
=
user
.
Email
userInfo
.
Ex
=
user
.
Ex
userInfoList
=
append
(
userInfoList
,
&
userInfo
)
userInfoList
=
append
(
userInfoList
,
&
userInfo
)
}
}
}
else
{
}
else
{
...
...
internal/rpc/user/update_user_info.go
浏览文件 @
e64bc40c
...
@@ -2,6 +2,7 @@ package user
...
@@ -2,6 +2,7 @@ package user
import
(
import
(
"Open_IM/internal/push/logic"
"Open_IM/internal/push/logic"
chat
"Open_IM/internal/rpc/msg"
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
...
@@ -49,7 +50,7 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
...
@@ -49,7 +50,7 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
log
.
ErrorByKv
(
"get friend list rpc server failed"
,
req
.
OperationID
,
"err"
,
err
.
Error
(),
"req"
,
req
.
String
())
log
.
ErrorByKv
(
"get friend list rpc server failed"
,
req
.
OperationID
,
"err"
,
err
.
Error
(),
"req"
,
req
.
String
())
return
&
pbUser
.
CommonResp
{},
nil
return
&
pbUser
.
CommonResp
{},
nil
}
}
if
RpcResp
.
Err
or
Code
!=
0
{
if
RpcResp
.
ErrCode
!=
0
{
log
.
ErrorByKv
(
"get friend list rpc server failed"
,
req
.
OperationID
,
"err"
,
err
.
Error
(),
"req"
,
req
.
String
())
log
.
ErrorByKv
(
"get friend list rpc server failed"
,
req
.
OperationID
,
"err"
,
err
.
Error
(),
"req"
,
req
.
String
())
return
&
pbUser
.
CommonResp
{},
nil
return
&
pbUser
.
CommonResp
{},
nil
}
}
...
@@ -62,6 +63,8 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
...
@@ -62,6 +63,8 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
if
self
!=
nil
{
if
self
!=
nil
{
name
,
faceUrl
=
self
.
Name
,
self
.
Icon
name
,
faceUrl
=
self
.
Name
,
self
.
Icon
}
}
chat
.
SelfInfoUpdatedNotification
(
req
.
OperationID
,
req
.
Uid
)
for
_
,
v
:=
range
RpcResp
.
Data
{
for
_
,
v
:=
range
RpcResp
.
Data
{
logic
.
SendMsgByWS
(
&
pbChat
.
WSToMsgSvrChatMsg
{
logic
.
SendMsgByWS
(
&
pbChat
.
WSToMsgSvrChatMsg
{
SendID
:
ownerUid
,
SendID
:
ownerUid
,
...
...
pkg/common/constant/constant.go
浏览文件 @
e64bc40c
...
@@ -45,22 +45,38 @@ const (
...
@@ -45,22 +45,38 @@ const (
GroupMsg
=
201
GroupMsg
=
201
//SysRelated
//SysRelated
AcceptFriendApplicationTip
=
201
FriendApplicationAddedNotification
=
201
AddFriendTip
=
202
FriendApplicationProcessedNotification
=
202
RefuseFriendApplicationTip
=
203
FriendAddedNotification
=
203
SetSelfInfoTip
=
204
FriendDeletedNotification
=
204
FriendInfoChangedNotification
=
205
TransferGroupOwnerTip
=
501
BlackAddedNotification
=
206
CreateGroupTip
=
502
BlackDeletedNotification
=
207
GroupApplicationResponseTip
=
503
//AcceptFriendApplicationTip = 201
ApplyJoinGroupTip
=
504
//AddFriendTip = 202
QuitGroupTip
=
505
//RefuseFriendApplicationTip = 203
SetGroupInfoTip
=
506
AcceptGroupApplicationTip
=
507
SelfInfoUpdatedNotification
=
301
RefuseGroupApplicationTip
=
508
KickGroupMemberTip
=
509
GroupCreatedNotification
=
501
InviteUserToGroupTip
=
510
JoinApplicationNotification
=
502
ChangeGroupInfoTip
=
511
ApplicationProcessedNotification
=
503
MemberInvitedNotification
=
504
MemberKickedNotification
=
505
GroupInfoChangedNotification
=
506
MemberLeaveNotification
=
507
MemberEnterNotification
=
508
//TransferGroupOwnerTip = 501
//CreateGroupTip = 502
//GroupApplicationResponseTip = 503
//ApplyJoinGroupTip = 504
//QuitGroupTip = 505
//SetGroupInfoTip = 506
//AcceptGroupApplicationTip = 507
//RefuseGroupApplicationTip = 508
//KickGroupMemberTip = 509
//InviteUserToGroupTip = 510
//ChangeGroupInfoTip = 511
//MsgFrom
//MsgFrom
UserMsgType
=
100
UserMsgType
=
100
...
...
pkg/common/db/mysql.go
浏览文件 @
e64bc40c
...
@@ -91,18 +91,6 @@ func initMysqlDB() {
...
@@ -91,18 +91,6 @@ func initMysqlDB() {
panic
(
err
.
Error
())
panic
(
err
.
Error
())
}
}
sqlTable
=
"CREATE TABLE IF NOT EXISTS `black_list` ("
+
" `uid` varchar(32) NOT NULL COMMENT 'uid',"
+
" `begin_disable_time` datetime DEFAULT NULL,"
+
" `end_disable_time` datetime DEFAULT NULL,"
+
" `ex` varchar(1024) DEFAULT NULL,"
+
" PRIMARY KEY (`uid`) USING BTREE"
+
" ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;"
err
=
db
.
Exec
(
sqlTable
)
.
Error
if
err
!=
nil
{
panic
(
err
.
Error
())
}
sqlTable
=
"CREATE TABLE IF NOT EXISTS `user_black_list` ("
+
sqlTable
=
"CREATE TABLE IF NOT EXISTS `user_black_list` ("
+
" `owner_id` varchar(64) NOT NULL,"
+
" `owner_id` varchar(64) NOT NULL,"
+
" `block_id` varchar(64) NOT NULL,"
+
" `block_id` varchar(64) NOT NULL,"
+
...
...
pkg/common/db/mysql_model/im_mysql_model/group_model.go
浏览文件 @
e64bc40c
...
@@ -15,7 +15,7 @@ func InsertIntoGroup(groupId, name, introduction, notification, faceUrl, ex stri
...
@@ -15,7 +15,7 @@ func InsertIntoGroup(groupId, name, introduction, notification, faceUrl, ex stri
}
}
//Default group name
//Default group name
if
name
==
""
{
if
name
==
""
{
name
=
"
group
Chat"
name
=
"
Group
Chat"
}
}
toInsertInfo
:=
Group
{
GroupID
:
groupId
,
GroupName
:
name
,
Introduction
:
introduction
,
Notification
:
notification
,
FaceUrl
:
faceUrl
,
CreateTime
:
time
.
Now
(),
Ex
:
ex
}
toInsertInfo
:=
Group
{
GroupID
:
groupId
,
GroupName
:
name
,
Introduction
:
introduction
,
Notification
:
notification
,
FaceUrl
:
faceUrl
,
CreateTime
:
time
.
Now
(),
Ex
:
ex
}
err
=
dbConn
.
Table
(
"group"
)
.
Create
(
toInsertInfo
)
.
Error
err
=
dbConn
.
Table
(
"group"
)
.
Create
(
toInsertInfo
)
.
Error
...
...
pkg/proto/group/group.pb.go
浏览文件 @
e64bc40c
此差异已折叠。
点击以展开。
pkg/proto/sdk_ws/ws.pb.go
浏览文件 @
e64bc40c
此差异已折叠。
点击以展开。
pkg/proto/sdk_ws/ws.proto
浏览文件 @
e64bc40c
...
@@ -164,7 +164,6 @@ message MemberEnterTips{
...
@@ -164,7 +164,6 @@ message MemberEnterTips{
uint64
OperationTime
=
3
;
uint64
OperationTime
=
3
;
}
}
//Actively leave the group
//Actively leave the group
message
MemberLeaveTips
{
message
MemberLeaveTips
{
GroupInfo
Group
=
1
;
GroupInfo
Group
=
1
;
...
@@ -175,20 +174,19 @@ message MemberLeaveTips{
...
@@ -175,20 +174,19 @@ message MemberLeaveTips{
message
MemberInvitedTips
{
message
MemberInvitedTips
{
GroupInfo
Group
=
1
;
GroupInfo
Group
=
1
;
GroupMemberFullInfo
OpUser
=
2
;
GroupMemberFullInfo
OpUser
=
2
;
GroupMemberFullInfo
InvitedUser
=
3
;
repeated
GroupMemberFullInfo
InvitedUserList
=
3
;
uint64
OperationTime
=
4
;
uint64
OperationTime
=
4
;
}
}
message
MemberKickedTips
{
message
MemberKickedTips
{
GroupInfo
Group
=
1
;
GroupInfo
Group
=
1
;
GroupMemberFullInfo
OpUser
=
2
;
GroupMemberFullInfo
OpUser
=
2
;
GroupMemberFullInfo
KickedUser
=
3
;
repeated
GroupMemberFullInfo
KickedUserList
=
3
;
uint64
OperationTime
=
4
;
uint64
OperationTime
=
4
;
}
}
message
MemberInfoChangedTips
{
message
MemberInfoChangedTips
{
int32
ChangeType
=
1
;
//
1:info changed; 2:mute
int32
ChangeType
=
1
;
//
/bitwise operators 0001:member info changed; 0010:mute ;
GroupMemberFullInfo
OpUser
=
2
;
//who do this
GroupMemberFullInfo
OpUser
=
2
;
//who do this
GroupMemberFullInfo
FinalInfo
=
3
;
//
GroupMemberFullInfo
FinalInfo
=
3
;
//
uint64
MuteTime
=
4
;
uint64
MuteTime
=
4
;
...
@@ -203,12 +201,12 @@ message GroupCreatedTips{
...
@@ -203,12 +201,12 @@ message GroupCreatedTips{
}
}
message
GroupInfoChangedTips
{
message
GroupInfoChangedTips
{
int32
ChangedType
=
1
;
//bitwise operators:
1:groupName; 10:Notification
100:Introduction; 1000:FaceUrl
int32
ChangedType
=
1
;
//bitwise operators:
0001:groupName; 0010:Notification 0
100:Introduction; 1000:FaceUrl
GroupInfo
Group
=
2
;
GroupInfo
Group
=
2
;
GroupMemberFullInfo
OpUser
=
3
;
GroupMemberFullInfo
OpUser
=
3
;
}
}
message
ReceiveJoin
ApplicationTips
{
message
JoinGroup
ApplicationTips
{
GroupInfo
Group
=
1
;
GroupInfo
Group
=
1
;
PublicUserInfo
Applicant
=
2
;
PublicUserInfo
Applicant
=
2
;
string
Reason
=
3
;
string
Reason
=
3
;
...
@@ -235,56 +233,52 @@ message FriendApplication{
...
@@ -235,56 +233,52 @@ message FriendApplication{
string
AddWording
=
3
;
string
AddWording
=
3
;
}
}
//user1 add user2
message
FromToUserID
{
string
FromUserID
=
1
;
string
ToUserID
=
2
;
}
//FromUserID apply to add ToUserID
message
FriendApplicationAddedTips
{
message
FriendApplicationAddedTips
{
PublicUserInfo
OpUser
=
1
;
//user1
FromToUserID
FromToUserID
=
1
;
FriendApplication
Application
=
2
;
PublicUserInfo
OpedUser
=
3
;
//user2
uint64
OperationTime
=
4
;
}
}
//
user2 accept or reject
//
FromUserID accept or reject ToUserID
message
FriendApplicationProcessedTips
{
message
FriendApplicationProcessedTips
{
PublicUserInfo
OpUser
=
1
;
//user2
FromToUserID
FromToUserID
=
1
;
PublicUserInfo
OpedUser
=
2
;
//user1
int32
result
=
3
;
//1: accept; -1: reject
uint64
OperationTime
=
4
;
}
}
// FromUserID Added a friend ToUserID
message
FriendAddedTips
{
message
FriendAddedTips
{
FriendInfo
Friend
=
1
;
FriendInfo
Friend
=
1
;
uint64
OperationTime
=
2
;
uint64
OperationTime
=
2
;
PublicUserInfo
OpUser
=
3
;
//who do this
}
}
// FromUserID deleted a friend ToUserID
message
FriendDeletedTips
{
message
FriendDeletedTips
{
FriendInfo
Friend
=
1
;
FromToUserID
FromToUserID
=
1
;
uint64
OperationTime
=
2
;
}
}
message
BlackInfo
{
//
message BlackInfo{
PublicUserInfo
OwnerUser
=
1
;
//
PublicUserInfo OwnerUser = 1;
uint64
CreateTime
=
3
;
//
uint64 CreateTime = 3;
PublicUserInfo
BlackUser
=
4
;
//
PublicUserInfo BlackUser = 4;
}
//
}
message
BlackAddedTips
{
message
BlackAddedTips
{
BlackInfo
Black
=
1
;
FromToUserID
FromToUserID
=
1
;
uint64
OperationTime
=
2
;
}
}
message
BlackDeletedTips
{
message
BlackDeletedTips
{
BlackInfo
Black
=
1
;
FromToUserID
FromToUserID
=
1
;
uint64
OperationTime
=
2
;
}
}
message
FriendInfoChangedTips
{
message
FriendInfoChangedTips
{
FriendInfo
Friend
=
1
;
FromToUserID
FromToUserID
=
1
;
PublicUserInfo
OpUser
=
2
;
uint64
OperationTime
=
3
;
}
}
//////////////////////user/////////////////////
//////////////////////user/////////////////////
message
SelfInfoUpdatedTips
{
message
SelfInfoUpdatedTips
{
UserInfo
SelfUserInfo
=
1
;
string
UserID
=
1
;
PublicUserInfo
OpUser
=
2
;
uint64
OperationTime
=
3
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录