This is an automated email from the ASF dual-hosted git repository.

liuhongyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git


The following commit(s) were added to refs/heads/master by this push:
     new 65735aa2a1 [type:fix]fix namespace delete error (#5916)
65735aa2a1 is described below

commit 65735aa2a1b2cb002baf23c2bf929dda970216fe
Author: liyabing12138 <[email protected]>
AuthorDate: Thu Jan 23 18:00:56 2025 +0800

    [type:fix]fix namespace delete error (#5916)
    
    * fix namespace delete error
    
    * fix namespace delete error optimized code
    
    ---------
    
    Co-authored-by: liyabing <[email protected]>
---
 .../org/apache/shenyu/admin/mapper/AppAuthMapper.java     |  9 +++++++++
 .../shenyu/admin/service/impl/NamespaceServiceImpl.java   | 15 ++++++++++-----
 .../src/main/resources/mappers/app-auth-sqlmap.xml        | 10 ++++++++++
 3 files changed, 29 insertions(+), 5 deletions(-)

diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/mapper/AppAuthMapper.java 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/mapper/AppAuthMapper.java
index 4b36b7f6b6..71247dc48a 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/mapper/AppAuthMapper.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/mapper/AppAuthMapper.java
@@ -196,4 +196,13 @@ public interface AppAuthMapper extends ExistProvider {
      * @return list
      */
     List<AppAuthVO> selectByCondition(@Param("condition") AppAuthQuery 
condition);
+
+
+    /**
+     * Find by namespace id list.
+     *
+     * @param namespaceIds the namespaceIds
+     * @return the list
+     */
+    List<AppAuthDO> findByNamespaceIds(List<String> namespaceIds);
 }
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/NamespaceServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/NamespaceServiceImpl.java
index a828ba12bb..309e491638 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/NamespaceServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/NamespaceServiceImpl.java
@@ -25,11 +25,12 @@ import org.apache.shenyu.admin.mapper.AuthPathMapper;
 import org.apache.shenyu.admin.mapper.DiscoveryMapper;
 import org.apache.shenyu.admin.mapper.MetaDataMapper;
 import org.apache.shenyu.admin.mapper.NamespaceMapper;
+import org.apache.shenyu.admin.mapper.AppAuthMapper;
 import org.apache.shenyu.admin.mapper.NamespacePluginRelMapper;
 import org.apache.shenyu.admin.mapper.RuleMapper;
 import org.apache.shenyu.admin.mapper.SelectorMapper;
 import org.apache.shenyu.admin.model.dto.NamespaceDTO;
-import org.apache.shenyu.admin.model.entity.AuthPathDO;
+import org.apache.shenyu.admin.model.entity.AppAuthDO;
 import org.apache.shenyu.admin.model.entity.DiscoveryDO;
 import org.apache.shenyu.admin.model.entity.MetaDataDO;
 import org.apache.shenyu.admin.model.entity.NamespaceDO;
@@ -80,6 +81,8 @@ public class NamespaceServiceImpl implements NamespaceService 
{
 
     private final NamespacePluginRelMapper namespacePluginRelMapper;
 
+    private final AppAuthMapper appAuthMapper;
+
 
     public NamespaceServiceImpl(final NamespaceMapper namespaceMapper,
                                 final NamespaceUserService 
namespaceUserService,
@@ -89,7 +92,8 @@ public class NamespaceServiceImpl implements NamespaceService 
{
                                 final RuleMapper ruleMapper,
                                 final AuthPathMapper authPathMapper,
                                 final MetaDataMapper metaDataMapper,
-                                final DiscoveryMapper discoveryMapper) {
+                                final DiscoveryMapper discoveryMapper,
+                                final AppAuthMapper appAuthMapper) {
         this.namespaceMapper = namespaceMapper;
         this.namespaceUserService = namespaceUserService;
         this.namespaceEventPublisher = namespaceEventPublisher;
@@ -99,6 +103,7 @@ public class NamespaceServiceImpl implements 
NamespaceService {
         this.authPathMapper = authPathMapper;
         this.metaDataMapper = metaDataMapper;
         this.discoveryMapper = discoveryMapper;
+        this.appAuthMapper = appAuthMapper;
     }
 
     @Override
@@ -152,9 +157,9 @@ public class NamespaceServiceImpl implements 
NamespaceService {
         if (CollectionUtils.isNotEmpty(metaDataDOList)) {
             throw new ShenyuAdminException("metaData exist under those 
namespace!");
         }
-        List<AuthPathDO> authPathDOList = 
authPathMapper.findByNamespaceIds(namespaceIdList);
-        if (CollectionUtils.isNotEmpty(authPathDOList)) {
-            throw new ShenyuAdminException("authPath exist under those 
namespace!");
+        List<AppAuthDO> appPathDOList = 
appAuthMapper.findByNamespaceIds(namespaceIdList);
+        if (CollectionUtils.isNotEmpty(appPathDOList)) {
+            throw new ShenyuAdminException("appPath exist under those 
namespace!");
         }
         List<DiscoveryDO> discoveryDOList = 
discoveryMapper.selectAllByNamespaceIds(namespaceIdList);
         if (CollectionUtils.isNotEmpty(discoveryDOList)) {
diff --git a/shenyu-admin/src/main/resources/mappers/app-auth-sqlmap.xml 
b/shenyu-admin/src/main/resources/mappers/app-auth-sqlmap.xml
index ce671fe7a9..4923c18132 100644
--- a/shenyu-admin/src/main/resources/mappers/app-auth-sqlmap.xml
+++ b/shenyu-admin/src/main/resources/mappers/app-auth-sqlmap.xml
@@ -83,6 +83,16 @@
          WHERE app_key = #{appKey, jdbcType=VARCHAR}
     </select>
 
+    <select id="findByNamespaceIds" parameterType="java.lang.String" 
resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM app_auth
+        WHERE namespace_id IN
+        <foreach item="namespaceId" collection="namespaceIds" open="(" 
separator="," close=")">
+            #{namespaceId, jdbcType=VARCHAR}
+        </foreach>
+    </select>
+
     <select id="selectByQuery" 
parameterType="org.apache.shenyu.admin.model.query.AppAuthQuery" 
resultMap="BaseResultMap">
         SELECT
                <include refid="Base_Column_List"/>

Reply via email to