Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
zhaominxu
Open-IM-Server
提交
8b156dc9
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,发现更多精彩内容 >>
提交
8b156dc9
编写于
9月 06, 2021
作者:
落凡尘.
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Create group extension field
上级
13038514
变更
5
展开全部
隐藏空白更改
内联
并排
Showing
5 changed file
with
582 addition
and
650 deletion
+582
-650
src/api/group/create_group.go
src/api/group/create_group.go
+2
-0
src/common/db/mysql_model/im_mysql_model/group_model.go
src/common/db/mysql_model/im_mysql_model/group_model.go
+7
-2
src/proto/group/group.pb.go
src/proto/group/group.pb.go
+404
-479
src/proto/group/group.proto
src/proto/group/group.proto
+168
-168
src/rpc/group/group/create_group.go
src/rpc/group/group/create_group.go
+1
-1
未找到文件。
src/api/group/create_group.go
浏览文件 @
8b156dc9
...
...
@@ -18,6 +18,7 @@ type paramsCreateGroupStruct struct {
Notification
string
`json:"notification"`
FaceUrl
string
`json:"faceUrl"`
OperationID
string
`json:"operationID" binding:"required"`
Ex
string
`json:"ex"`
}
func
CreateGroup
(
c
*
gin
.
Context
)
{
...
...
@@ -39,6 +40,7 @@ func CreateGroup(c *gin.Context) {
Notification
:
params
.
Notification
,
FaceUrl
:
params
.
FaceUrl
,
OperationID
:
params
.
OperationID
,
Ex
:
params
.
Ex
,
Token
:
c
.
Request
.
Header
.
Get
(
"token"
),
}
log
.
Info
(
req
.
Token
,
req
.
OperationID
,
"api create group is server,params=%s"
,
req
.
String
())
...
...
src/common/db/mysql_model/im_mysql_model/group_model.go
浏览文件 @
8b156dc9
...
...
@@ -8,7 +8,7 @@ import (
"time"
)
func
InsertIntoGroup
(
groupId
,
name
,
introduction
,
notification
,
faceUrl
string
)
error
{
func
InsertIntoGroup
(
groupId
,
name
,
introduction
,
notification
,
faceUrl
,
ex
string
)
error
{
dbConn
,
err
:=
db
.
DB
.
MysqlDB
.
DefaultGormDB
()
if
err
!=
nil
{
return
err
...
...
@@ -17,7 +17,7 @@ func InsertIntoGroup(groupId, name, introduction, notification, faceUrl string)
if
name
==
""
{
name
=
"groupChat"
}
toInsertInfo
:=
Group
{
GroupId
:
groupId
,
Name
:
name
,
Introduction
:
introduction
,
Notification
:
notification
,
FaceUrl
:
faceUrl
,
CreateTime
:
time
.
Now
()}
toInsertInfo
:=
Group
{
GroupId
:
groupId
,
Name
:
name
,
Introduction
:
introduction
,
Notification
:
notification
,
FaceUrl
:
faceUrl
,
CreateTime
:
time
.
Now
()
,
Ex
:
ex
}
err
=
dbConn
.
Table
(
"group"
)
.
Create
(
toInsertInfo
)
.
Error
if
err
!=
nil
{
return
err
...
...
@@ -194,6 +194,7 @@ func GroupApplicationResponse(pb *group.GroupApplicationResponseReq) (*group.Gro
ownerUser
,
err
:=
FindGroupMemberInfoByGroupIdAndUserId
(
pb
.
GroupID
,
pb
.
OwnerID
)
if
err
!=
nil
{
log
.
ErrorByKv
(
"FindGroupMemberInfoByGroupIdAndUserId failed"
,
pb
.
OperationID
,
"groupId"
,
pb
.
GroupID
,
"ownerID"
,
pb
.
OwnerID
)
return
nil
,
err
}
if
ownerUser
.
AdministratorLevel
<=
0
{
...
...
@@ -208,6 +209,7 @@ func GroupApplicationResponse(pb *group.GroupApplicationResponseReq) (*group.Gro
err
=
dbConn
.
Raw
(
"select * from `group_request` where handled_user = ? and group_id = ? and from_user_id = ? and to_user_id = ?"
,
""
,
pb
.
GroupID
,
pb
.
FromUserID
,
pb
.
ToUserID
)
.
Scan
(
&
groupRequest
)
.
Error
if
err
!=
nil
{
log
.
ErrorByKv
(
"find group_request info failed"
,
pb
.
OperationID
,
"groupId"
,
pb
.
GroupID
,
"fromUserId"
,
pb
.
FromUserID
,
"toUserId"
,
pb
.
OwnerID
)
return
nil
,
err
}
...
...
@@ -226,6 +228,7 @@ func GroupApplicationResponse(pb *group.GroupApplicationResponseReq) (*group.Gro
err
=
dbConn
.
Exec
(
"update `group_request` set flag = ?, handled_msg = ?, handled_user = ? where group_id = ? and from_user_id = ? and to_user_id = ?"
,
saveFlag
,
pb
.
HandledMsg
,
pb
.
OwnerID
,
groupRequest
.
GroupID
,
groupRequest
.
FromUserID
,
groupRequest
.
ToUserID
)
.
Error
if
err
!=
nil
{
log
.
ErrorByKv
(
"update group request failed"
,
pb
.
OperationID
,
"groupID"
,
pb
.
GroupID
,
"flag"
,
saveFlag
,
"ownerId"
,
pb
.
OwnerID
,
"fromUserId"
,
pb
.
FromUserID
,
"toUserID"
,
pb
.
ToUserID
)
return
nil
,
err
}
...
...
@@ -233,11 +236,13 @@ func GroupApplicationResponse(pb *group.GroupApplicationResponseReq) (*group.Gro
if
groupRequest
.
ToUserID
==
"0"
{
err
=
InsertIntoGroupMember
(
pb
.
GroupID
,
pb
.
FromUserID
,
groupRequest
.
FromUserNickname
,
groupRequest
.
FromUserFaceUrl
,
0
)
if
err
!=
nil
{
log
.
ErrorByKv
(
"InsertIntoGroupMember failed"
,
pb
.
OperationID
,
"groupID"
,
pb
.
GroupID
,
"fromUserId"
,
pb
.
FromUserID
)
return
nil
,
err
}
}
else
{
err
=
InsertIntoGroupMember
(
pb
.
GroupID
,
pb
.
ToUserID
,
groupRequest
.
ToUserNickname
,
groupRequest
.
ToUserFaceUrl
,
0
)
if
err
!=
nil
{
log
.
ErrorByKv
(
"InsertIntoGroupMember failed"
,
pb
.
OperationID
,
"groupID"
,
pb
.
GroupID
,
"fromUserId"
,
pb
.
FromUserID
)
return
nil
,
err
}
}
...
...
src/proto/group/group.pb.go
浏览文件 @
8b156dc9
此差异已折叠。
点击以展开。
src/proto/group/group.proto
浏览文件 @
8b156dc9
...
...
@@ -3,284 +3,284 @@ option go_package = "group;group";
package
group
;
message
CommonResp
{
int32
ErrorCode
=
1
;
string
ErrorMsg
=
2
;
int32
ErrorCode
=
1
;
string
ErrorMsg
=
2
;
}
message
CreateGroupReq
{
repeated
GroupAddMemberInfo
memberList
=
1
;
string
groupName
=
2
;
string
introduction
=
3
;
string
notification
=
4
;
string
faceUrl
=
5
;
string
token
=
6
;
string
operationID
=
7
;
repeated
GroupAddMemberInfo
memberList
=
1
;
string
groupName
=
2
;
string
introduction
=
3
;
string
notification
=
4
;
string
faceUrl
=
5
;
string
token
=
6
;
string
operationID
=
7
;
string
ex
=
8
;
}
message
GroupAddMemberInfo
{
string
uid
=
1
;
int32
setRole
=
2
;
string
uid
=
1
;
int32
setRole
=
2
;
}
message
CreateGroupResp
{
int32
ErrorCode
=
1
;
string
ErrorMsg
=
2
;
string
groupID
=
3
;
int32
ErrorCode
=
1
;
string
ErrorMsg
=
2
;
string
groupID
=
3
;
}
message
GetGroupsInfoReq
{
repeated
string
groupIDList
=
1
;
string
token
=
2
;
string
operationID
=
3
;
repeated
string
groupIDList
=
1
;
string
token
=
2
;
string
operationID
=
3
;
}
message
GetGroupsInfoResp
{
int32
ErrorCode
=
1
;
string
ErrorMsg
=
2
;
repeated
GroupInfo
data
=
3
;
int32
ErrorCode
=
1
;
string
ErrorMsg
=
2
;
repeated
GroupInfo
data
=
3
;
}
message
SetGroupInfoReq
{
string
groupID
=
1
;
string
groupName
=
2
;
string
notification
=
3
;
string
introduction
=
4
;
string
faceUrl
=
5
;
string
token
=
6
;
string
operationID
=
7
;
string
groupID
=
1
;
string
groupName
=
2
;
string
notification
=
3
;
string
introduction
=
4
;
string
faceUrl
=
5
;
string
token
=
6
;
string
operationID
=
7
;
}
message
GetGroupApplicationListReq
{
string
UID
=
1
;
string
OperationID
=
2
;
string
UID
=
1
;
string
OperationID
=
2
;
}
message
GetGroupApplicationList_Data_User
{
string
ID
=
1
;
string
GroupID
=
2
;
string
FromUserID
=
3
;
string
ToUserID
=
4
;
int32
Flag
=
5
;
string
RequestMsg
=
6
;
string
HandledMsg
=
7
;
int64
AddTime
=
8
;
string
FromUserNickname
=
9
;
string
ToUserNickname
=
10
;
string
FromUserFaceUrl
=
11
;
string
ToUserFaceUrl
=
12
;
string
HandledUser
=
13
;
int32
Type
=
14
;
int32
HandleStatus
=
15
;
int32
HandleResult
=
16
;
string
ID
=
1
;
string
GroupID
=
2
;
string
FromUserID
=
3
;
string
ToUserID
=
4
;
int32
Flag
=
5
;
string
RequestMsg
=
6
;
string
HandledMsg
=
7
;
int64
AddTime
=
8
;
string
FromUserNickname
=
9
;
string
ToUserNickname
=
10
;
string
FromUserFaceUrl
=
11
;
string
ToUserFaceUrl
=
12
;
string
HandledUser
=
13
;
int32
Type
=
14
;
int32
HandleStatus
=
15
;
int32
HandleResult
=
16
;
}
message
GetGroupApplicationListData
{
int32
Count
=
1
;
repeated
GetGroupApplicationList_Data_User
User
=
2
;
int32
Count
=
1
;
repeated
GetGroupApplicationList_Data_User
User
=
2
;
}
message
GetGroupApplicationListResp
{
int32
ErrCode
=
1
;
string
ErrMsg
=
2
;
GetGroupApplicationListData
Data
=
3
;
int32
ErrCode
=
1
;
string
ErrMsg
=
2
;
GetGroupApplicationListData
Data
=
3
;
}
message
TransferGroupOwnerReq
{
string
GroupID
=
1
;
string
OldOwner
=
2
;
string
NewOwner
=
3
;
string
OperationID
=
4
;
string
GroupID
=
1
;
string
OldOwner
=
2
;
string
NewOwner
=
3
;
string
OperationID
=
4
;
}
message
TransferGroupOwnerResp
{
int32
ErrCode
=
1
;
string
ErrMsg
=
2
;
int32
ErrCode
=
1
;
string
ErrMsg
=
2
;
}
message
JoinGroupReq
{
string
groupID
=
1
;
string
message
=
2
;
string
token
=
3
;
string
OperationID
=
4
;
string
groupID
=
1
;
string
message
=
2
;
string
token
=
3
;
string
OperationID
=
4
;
}
message
GroupApplicationResponseReq
{
string
OperationID
=
1
;
string
OwnerID
=
2
;
string
GroupID
=
3
;
string
FromUserID
=
4
;
string
FromUserNickName
=
5
;
string
FromUserFaceUrl
=
6
;
string
ToUserID
=
7
;
string
ToUserNickName
=
8
;
string
ToUserFaceUrl
=
9
;
int64
AddTime
=
10
;
string
RequestMsg
=
11
;
string
HandledMsg
=
12
;
int32
Type
=
13
;
int32
HandleStatus
=
14
;
int32
HandleResult
=
15
;
string
OperationID
=
1
;
string
OwnerID
=
2
;
string
GroupID
=
3
;
string
FromUserID
=
4
;
string
FromUserNickName
=
5
;
string
FromUserFaceUrl
=
6
;
string
ToUserID
=
7
;
string
ToUserNickName
=
8
;
string
ToUserFaceUrl
=
9
;
int64
AddTime
=
10
;
string
RequestMsg
=
11
;
string
HandledMsg
=
12
;
int32
Type
=
13
;
int32
HandleStatus
=
14
;
int32
HandleResult
=
15
;
}
message
GroupApplicationResponseResp
{
int32
ErrCode
=
1
;
string
ErrMsg
=
2
;
int32
ErrCode
=
1
;
string
ErrMsg
=
2
;
}
message
SetOwnerGroupNickNameReq
{
string
groupID
=
1
;
string
nickName
=
2
;
string
OperationID
=
3
;
string
token
=
4
;
string
groupID
=
1
;
string
nickName
=
2
;
string
OperationID
=
3
;
string
token
=
4
;
}
message
QuitGroupReq
{
string
groupID
=
1
;
string
operationID
=
2
;
string
token
=
3
;
string
groupID
=
1
;
string
operationID
=
2
;
string
token
=
3
;
}
message
GroupApplicationUserInfo
{
string
groupID
=
1
;
string
uid
=
2
;
string
name
=
3
;
string
icon
=
4
;
string
reqMsg
=
5
;
int64
applicationTime
=
6
;
int32
flag
=
7
;
string
operatorID
=
8
;
string
handledMsg
=
9
;
string
groupID
=
1
;
string
uid
=
2
;
string
name
=
3
;
string
icon
=
4
;
string
reqMsg
=
5
;
int64
applicationTime
=
6
;
int32
flag
=
7
;
string
operatorID
=
8
;
string
handledMsg
=
9
;
}
message
GroupMemberFullInfo
{
string
userId
=
1
;
int32
role
=
2
;
uint64
joinTime
=
3
;
string
nickName
=
4
;
string
faceUrl
=
5
;
string
userId
=
1
;
int32
role
=
2
;
uint64
joinTime
=
3
;
string
nickName
=
4
;
string
faceUrl
=
5
;
}
message
GetGroupMemberListReq
{
string
groupID
=
1
;
string
token
=
2
;
string
operationID
=
3
;
int32
filter
=
4
;
int32
nextSeq
=
5
;
string
groupID
=
1
;
string
token
=
2
;
string
operationID
=
3
;
int32
filter
=
4
;
int32
nextSeq
=
5
;
}
message
GetGroupMemberListResp
{
int32
errorCode
=
1
;
string
errorMsg
=
2
;
repeated
GroupMemberFullInfo
memberList
=
3
;
int32
nextSeq
=
4
;
int32
errorCode
=
1
;
string
errorMsg
=
2
;
repeated
GroupMemberFullInfo
memberList
=
3
;
int32
nextSeq
=
4
;
}
message
GetGroupMembersInfoReq
{
string
groupID
=
1
;
repeated
string
memberList
=
2
;
string
token
=
3
;
string
operationID
=
4
;
string
groupID
=
1
;
repeated
string
memberList
=
2
;
string
token
=
3
;
string
operationID
=
4
;
}
message
GetGroupMembersInfoResp
{
int32
errorCode
=
1
;
string
errorMsg
=
2
;
repeated
GroupMemberFullInfo
memberList
=
3
;
int32
errorCode
=
1
;
string
errorMsg
=
2
;
repeated
GroupMemberFullInfo
memberList
=
3
;
}
message
KickGroupMemberReq
{
string
groupID
=
1
;
repeated
GroupMemberFullInfo
uidListInfo
=
2
;
string
reason
=
3
;
string
token
=
4
;
string
operationID
=
5
;
string
groupID
=
1
;
repeated
GroupMemberFullInfo
uidListInfo
=
2
;
string
reason
=
3
;
string
token
=
4
;
string
operationID
=
5
;
}
message
Id2Result
{
string
uId
=
1
;
int32
result
=
2
;
//0 ok; -1 error
string
uId
=
1
;
int32
result
=
2
;
//0 ok; -1 error
}
message
KickGroupMemberResp
{
int32
errorCode
=
1
;
string
errorMsg
=
2
;
repeated
Id2Result
id2result
=
3
;
int32
errorCode
=
1
;
string
errorMsg
=
2
;
repeated
Id2Result
id2result
=
3
;
}
message
getJoinedGroupListReq
{
string
token
=
1
;
string
operationID
=
2
;
string
token
=
1
;
string
operationID
=
2
;
}
message
GroupInfo
{
string
groupId
=
1
;
string
groupName
=
2
;
string
notification
=
3
;
string
introduction
=
4
;
string
faceUrl
=
5
;
uint64
createTime
=
6
;
string
ownerId
=
7
;
uint32
memberCount
=
8
;
string
groupId
=
1
;
string
groupName
=
2
;
string
notification
=
3
;
string
introduction
=
4
;
string
faceUrl
=
5
;
uint64
createTime
=
6
;
string
ownerId
=
7
;
uint32
memberCount
=
8
;
}
message
getJoinedGroupListResp
{
int32
errorCode
=
1
;
string
errorMsg
=
2
;
repeated
GroupInfo
groupList
=
3
;
int32
errorCode
=
1
;
string
errorMsg
=
2
;
repeated
GroupInfo
groupList
=
3
;
}
message
inviteUserToGroupReq
{
string
token
=
1
;
string
operationID
=
2
;
string
groupID
=
3
;
string
reason
=
4
;
repeated
string
uidList
=
5
;
string
token
=
1
;
string
operationID
=
2
;
string
groupID
=
3
;
string
reason
=
4
;
repeated
string
uidList
=
5
;
}
message
inviteUserToGroupResp
{
int32
errorCode
=
1
;
string
errorMsg
=
2
;
repeated
Id2Result
id2result
=
3
;
// 0 ok, -1 error
int32
errorCode
=
1
;
string
errorMsg
=
2
;
repeated
Id2Result
id2result
=
3
;
// 0 ok, -1 error
}
message
GetGroupAllMemberReq
{
string
groupID
=
1
;
string
token
=
2
;
string
operationID
=
3
;
string
groupID
=
1
;
string
token
=
2
;
string
operationID
=
3
;
}
message
GetGroupAllMemberResp
{
int32
errorCode
=
1
;
string
errorMsg
=
2
;
repeated
GroupMemberFullInfo
memberList
=
3
;
int32
errorCode
=
1
;
string
errorMsg
=
2
;
repeated
GroupMemberFullInfo
memberList
=
3
;
}
service
group
{
rpc
createGroup
(
CreateGroupReq
)
returns
(
CreateGroupResp
);
rpc
joinGroup
(
JoinGroupReq
)
returns
(
CommonResp
);
rpc
quitGroup
(
QuitGroupReq
)
returns
(
CommonResp
);
rpc
getGroupsInfo
(
GetGroupsInfoReq
)
returns
(
GetGroupsInfoResp
);
rpc
setGroupInfo
(
SetGroupInfoReq
)
returns
(
CommonResp
);
rpc
getGroupApplicationList
(
GetGroupApplicationListReq
)
returns
(
GetGroupApplicationListResp
);
rpc
transferGroupOwner
(
TransferGroupOwnerReq
)
returns
(
TransferGroupOwnerResp
);
rpc
groupApplicationResponse
(
GroupApplicationResponseReq
)
returns
(
GroupApplicationResponseResp
);
// rpc setOwnerGroupNickName(SetOwnerGroupNickNameReq) returns(CommonResp);
rpc
getGroupMemberList
(
GetGroupMemberListReq
)
returns
(
GetGroupMemberListResp
);
rpc
getGroupMembersInfo
(
GetGroupMembersInfoReq
)
returns
(
GetGroupMembersInfoResp
);
rpc
kickGroupMember
(
KickGroupMemberReq
)
returns
(
KickGroupMemberResp
);
rpc
getJoinedGroupList
(
getJoinedGroupListReq
)
returns
(
getJoinedGroupListResp
);
rpc
inviteUserToGroup
(
inviteUserToGroupReq
)
returns
(
inviteUserToGroupResp
);
rpc
getGroupAllMember
(
GetGroupAllMemberReq
)
returns
(
GetGroupAllMemberResp
);
rpc
createGroup
(
CreateGroupReq
)
returns
(
CreateGroupResp
);
rpc
joinGroup
(
JoinGroupReq
)
returns
(
CommonResp
);
rpc
quitGroup
(
QuitGroupReq
)
returns
(
CommonResp
);
rpc
getGroupsInfo
(
GetGroupsInfoReq
)
returns
(
GetGroupsInfoResp
);
rpc
setGroupInfo
(
SetGroupInfoReq
)
returns
(
CommonResp
);
rpc
getGroupApplicationList
(
GetGroupApplicationListReq
)
returns
(
GetGroupApplicationListResp
);
rpc
transferGroupOwner
(
TransferGroupOwnerReq
)
returns
(
TransferGroupOwnerResp
);
rpc
groupApplicationResponse
(
GroupApplicationResponseReq
)
returns
(
GroupApplicationResponseResp
);
// rpc setOwnerGroupNickName(SetOwnerGroupNickNameReq) returns(CommonResp);
rpc
getGroupMemberList
(
GetGroupMemberListReq
)
returns
(
GetGroupMemberListResp
);
rpc
getGroupMembersInfo
(
GetGroupMembersInfoReq
)
returns
(
GetGroupMembersInfoResp
);
rpc
kickGroupMember
(
KickGroupMemberReq
)
returns
(
KickGroupMemberResp
);
rpc
getJoinedGroupList
(
getJoinedGroupListReq
)
returns
(
getJoinedGroupListResp
);
rpc
inviteUserToGroup
(
inviteUserToGroupReq
)
returns
(
inviteUserToGroupResp
);
rpc
getGroupAllMember
(
GetGroupAllMemberReq
)
returns
(
GetGroupAllMemberResp
);
}
...
...
src/rpc/group/group/create_group.go
浏览文件 @
8b156dc9
...
...
@@ -76,7 +76,7 @@ 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
))
err
=
im_mysql_model
.
InsertIntoGroup
(
groupId
,
req
.
GroupName
,
req
.
Introduction
,
req
.
Notification
,
req
.
FaceUrl
)
err
=
im_mysql_model
.
InsertIntoGroup
(
groupId
,
req
.
GroupName
,
req
.
Introduction
,
req
.
Notification
,
req
.
FaceUrl
,
req
.
Ex
)
if
err
!=
nil
{
log
.
ErrorByKv
(
"create group chat failed"
,
req
.
OperationID
,
"err=%s"
,
err
.
Error
())
return
&
pbGroup
.
CreateGroupResp
{
ErrorCode
:
config
.
ErrCreateGroup
.
ErrCode
,
ErrorMsg
:
config
.
ErrCreateGroup
.
ErrMsg
},
nil
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录