diff --git a/server/internal/logic/admin/member.go b/server/internal/logic/admin/member.go index d10b442..81232ec 100644 --- a/server/internal/logic/admin/member.go +++ b/server/internal/logic/admin/member.go @@ -470,9 +470,10 @@ func (s *sAdminMember) Edit(ctx context.Context, in *adminin.MemberEditInp) (err if service.AdminMember().VerifySuperId(ctx, opMemberId) || contexts.GetRoleKey(ctx) == consts.ImPlatformRoleKey { if in.TenantId > 0 { + // provisioning(初始化中)是新建商户创建管理员前的合法过渡态,必须放行,否则新建商户必失败 count, queryErr := imtenant.RegistryDB().Model(dao.ImTenant.Table()).Safe().Ctx(ctx). Where(dao.ImTenant.Columns().Id, in.TenantId). - Where(dao.ImTenant.Columns().State, consts.ImTenantStateActive). + WhereIn(dao.ImTenant.Columns().State, g.Slice{consts.ImTenantStateActive, consts.ImTenantStateProvisioning}). Count() if queryErr != nil { return gerror.Wrap(queryErr, "校验IM租户失败")