From 4e20c2df627f69a6c5ed06fb13267ed3ccd4b456 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Tue, 4 Aug 2026 12:33:15 +0800 Subject: [PATCH] =?UTF-8?q?fix(website):=20=E9=98=B2=E6=AD=A2=E5=90=8C?= =?UTF-8?q?=E4=B8=80=E7=A7=9F=E6=88=B7=E9=87=8D=E5=A4=8D=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E7=AB=99=E7=82=B9=EF=BC=8C=E8=AE=BE=E7=BD=AE=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CmsWebsiteController中新增校验,若当前租户已有站点则拒绝新增 - 避免并发和重复请求导致多条孤儿记录产生 - CmsWebsiteServiceImpl中设置默认运行状态,防止状态字段为空显示异常 - 保持后端枚举status与前端展示running状态一致 - 调用方仍可覆盖默认状态值 --- .../cms/controller/CmsWebsiteController.java | 12 ++++++++++++ .../cms/service/impl/CmsWebsiteServiceImpl.java | 9 +++++++++ 2 files changed, 21 insertions(+) diff --git a/src/main/java/com/gxwebsoft/cms/controller/CmsWebsiteController.java b/src/main/java/com/gxwebsoft/cms/controller/CmsWebsiteController.java index fbd0f63..9aefeab 100644 --- a/src/main/java/com/gxwebsoft/cms/controller/CmsWebsiteController.java +++ b/src/main/java/com/gxwebsoft/cms/controller/CmsWebsiteController.java @@ -109,6 +109,18 @@ public class CmsWebsiteController extends BaseController { // 记录当前登录用户id User loginUser = getLoginUser(); if (loginUser != null) { + // 防重复建站:同一租户已存在站点时拒绝新增, + // 避免并发请求/重复点击建出多条记录(getSiteInfo 仅取 limit 1,多余记录会成为孤儿数据) + if (ObjectUtil.isNotEmpty(loginUser.getTenantId())) { + long exist = cmsWebsiteService.count( + new LambdaQueryWrapper() + .eq(CmsWebsite::getTenantId, loginUser.getTenantId()) + .eq(CmsWebsite::getDeleted, 0) + ); + if (exist > 0) { + return fail("当前租户已存在站点,请勿重复创建"); + } + } cmsWebsite.setLoginUser(loginUser); return success("创建成功", cmsWebsiteService.create(cmsWebsite)); } diff --git a/src/main/java/com/gxwebsoft/cms/service/impl/CmsWebsiteServiceImpl.java b/src/main/java/com/gxwebsoft/cms/service/impl/CmsWebsiteServiceImpl.java index c0aeb0e..6e9f893 100644 --- a/src/main/java/com/gxwebsoft/cms/service/impl/CmsWebsiteServiceImpl.java +++ b/src/main/java/com/gxwebsoft/cms/service/impl/CmsWebsiteServiceImpl.java @@ -193,6 +193,15 @@ public class CmsWebsiteServiceImpl extends ServiceImpl