Prechádzať zdrojové kódy

Update 客户端管理新增客户端key唯一校验逻辑

Yue 1 týždeň pred
rodič
commit
def04d4840

+ 6 - 0
SERVER/VberAdminPlusV3/vber-modules/vber-system/src/main/java/com/vber/system/controller/system/SysClientController.java

@@ -75,6 +75,9 @@ public class SysClientController extends BaseController {
     @RepeatSubmit()
     @PostMapping()
     public R<Void> add(@Validated(AddGroup.class) @RequestBody SysClientBo bo) {
+        if (!sysClientService.checkClickKeyUnique(bo)) {
+            return R.fail("新增客户端'" + bo.getClientKey() + "'失败,客户端key已存在");
+        }
         return toAjax(sysClientService.insertByBo(bo));
     }
 
@@ -86,6 +89,9 @@ public class SysClientController extends BaseController {
     @RepeatSubmit()
     @PutMapping()
     public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysClientBo bo) {
+        if (!sysClientService.checkClickKeyUnique(bo)) {
+            return R.fail("新增客户端'" + bo.getClientKey() + "'失败,客户端key已存在");
+        }
         return toAjax(sysClientService.updateByBo(bo));
     }
 

+ 8 - 0
SERVER/VberAdminPlusV3/vber-modules/vber-system/src/main/java/com/vber/system/service/ISysClientService.java

@@ -56,4 +56,12 @@ public interface ISysClientService {
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
 
+    /**
+     * 校验客户端key是否唯一
+     *
+     * @param client 客户端信息
+     * @return 结果
+     */
+    boolean checkClickKeyUnique(SysClientBo client);
+
 }

+ 15 - 2
SERVER/VberAdminPlusV3/vber-modules/vber-system/src/main/java/com/vber/system/service/impl/SysClientServiceImpl.java

@@ -1,6 +1,7 @@
 package com.vber.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;
@@ -48,7 +49,6 @@ public class SysClientServiceImpl implements ISysClientService {
         return vo;
     }
 
-
     /**
      * 查询客户端管理
      */
@@ -130,7 +130,6 @@ public class SysClientServiceImpl implements ISysClientService {
                         .eq(SysClient::getClientId, clientId));
     }
 
-
     /**
      * 批量删除客户端管理
      */
@@ -140,4 +139,18 @@ public class SysClientServiceImpl implements ISysClientService {
 
         return baseMapper.deleteByIds(ids) > 0;
     }
+
+    /**
+     * 校验客户端key是否唯一
+     *
+     * @param client 客户端信息
+     * @return 结果
+     */
+    @Override
+    public boolean checkClickKeyUnique(SysClientBo client) {
+        boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysClient>()
+                .eq(SysClient::getClientKey, client.getClientKey())
+                .ne(ObjectUtil.isNotNull(client.getId()), SysClient::getId, client.getId()));
+        return !exist;
+    }
 }