From 26eb3328ab01743822e8ef7fa670925814634696 Mon Sep 17 00:00:00 2001 From: "Michelle.Chung" <1242874891@qq.com> Date: Thu, 9 Feb 2023 20:58:33 +0800 Subject: [PATCH] =?UTF-8?q?add=20SysTenantServiceImpl#checkCompanyNameUniq?= =?UTF-8?q?ue=20=E7=A7=9F=E6=88=B7=E5=85=AC=E5=8F=B8=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E5=94=AF=E4=B8=80=E6=A0=A1=E9=AA=8C=20;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/SysTenantController.java | 6 +++++ .../system/service/ISysTenantService.java | 5 ++++ .../service/impl/SysTenantServiceImpl.java | 25 +++++++++++++++---- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java index 14419b6f8..95daf10d6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java @@ -91,6 +91,9 @@ public class SysTenantController extends BaseController { @RepeatSubmit() @PostMapping() public R add(@Validated(AddGroup.class) @RequestBody SysTenantBo bo) { + if (UserConstants.NOT_UNIQUE.equals(sysTenantService.checkCompanyNameUnique(bo))) { + throw new ServiceException("新增租户'" + bo.getCompanyName() + "'失败,公司名称已存在"); + } SysUserBo userBo = new SysUserBo(); userBo.setUserName(bo.getUsername()); // 判断用户名是否重复 @@ -109,6 +112,9 @@ public class SysTenantController extends BaseController { @RepeatSubmit() @PutMapping() public R edit(@Validated(EditGroup.class) @RequestBody SysTenantBo bo) { + if (UserConstants.NOT_UNIQUE.equals(sysTenantService.checkCompanyNameUnique(bo))) { + throw new ServiceException("修改租户'" + bo.getCompanyName() + "'失败,公司名称已存在"); + } return toAjax(sysTenantService.updateByBo(bo)); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTenantService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTenantService.java index d48ad593c..13de3eb50 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTenantService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTenantService.java @@ -55,6 +55,11 @@ public interface ISysTenantService { */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + /** + * 校验公司名称是否唯一 + */ + String checkCompanyNameUnique(SysTenantBo bo); + /** * 校验账号余额 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java index eadcd9bda..dfd5010b3 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTenantServiceImpl.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.constant.CacheNames; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.constant.TenantConstants; +import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.SpringUtils; import com.ruoyi.common.core.utils.StringUtils; @@ -58,7 +59,7 @@ public class SysTenantServiceImpl implements ISysTenantService { * 查询租户 */ @Override - public SysTenantVo queryById(Long id){ + public SysTenantVo queryById(Long id) { return baseMapper.selectVoById(id); } @@ -163,9 +164,9 @@ public class SysTenantServiceImpl implements ISysTenantService { String defaultTenantId = TenantConstants.DEFAULT_TENANT_ID; List dictTypeList = sysDictTypeMapper.selectList( - new LambdaQueryWrapper().eq(SysDictType::getTenantId, defaultTenantId)); + new LambdaQueryWrapper().eq(SysDictType::getTenantId, defaultTenantId)); List dictDataList = sysDictDataMapper.selectList( - new LambdaQueryWrapper().eq(SysDictData::getTenantId, defaultTenantId)); + new LambdaQueryWrapper().eq(SysDictData::getTenantId, defaultTenantId)); for (SysDictType dictType : dictTypeList) { dictType.setDictId(null); dictType.setTenantId(tenantId); @@ -178,7 +179,7 @@ public class SysTenantServiceImpl implements ISysTenantService { sysDictDataMapper.insertBatch(dictDataList); List sysConfigList = sysConfigMapper.selectList( - new LambdaQueryWrapper().eq(SysConfig::getTenantId, defaultTenantId)); + new LambdaQueryWrapper().eq(SysConfig::getTenantId, defaultTenantId)); for (SysConfig config : sysConfigList) { config.setConfigId(null); config.setTenantId(tenantId); @@ -275,12 +276,26 @@ public class SysTenantServiceImpl implements ISysTenantService { @CacheEvict(cacheNames = CacheNames.SYS_TENANT, allEntries = true) @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { // 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteBatchIds(ids) > 0; } + /** + * 校验公司名称是否唯一 + */ + @Override + public String checkCompanyNameUnique(SysTenantBo bo) { + boolean exist = baseMapper.exists(new LambdaQueryWrapper() + .eq(SysTenant::getCompanyName, bo.getCompanyName()) + .ne(ObjectUtil.isNotNull(bo.getTenantId()), SysTenant::getTenantId, bo.getTenantId())); + if (exist) { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + /** * 校验账号余额 */