From df6411b7ed1b327719c0ec60ed02d7d45e47ef25 Mon Sep 17 00:00:00 2001 From: liyabing Date: Thu, 23 Jan 2025 17:12:03 +0800 Subject: [PATCH 1/2] fix namespace delete error --- .../apache/shenyu/admin/mapper/AppAuthMapper.java | 9 +++++++++ .../admin/service/impl/NamespaceServiceImpl.java | 14 +++++++++----- .../src/main/resources/mappers/app-auth-sqlmap.xml | 10 ++++++++++ 3 files changed, 28 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 4b36b7f6b6d8..71247dc48a27 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 selectByCondition(@Param("condition") AppAuthQuery condition); + + + /** + * Find by namespace id list. + * + * @param namespaceIds the namespaceIds + * @return the list + */ + List findByNamespaceIds(List 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 a828ba12bb5c..2cad3adff849 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.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,7 @@ public NamespaceServiceImpl(final NamespaceMapper namespaceMapper, 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 +102,7 @@ public NamespaceServiceImpl(final NamespaceMapper namespaceMapper, this.authPathMapper = authPathMapper; this.metaDataMapper = metaDataMapper; this.discoveryMapper = discoveryMapper; + this.appAuthMapper = appAuthMapper; } @Override @@ -152,9 +156,9 @@ public String delete(final List ids) { if (CollectionUtils.isNotEmpty(metaDataDOList)) { throw new ShenyuAdminException("metaData exist under those namespace!"); } - List authPathDOList = authPathMapper.findByNamespaceIds(namespaceIdList); - if (CollectionUtils.isNotEmpty(authPathDOList)) { - throw new ShenyuAdminException("authPath exist under those namespace!"); + List appPathDOList = appAuthMapper.findByNamespaceIds(namespaceIdList); + if (CollectionUtils.isNotEmpty(appPathDOList)) { + throw new ShenyuAdminException("appPath exist under those namespace!"); } List 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 ce671fe7a93d..4923c18132c9 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} + +