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));