mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-06 04:15:46 +08:00
add group proto
This commit is contained in:
parent
0554778c83
commit
4400423fca
@ -1981,3 +1981,53 @@ func (s *groupServer) DelGroupAndUserCache(operationID, groupID string, userIDLi
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *groupServer) GroupIsExist(c context.Context, req *pbGroup.GroupIsExistReq) (*pbGroup.GroupIsExistResp, error) {
|
||||||
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
|
||||||
|
resp := &pbGroup.GroupIsExistResp{CommonResp: &pbGroup.CommonResp{}}
|
||||||
|
groups, err := imdb.GetGroupInfoByGroupIDList(req.GroupIDList)
|
||||||
|
if err != nil {
|
||||||
|
log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), "args:", req.GroupIDList)
|
||||||
|
resp.CommonResp.ErrMsg = err.Error()
|
||||||
|
resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
|
||||||
|
return resp, nil
|
||||||
|
}
|
||||||
|
var m = make(map[string]bool)
|
||||||
|
for _, groupID := range req.GroupIDList {
|
||||||
|
m[groupID] = false
|
||||||
|
for _, group := range groups {
|
||||||
|
if groupID == group.GroupID {
|
||||||
|
m[groupID] = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
resp.IsExistMap = m
|
||||||
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String())
|
||||||
|
return resp, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *groupServer) UserIsInGroup(c context.Context, req *pbGroup.UserIsInGroupReq) (*pbGroup.UserIsInGroupResp, error) {
|
||||||
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
|
||||||
|
resp := &pbGroup.UserIsInGroupResp{}
|
||||||
|
groupMemberList, err := imdb.GetGroupMemberByUserIDList(req.GroupID, req.UserIDList)
|
||||||
|
if err != nil {
|
||||||
|
log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), "args:", req.GroupID, req.UserIDList)
|
||||||
|
resp.CommonResp.ErrMsg = err.Error()
|
||||||
|
resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
|
||||||
|
return resp, nil
|
||||||
|
}
|
||||||
|
var m = make(map[string]bool)
|
||||||
|
for _, userID := range req.UserIDList {
|
||||||
|
m[userID] = false
|
||||||
|
for _, user := range groupMemberList {
|
||||||
|
if userID == user.UserID {
|
||||||
|
m[userID] = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
resp.IsExistMap = m
|
||||||
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String())
|
||||||
|
return resp, nil
|
||||||
|
}
|
||||||
|
@ -74,6 +74,12 @@ func GetGroupMemberIDListByGroupID(groupID string) ([]string, error) {
|
|||||||
return groupMemberIDList, nil
|
return groupMemberIDList, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetGroupMemberByUserIDList(groupID string, userIDList []string) ([]*db.GroupMember, error) {
|
||||||
|
var groupMemberList []*db.GroupMember
|
||||||
|
err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=? and user_id in (?)", groupID, userIDList).Find(&groupMemberList).Error
|
||||||
|
return groupMemberList, err
|
||||||
|
}
|
||||||
|
|
||||||
func GetGroupMemberListByGroupIDAndRoleLevel(groupID string, roleLevel int32) ([]db.GroupMember, error) {
|
func GetGroupMemberListByGroupIDAndRoleLevel(groupID string, roleLevel int32) ([]db.GroupMember, error) {
|
||||||
var groupMemberList []db.GroupMember
|
var groupMemberList []db.GroupMember
|
||||||
err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=? and role_level=?", groupID, roleLevel).Find(&groupMemberList).Error
|
err := db.DB.MysqlDB.DefaultGormDB().Table("group_members").Where("group_id=? and role_level=?", groupID, roleLevel).Find(&groupMemberList).Error
|
||||||
|
@ -44,6 +44,12 @@ func GetGroupInfoByGroupID(groupID string) (*db.Group, error) {
|
|||||||
return &groupInfo, err
|
return &groupInfo, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetGroupInfoByGroupIDList(groupIDList []string) ([]*db.Group, error) {
|
||||||
|
var groupInfoList []*db.Group
|
||||||
|
err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id in (?)", groupIDList).Find(&groupIDList).Error
|
||||||
|
return groupInfoList, err
|
||||||
|
}
|
||||||
|
|
||||||
func SetGroupInfo(groupInfo db.Group) error {
|
func SetGroupInfo(groupInfo db.Group) error {
|
||||||
return db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id=?", groupInfo.GroupID).Updates(&groupInfo).Error
|
return db.DB.MysqlDB.DefaultGormDB().Table("groups").Where("group_id=?", groupInfo.GroupID).Updates(&groupInfo).Error
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -388,7 +388,7 @@ message GroupIsExistResp {
|
|||||||
|
|
||||||
message UserIsInGroupReq {
|
message UserIsInGroupReq {
|
||||||
string groupID = 1;
|
string groupID = 1;
|
||||||
string userIDList = 2;
|
repeated string userIDList = 2;
|
||||||
string operationID = 3;
|
string operationID = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -430,7 +430,7 @@ service group{
|
|||||||
rpc SetGroupMemberInfo(SetGroupMemberInfoReq) returns (SetGroupMemberInfoResp);
|
rpc SetGroupMemberInfo(SetGroupMemberInfoReq) returns (SetGroupMemberInfoResp);
|
||||||
rpc GetGroupAbstractInfo(GetGroupAbstractInfoReq) returns (GetGroupAbstractInfoResp);
|
rpc GetGroupAbstractInfo(GetGroupAbstractInfoReq) returns (GetGroupAbstractInfoResp);
|
||||||
rpc GroupIsExist(GroupIsExistReq) returns(GroupIsExistResp);
|
rpc GroupIsExist(GroupIsExistReq) returns(GroupIsExistResp);
|
||||||
rpc UserIsInGroup(UserIsInGroupReq) returns();
|
rpc UserIsInGroup(UserIsInGroupReq) returns(UserIsInGroupResp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user