From 7e54246af230fcc2ead7467328392e961887fddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 28 Oct 2025 11:24:52 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=AE=A2=E6=88=B7=E7=AB=AF=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=96=B0=E5=A2=9E=E5=AE=A2=E6=88=B7=E7=AB=AFkey?= =?UTF-8?q?=E5=94=AF=E4=B8=80=E6=A0=A1=E9=AA=8C=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysClientController.java | 6 ++++++ .../system/service/ISysClientService.java | 8 ++++++++ .../service/impl/SysClientServiceImpl.java | 16 ++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java index 785a51b52..f6bb52f0f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java @@ -76,6 +76,9 @@ public class SysClientController extends BaseController { @RepeatSubmit() @PostMapping() public R add(@Validated(AddGroup.class) @RequestBody SysClientBo bo) { + if (!sysClientService.checkClickKeyUnique(bo)) { + return R.fail("新增客户端'" + bo.getClientKey() + "'失败,客户端key已存在"); + } return toAjax(sysClientService.insertByBo(bo)); } @@ -87,6 +90,9 @@ public class SysClientController extends BaseController { @RepeatSubmit() @PutMapping() public R edit(@Validated(EditGroup.class) @RequestBody SysClientBo bo) { + if (!sysClientService.checkClickKeyUnique(bo)) { + return R.fail("修改客户端'" + bo.getClientKey() + "'失败,客户端key已存在"); + } return toAjax(sysClientService.updateByBo(bo)); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysClientService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysClientService.java index 7cb885613..1cf200388 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysClientService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysClientService.java @@ -55,4 +55,12 @@ public interface ISysClientService { */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + /** + * 校验客户端key是否唯一 + * + * @param client 客户端信息 + * @return 结果 + */ + boolean checkClickKeyUnique(SysClientBo client); + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysClientServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysClientServiceImpl.java index 86b7e0844..3d70583b2 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysClientServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysClientServiceImpl.java @@ -1,6 +1,7 @@ package org.dromara.system.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -135,4 +136,19 @@ public class SysClientServiceImpl implements ISysClientService { public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { return baseMapper.deleteByIds(ids) > 0; } + + /** + * 校验客户端key是否唯一 + * + * @param client 客户端信息 + * @return 结果 + */ + @Override + public boolean checkClickKeyUnique(SysClientBo client) { + boolean exist = baseMapper.exists(new LambdaQueryWrapper() + .eq(SysClient::getClientKey, client.getClientKey()) + .ne(ObjectUtil.isNotNull(client.getId()), SysClient::getId, client.getId())); + return !exist; + } + }