From 65735aa2a1b2cb002baf23c2bf929dda970216fe Mon Sep 17 00:00:00 2001 From: liyabing12138 <33270918+liyabing12138@users.noreply.github.com> Date: Thu, 23 Jan 2025 18:00:56 +0800 Subject: [PATCH] [type:fix]fix namespace delete error (#5916) * fix namespace delete error * fix namespace delete error optimized code --------- Co-authored-by: liyabing --- .../apache/shenyu/admin/mapper/AppAuthMapper.java | 9 +++++++++ .../admin/service/impl/NamespaceServiceImpl.java | 15 ++++++++++----- .../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 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..309e49163836 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,8 @@ 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 +103,7 @@ public NamespaceServiceImpl(final NamespaceMapper namespaceMapper, this.authPathMapper = authPathMapper; this.metaDataMapper = metaDataMapper; this.discoveryMapper = discoveryMapper; + this.appAuthMapper = appAuthMapper; } @Override @@ -152,9 +157,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} + +