From 935bfe17a02b0bd2b03f9a9777c3460d7abbb7ff Mon Sep 17 00:00:00 2001 From: Austin Date: Tue, 22 Sep 2026 19:38:54 +0800 Subject: [PATCH] =?UTF-8?q?fix(admin/member):=20=E5=85=81=E8=AE=B8?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E7=A7=9F=E6=88=B7=E6=97=B6=E5=8C=85=E5=90=AB?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改租户校验逻辑,将允许的租户状态从仅活跃态扩展至包含初始化态,确保新建商户创建管理员操作正常完成 --- server/internal/logic/admin/member.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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租户失败")