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
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
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) {
|
||||
var groupMemberList []db.GroupMember
|
||||
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
|
||||
}
|
||||
|
||||
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 {
|
||||
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 {
|
||||
string groupID = 1;
|
||||
string userIDList = 2;
|
||||
repeated string userIDList = 2;
|
||||
string operationID = 3;
|
||||
}
|
||||
|
||||
@ -430,7 +430,7 @@ service group{
|
||||
rpc SetGroupMemberInfo(SetGroupMemberInfoReq) returns (SetGroupMemberInfoResp);
|
||||
rpc GetGroupAbstractInfo(GetGroupAbstractInfoReq) returns (GetGroupAbstractInfoResp);
|
||||
rpc GroupIsExist(GroupIsExistReq) returns(GroupIsExistResp);
|
||||
rpc UserIsInGroup(UserIsInGroupReq) returns();
|
||||
rpc UserIsInGroup(UserIsInGroupReq) returns(UserIsInGroupResp);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user