This commit is contained in:
withchao 2023-02-06 12:26:14 +08:00
parent 1b09353991
commit 49983b8c83

View File

@ -579,30 +579,36 @@ func (s *groupServer) GetGroupApplicationList(ctx context.Context, req *pbGroup.
func (s *groupServer) GetGroupsInfo(ctx context.Context, req *pbGroup.GetGroupsInfoReq) (*pbGroup.GetGroupsInfoResp, error) { func (s *groupServer) GetGroupsInfo(ctx context.Context, req *pbGroup.GetGroupsInfoReq) (*pbGroup.GetGroupsInfoResp, error) {
resp := &pbGroup.GetGroupsInfoResp{} resp := &pbGroup.GetGroupsInfoResp{}
groupsInfoList := make([]*open_im_sdk.GroupInfo, 0) if len(req.GroupIDs) == 0 {
for _, groupID := range req.GroupIDList { return nil, constant.ErrArgs.Wrap("groupID is empty")
groupInfoFromRedis, err := rocksCache.GetGroupInfoFromCache(ctx, groupID) }
groups, err := s.GroupInterface.FindGroupsByID(ctx, req.GroupIDs)
if err != nil { if err != nil {
continue return nil, err
} }
var groupInfo open_im_sdk.GroupInfo groupMemberNumMap, err := s.GroupInterface.GetGroupMemberNum(ctx, req.GroupIDs)
cp.GroupDBCopyOpenIM(&groupInfo, groupInfoFromRedis) if err != nil {
groupInfo.NeedVerification = groupInfoFromRedis.NeedVerification return nil, err
groupsInfoList = append(groupsInfoList, &groupInfo)
} }
resp.GroupInfoList = groupsInfoList groupOwnerUserIDMap, err := s.GroupInterface.GetGroupOwnerUserID(ctx, req.GroupIDs)
if err != nil {
return nil, err
}
resp.GroupInfos = utils.Slice(groups, func(e *relation2.GroupModel) *open_im_sdk.GroupInfo {
return ModelToGroupInfo(e, groupOwnerUserIDMap[e.GroupID], uint32(groupMemberNumMap[e.GroupID]))
})
return resp, nil return resp, nil
} }
func CheckPermission(ctx context.Context, groupID string, userID string) (err error) { //func CheckPermission(ctx context.Context, groupID string, userID string) (err error) {
defer func() { // defer func() {
tracelog.SetCtxInfo(ctx, utils.GetSelfFuncName(), err, "groupID", groupID, "userID", userID) // tracelog.SetCtxInfo(ctx, utils.GetSelfFuncName(), err, "groupID", groupID, "userID", userID)
}() // }()
if !token_verify.IsManagerUserID(userID) && !relation.IsGroupOwnerAdmin(groupID, userID) { // if !token_verify.IsManagerUserID(userID) && !relation.IsGroupOwnerAdmin(groupID, userID) {
return utils.Wrap(constant.ErrNoPermission, utils.GetSelfFuncName()) // return utils.Wrap(constant.ErrNoPermission, utils.GetSelfFuncName())
} // }
return nil // return nil
} //}
func (s *groupServer) GroupApplicationResponse(ctx context.Context, req *pbGroup.GroupApplicationResponseReq) (*pbGroup.GroupApplicationResponseResp, error) { func (s *groupServer) GroupApplicationResponse(ctx context.Context, req *pbGroup.GroupApplicationResponseReq) (*pbGroup.GroupApplicationResponseResp, error) {
resp := &pbGroup.GroupApplicationResponseResp{} resp := &pbGroup.GroupApplicationResponseResp{}