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

hefengen 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 429dc88102 [type:fix] Fix Plugin Edit Page Issue by Correcting Plugin 
ID Query and Updating Data Type (#5622)
429dc88102 is described below

commit 429dc88102591dc2d5204e1751ced46829d06baf
Author: VampireAchao <[email protected]>
AuthorDate: Tue Aug 20 15:55:38 2024 +0800

    [type:fix] Fix Plugin Edit Page Issue by Correcting Plugin ID Query and 
Updating Data Type (#5622)
    
    * [type:fix] Correct Plugin ID Query for Namespace Plugin Edit Page
    
    * [type:fix] use @GetMapping("/{pluginId}/{namespaceId}")
---
 db/init/oracle/schema.sql                                  |  2 +-
 db/upgrade/2.6.1-upgrade-2.7.0-mysql.sql                   |  2 +-
 .../shenyu/admin/controller/NamespacePluginController.java | 14 +++++++-------
 .../shenyu/admin/mapper/NamespacePluginRelMapper.java      |  4 ++--
 .../shenyu/admin/service/NamespacePluginService.java       |  6 +++---
 .../admin/service/impl/NamespacePluginServiceImpl.java     |  4 ++--
 .../shenyu/admin/service/impl/SyncDataServiceImpl.java     |  2 +-
 .../main/resources/mappers/NamespacePluginRelMapper.xml    |  2 +-
 shenyu-admin/src/main/resources/sql-script/h2/schema.sql   |  2 +-
 .../apache/shenyu/admin/service/SyncDataServiceTest.java   |  2 +-
 10 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/db/init/oracle/schema.sql b/db/init/oracle/schema.sql
index 1197f14fb2..9892187e07 100644
--- a/db/init/oracle/schema.sql
+++ b/db/init/oracle/schema.sql
@@ -2776,7 +2776,7 @@ INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX (namespace(id)) */ 
INTO `namespace` (`id`,
 CREATE TABLE plugin_ns_rel (
                                id VARCHAR2(128) COLLATE utf8mb4_unicode_ci NOT 
NULL,
                                namespace_id VARCHAR2(50) COLLATE 
utf8mb4_unicode_ci NOT NULL,
-                               plugin_id NUMBER(11) NOT NULL,
+                               plugin_id VARCHAR2(128) COLLATE 
utf8mb4_unicode_ci NOT NULL,
                                config CLOB COLLATE utf8mb4_unicode_ci,
                                sort NUMBER(11),
                                enabled NUMBER(4,0) NOT NULL DEFAULT 0 CHECK 
(enabled IN (0, 1)),
diff --git a/db/upgrade/2.6.1-upgrade-2.7.0-mysql.sql 
b/db/upgrade/2.6.1-upgrade-2.7.0-mysql.sql
index d0b2859f8a..5f2a18215e 100755
--- a/db/upgrade/2.6.1-upgrade-2.7.0-mysql.sql
+++ b/db/upgrade/2.6.1-upgrade-2.7.0-mysql.sql
@@ -88,7 +88,7 @@ INSERT INTO `shenyu`.`namespace` (`id`, `namespace_id`, 
`name`, `description`, `
 CREATE TABLE `plugin_ns_rel` (
                                  `id` varchar(128) COLLATE utf8mb4_unicode_ci 
NOT NULL COMMENT 'primary key id',
                                  `namespace_id` varchar(50) COLLATE 
utf8mb4_unicode_ci NOT NULL COMMENT 'namespace id',
-                                 `plugin_id` int(11) NOT NULL COMMENT 'plugin 
id',
+                                 `plugin_id` varchar(128) COLLATE 
utf8mb4_unicode_ci NOT NULL COMMENT 'plugin id',
                                  `config` text COLLATE utf8mb4_unicode_ci 
COMMENT 'plugin configuration',
                                  `sort` int(11) DEFAULT NULL COMMENT 'sort',
                                  `enabled` tinyint(4) NOT NULL DEFAULT '0' 
COMMENT 'whether to open (0, not open, 1 open)',
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/NamespacePluginController.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/NamespacePluginController.java
index 67e09ec2a7..eee7d246ab 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/NamespacePluginController.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/NamespacePluginController.java
@@ -17,6 +17,8 @@
 
 package org.apache.shenyu.admin.controller;
 
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shenyu.admin.aspect.annotation.RestApi;
 import org.apache.shenyu.admin.mapper.NamespaceMapper;
@@ -47,8 +49,6 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
-import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotNull;
 import java.util.List;
 
 /**
@@ -103,16 +103,16 @@ public class NamespacePluginController implements 
PagedController<NamespacePlugi
      * detail plugin of namespace.
      *
      * @param namespaceId namespace id.
-     * @param id          id.
+     * @param pluginId    pluginId.
      * @return {@linkplain ShenyuAdminResult}
      */
-    @GetMapping("/id={id}&namespaceId={namespaceId}")
+    @GetMapping("/{pluginId}/{namespaceId}")
     @RequiresPermissions("system:plugin:edit")
     public ShenyuAdminResult detailPlugin(@PathVariable("namespaceId")
                                           @Existed(message = "namespace is not 
existed", provider = NamespaceMapper.class) final String namespaceId,
-                                          @PathVariable("id")
-                                          @Existed(message = "id is not 
existed", provider = NamespacePluginRelMapper.class) final String id) {
-        NamespacePluginVO namespacePluginVO = 
namespacePluginService.findById(id, namespaceId);
+                                          @PathVariable("pluginId")
+                                          @Existed(message = "pluginId is not 
existed", provider = NamespacePluginRelMapper.class) final String pluginId) {
+        NamespacePluginVO namespacePluginVO = 
namespacePluginService.findByPluginId(pluginId, namespaceId);
         return ShenyuAdminResult.success(ShenyuResultMessage.DETAIL_SUCCESS, 
namespacePluginVO);
     }
 
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/mapper/NamespacePluginRelMapper.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/mapper/NamespacePluginRelMapper.java
index 639129c03d..e53214ee86 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/mapper/NamespacePluginRelMapper.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/mapper/NamespacePluginRelMapper.java
@@ -39,11 +39,11 @@ public interface NamespacePluginRelMapper extends 
ExistProvider {
     /**
      * existed.
      *
-     * @param id id
+     * @param pluginId pluginId
      * @return existed
      */
     @Override
-    Boolean existed(@Param("id") Serializable id);
+    Boolean existed(@Param("pluginId") Serializable pluginId);
 
 
     /**
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/NamespacePluginService.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/NamespacePluginService.java
index 7a598ff422..b2b9ac6d33 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/NamespacePluginService.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/NamespacePluginService.java
@@ -53,13 +53,13 @@ public interface NamespacePluginService extends 
PageService<NamespacePluginQuery
     String delete(List<String> ids, String namespaceId);
 
     /**
-     * find plugin namespace by id.
+     * find plugin namespace by pluginId.
      *
-     * @param id    pk.
+     * @param pluginId    the pluginId.
      * @param namespaceId the namespaceId
      * @return {@linkplain PluginVO}
      */
-    NamespacePluginVO findById(String id, String namespaceId);
+    NamespacePluginVO findByPluginId(String pluginId, String namespaceId);
 
     /**
      * find page of plugin namespace by query.
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/NamespacePluginServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/NamespacePluginServiceImpl.java
index b65fa25e34..5f16442a68 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/NamespacePluginServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/NamespacePluginServiceImpl.java
@@ -96,8 +96,8 @@ public class NamespacePluginServiceImpl implements 
NamespacePluginService {
     }
 
     @Override
-    public NamespacePluginVO findById(final String id, final String 
namespaceId) {
-        return 
this.namespacePluginRelMapper.selectByPluginIdAndNamespaceId(id, namespaceId);
+    public NamespacePluginVO findByPluginId(final String pluginId, final 
String namespaceId) {
+        return 
this.namespacePluginRelMapper.selectByPluginIdAndNamespaceId(pluginId, 
namespaceId);
     }
 
     @Override
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SyncDataServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SyncDataServiceImpl.java
index a9cd1db100..caa251470d 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SyncDataServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SyncDataServiceImpl.java
@@ -127,7 +127,7 @@ public class SyncDataServiceImpl implements SyncDataService 
{
 
     @Override
     public boolean syncPluginData(final String pluginId, final String 
namespaceId) {
-        NamespacePluginVO namespacePluginVO = 
namespacePluginService.findById(pluginId, namespaceId);
+        NamespacePluginVO namespacePluginVO = 
namespacePluginService.findByPluginId(pluginId, namespaceId);
         eventPublisher.publishEvent(new 
DataChangedEvent(ConfigGroupEnum.PLUGIN, DataEventTypeEnum.UPDATE,
                 
Collections.singletonList(PluginTransfer.INSTANCE.mapToData(namespacePluginVO))));
 
diff --git 
a/shenyu-admin/src/main/resources/mappers/NamespacePluginRelMapper.xml 
b/shenyu-admin/src/main/resources/mappers/NamespacePluginRelMapper.xml
index 0353264205..d66ead532f 100644
--- a/shenyu-admin/src/main/resources/mappers/NamespacePluginRelMapper.xml
+++ b/shenyu-admin/src/main/resources/mappers/NamespacePluginRelMapper.xml
@@ -43,7 +43,7 @@
     <select id="existed" resultType="java.lang.Boolean">
         SELECT true
         FROM plugin_ns_rel
-        WHERE id = #{id} limit 1
+        WHERE plugin_id = #{pluginId} limit 1
     </select>
 
 
diff --git a/shenyu-admin/src/main/resources/sql-script/h2/schema.sql 
b/shenyu-admin/src/main/resources/sql-script/h2/schema.sql
index 3070489cee..2fd9c03a3b 100755
--- a/shenyu-admin/src/main/resources/sql-script/h2/schema.sql
+++ b/shenyu-admin/src/main/resources/sql-script/h2/schema.sql
@@ -1264,7 +1264,7 @@ INSERT IGNORE INTO `namespace` (`id`, `namespace_id`, 
`name`, `description`, `da
 CREATE TABLE IF NOT EXISTS `plugin_ns_rel` (
                                                `id` VARCHAR(128) NOT NULL 
COMMENT 'primary key id',
     `namespace_id` VARCHAR(50) NOT NULL COMMENT 'namespace id',
-    `plugin_id` INT NOT NULL COMMENT 'plugin id',
+    `plugin_id` varchar(128) NOT NULL COMMENT 'plugin id',
     `config` TEXT COMMENT 'plugin configuration',
     `sort` INT DEFAULT NULL COMMENT 'sort',
     `enabled` TINYINT NOT NULL DEFAULT 0 COMMENT 'whether to open (0, not 
open, 1 open)',
diff --git 
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/SyncDataServiceTest.java
 
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/SyncDataServiceTest.java
index dc33e858e5..bbe42e14a1 100644
--- 
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/SyncDataServiceTest.java
+++ 
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/SyncDataServiceTest.java
@@ -108,7 +108,7 @@ public final class SyncDataServiceTest {
     public void syncPluginDataTest() {
         PluginVO pluginVO = buildPluginVO();
         NamespacePluginVO namespacePluginVO = new NamespacePluginVO();
-        given(this.namespacePluginService.findById(pluginVO.getId(), 
SYS_DEFAULT_NAMESPACE_ID)).willReturn(namespacePluginVO);
+        given(this.namespacePluginService.findByPluginId(pluginVO.getId(), 
SYS_DEFAULT_NAMESPACE_ID)).willReturn(namespacePluginVO);
         SelectorData selectorData = buildSelectorData();
         
given(this.selectorService.findByPluginIdAndNamespaceId(pluginVO.getId(), 
SYS_DEFAULT_NAMESPACE_ID)).willReturn(Collections.singletonList(selectorData));
 

Reply via email to