mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-06 04:15:46 +08:00
Create group extension field
This commit is contained in:
parent
13038514df
commit
8b156dc962
@ -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())
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -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 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 getGroupAllMember(GetGroupAllMemberReq) returns(GetGroupAllMemberResp);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user