From 6ca0dcbe7458921b3eb245e663d300c3c4576b6f Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Wed, 20 May 2026 18:32:32 +0800 Subject: [PATCH] =?UTF-8?q?fix(private):=20=E7=A7=81=E6=9C=89=E5=8C=96?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E4=B8=8B=E5=AD=98=E9=87=8F=20PENDING=20?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=94=B3=E8=AF=B7=E8=87=AA=E5=8A=A8=E5=BC=80?= =?UTF-8?q?=E9=80=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前的自动开通逻辑在重复申请检查之后,导致已有 PENDING 记录时 直接抛 400 而不进入自动开通流程。 现在私有化模式下检测到 PENDING 记录时直接 approveRequest, 不再返回"请等待运营人员处理"错误。 Co-Authored-By: Claude Sonnet 4.6 --- .../xuqm/tenant/service/FeatureServiceManager.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tenant-service/src/main/java/com/xuqm/tenant/service/FeatureServiceManager.java b/tenant-service/src/main/java/com/xuqm/tenant/service/FeatureServiceManager.java index 6946abd..6cb87d8 100644 --- a/tenant-service/src/main/java/com/xuqm/tenant/service/FeatureServiceManager.java +++ b/tenant-service/src/main/java/com/xuqm/tenant/service/FeatureServiceManager.java @@ -86,12 +86,14 @@ public class FeatureServiceManager { String applyReason) { if (isAppWideService(serviceType)) { - requestRepository.findFirstByAppKeyAndServiceTypeOrderByCreatedAtDesc(appKey, serviceType) - .ifPresent(req -> { - if (req.getStatus() == Status.PENDING) { - throw new BusinessException(400, "已有待审核的开通申请,请等待运营人员处理"); - } - }); + var existing = requestRepository.findFirstByAppKeyAndServiceTypeOrderByCreatedAtDesc(appKey, serviceType); + if (existing.isPresent() && existing.get().getStatus() == Status.PENDING) { + if (deploymentProperties.isPrivate()) { + // 私有化模式:存量 PENDING 请求直接自动开通 + return approveRequest(existing.get().getId(), "私有化部署自动开通"); + } + throw new BusinessException(400, "已有待审核的开通申请,请等待运营人员处理"); + } } ServiceActivationRequestEntity req = new ServiceActivationRequestEntity();