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