You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampark.apache.org by be...@apache.org on 2022/10/17 04:47:07 UTC
[incubator-streampark] branch dev updated: [Feature] Restrict the format of variable code in the variable management module #1851 (#1852)
This is an automated email from the ASF dual-hosted git repository.
benjobs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git
The following commit(s) were added to refs/heads/dev by this push:
new b0210bb78 [Feature] Restrict the format of variable code in the variable management module #1851 (#1852)
b0210bb78 is described below
commit b0210bb78ff92e24d4b393c1e918b1e6cc9a6a4f
Author: macksonmu <30...@qq.com>
AuthorDate: Mon Oct 17 12:47:00 2022 +0800
[Feature] Restrict the format of variable code in the variable management module #1851 (#1852)
* [Feature] Added variable management menu to team admin role #1849
* [Feature] Restrict the format of variable code in the variable management module #1851
Co-authored-by: mucj7 <mu...@chinaunicom.cn>
---
.../src/assembly/script/data/mysql-data.sql | 6 +++---
.../src/assembly/script/data/pgsql-data.sql | 6 +++---
.../src/assembly/script/upgrade/mysql/1.2.4.sql | 5 ++++-
.../controller/VariableController.java | 25 +++++++++++++++++++---
.../console/{system => core}/entity/Variable.java | 2 +-
.../{system => core}/mapper/VariableMapper.java | 4 ++--
.../{system => core}/service/VariableService.java | 4 ++--
.../service/impl/VariableServiceImpl.java | 8 +++----
.../system/service/impl/MenuServiceImpl.java | 2 +-
.../src/main/resources/db/data-h2.sql | 6 +++---
.../mapper/{system => core}/VariableMapper.xml | 4 ++--
.../src/views/system/variable/Add.vue | 16 +++++++++-----
12 files changed, 58 insertions(+), 30 deletions(-)
diff --git a/streampark-console/streampark-console-service/src/assembly/script/data/mysql-data.sql b/streampark-console/streampark-console-service/src/assembly/script/data/mysql-data.sql
index 373db49d4..89600fd9b 100644
--- a/streampark-console/streampark-console-service/src/assembly/script/data/mysql-data.sql
+++ b/streampark-console/streampark-console-service/src/assembly/script/data/mysql-data.sql
@@ -69,7 +69,7 @@ insert into `t_menu` values (100015, 100013, 'Application', '/flink/app', 'flink
insert into `t_menu` values (100016, 100013, 'Add Application', '/flink/app/add', 'flink/app/Add', 'app:create', '', 0, 0, null, now(), now());
insert into `t_menu` values (100017, 100013, 'Add Project', '/flink/project/add', 'flink/project/Add', 'project:create', '', 0, 0, null, now(), now());
insert into `t_menu` values (100018, 100013, 'App Detail', '/flink/app/detail', 'flink/app/Detail', 'app:detail', '', 0, 0, null, now(), now());
-insert into `t_menu` values (100019, 100013, 'Notebook', '/flink/notebook/view', 'flink/notebook/Submit', 'notebook:submit', 'read', 0, 1, 3, now(), now());
+insert into `t_menu` values (100019, 100013, 'Notebook', '/flink/notebook/view', 'flink/notebook/Submit', 'notebook:submit', 'read', 0, 1, 4, now(), now());
insert into `t_menu` values (100020, 100013, 'Edit Flink App', '/flink/app/edit_flink', 'flink/app/EditFlink', 'app:update', '', 0, 0, null, now(), now());
insert into `t_menu` values (100021, 100013, 'Edit StreamPark App', '/flink/app/edit_streampark', 'flink/app/EditStreamPark', 'app:update', '', 0, 0, null, now(), now());
insert into `t_menu` values (100022, 100014, 'build', null, null, 'project:build', null, 1, 1, null, now(), now());
@@ -84,7 +84,7 @@ insert into `t_menu` values (100030, 100015, 'backup rollback', null, null, 'bac
insert into `t_menu` values (100031, 100015, 'backup delete', null, null, 'backup:delete', null, 1, 1, null, now(), now());
insert into `t_menu` values (100032, 100015, 'conf delete', null, null, 'conf:delete', null, 1, 1, null, now(), now());
insert into `t_menu` values (100033, 100015, 'flame Graph', null, null, 'app:flameGraph', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100034, 100013, 'Setting', '/flink/setting', 'flink/setting/View', 'setting:view', 'setting', 0, 1, 4, now(), now());
+insert into `t_menu` values (100034, 100013, 'Setting', '/flink/setting', 'flink/setting/View', 'setting:view', 'setting', 0, 1, 5, now(), now());
insert into `t_menu` values (100035, 100034, 'Setting Update', null, null, 'setting:update', null, 1, 1, null, now(), now());
insert into `t_menu` values (100036, 100013, 'Edit Project', '/flink/project/edit', 'flink/project/Edit', 'project:update', null, 0, 0, null, now(), now());
insert into `t_menu` values (100037, 100015, 'delete', null, null, 'app:delete', null, 1, 1, null, now(), now());
@@ -104,7 +104,7 @@ insert into `t_menu` values (100050, 100048, 'update', null, null, 'member:updat
insert into `t_menu` values (100051, 100048, 'delete', null, null, 'member:delete', null, '1', 1, null, now(), now());
insert into `t_menu` values (100052, 100048, 'role view', null, null, 'role:view', null, '1', 1, null, now(), now());
insert into `t_menu` values (100053, 100001, 'types', null, null, 'user:types', null, '1', 1, null, now(), now());
-insert into `t_menu` VALUES (100054, 100000, 'Variable Management', '/system/variable', 'system/variable/View', 'variable:view', 'code', '0', 1, 3, now(), now());
+insert into `t_menu` VALUES (100054, 100013, 'Variable', '/system/variable', 'system/variable/View', 'variable:view', 'code', '0', 1, 3, now(), now());
insert into `t_menu` VALUES (100055, 100054, 'add', NULL, NULL, 'variable:add', NULL, '1', 1, NULL, now(), now());
insert into `t_menu` VALUES (100056, 100054, 'update', NULL, NULL, 'variable:update', NULL, '1', 1, NULL, now(), now());
insert into `t_menu` VALUES (100057, 100054, 'delete', NULL, NULL, 'variable:delete', NULL, '1', 1, NULL, now(), now());
diff --git a/streampark-console/streampark-console-service/src/assembly/script/data/pgsql-data.sql b/streampark-console/streampark-console-service/src/assembly/script/data/pgsql-data.sql
index 1de633234..4daf827d2 100644
--- a/streampark-console/streampark-console-service/src/assembly/script/data/pgsql-data.sql
+++ b/streampark-console/streampark-console-service/src/assembly/script/data/pgsql-data.sql
@@ -65,7 +65,7 @@ insert into "public"."t_menu" values (100015, 100013, 'Application', '/flink/app
insert into "public"."t_menu" values (100016, 100013, 'Add Application', '/flink/app/add', 'flink/app/Add', 'app:create', '', 0, false, null, now(), now());
insert into "public"."t_menu" values (100017, 100013, 'Add Project', '/flink/project/add', 'flink/project/Add', 'project:create', '', 0, false, null, now(), now());
insert into "public"."t_menu" values (100018, 100013, 'App Detail', '/flink/app/detail', 'flink/app/Detail', 'app:detail', '', 0, false, null, now(), now());
-insert into "public"."t_menu" values (100019, 100013, 'Notebook', '/flink/notebook/view', 'flink/notebook/Submit', 'notebook:submit', 'read', 0, true, 3, now(), now());
+insert into "public"."t_menu" values (100019, 100013, 'Notebook', '/flink/notebook/view', 'flink/notebook/Submit', 'notebook:submit', 'read', 0, true, 4, now(), now());
insert into "public"."t_menu" values (100020, 100013, 'Edit Flink App', '/flink/app/edit_flink', 'flink/app/EditFlink', 'app:update', '', 0, false, null, now(), now());
insert into "public"."t_menu" values (100021, 100013, 'Edit StreamPark App', '/flink/app/edit_streampark', 'flink/app/EditStreamPark', 'app:update', '', 0, false, null, now(), now());
insert into "public"."t_menu" values (100022, 100014, 'build', null, null, 'project:build', null, 1, true, null, now(), now());
@@ -80,7 +80,7 @@ insert into "public"."t_menu" values (100030, 100015, 'backup rollback', null, n
insert into "public"."t_menu" values (100031, 100015, 'backup delete', null, null, 'backup:delete', null, 1, true, null, now(), now());
insert into "public"."t_menu" values (100032, 100015, 'conf delete', null, null, 'conf:delete', null, 1, true, null, now(), now());
insert into "public"."t_menu" values (100033, 100015, 'flame Graph', null, null, 'app:flameGraph', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100034, 100013, 'Setting', '/flink/setting', 'flink/setting/View', 'setting:view', 'setting', 0, true, 4, now(), now());
+insert into "public"."t_menu" values (100034, 100013, 'Setting', '/flink/setting', 'flink/setting/View', 'setting:view', 'setting', 0, true, 5, now(), now());
insert into "public"."t_menu" values (100035, 100034, 'Setting Update', null, null, 'setting:update', null, 1, true, null, now(), now());
insert into "public"."t_menu" values (100036, 100013, 'Edit Project', '/flink/project/edit', 'flink/project/Edit', 'project:update', null, 0, false, null, now(), now());
insert into "public"."t_menu" values (100037, 100015, 'delete', null, null, 'app:delete', null, 1, true, null, now(), now());
@@ -100,7 +100,7 @@ insert into "public"."t_menu" values (100050, 100048, 'update', null, null, 'mem
insert into "public"."t_menu" values (100051, 100048, 'delete', null, null, 'member:delete', null, '1', 1, null, now(), now());
insert into "public"."t_menu" values (100052, 100048, 'role view', null, null, 'role:view', null, '1', 1, null, now(), now());
insert into "public"."t_menu" values (100053, 100001, 'types', null, null, 'user:types', null, '1', 1, null, now(), now());
-insert into "public"."t_menu" VALUES (100054, 100000, 'Variable Management', '/system/variable', 'system/variable/View', 'variable:view', 'code', '0', 1, 3, now(), now());
+insert into "public"."t_menu" VALUES (100054, 100000, 'Variable', '/system/variable', 'system/variable/View', 'variable:view', 'code', '0', 1, 3, now(), now());
insert into "public"."t_menu" VALUES (100055, 100054, 'add', NULL, NULL, 'variable:add', NULL, '1', 1, NULL, now(), now());
insert into "public"."t_menu" VALUES (100056, 100054, 'update', NULL, NULL, 'variable:update', NULL, '1', 1, NULL, now(), now());
insert into "public"."t_menu" VALUES (100057, 100054, 'delete', NULL, NULL, 'variable:delete', NULL, '1', 1, NULL, now(), now());
diff --git a/streampark-console/streampark-console-service/src/assembly/script/upgrade/mysql/1.2.4.sql b/streampark-console/streampark-console-service/src/assembly/script/upgrade/mysql/1.2.4.sql
index 02e9e62cd..5c94e37cc 100644
--- a/streampark-console/streampark-console-service/src/assembly/script/upgrade/mysql/1.2.4.sql
+++ b/streampark-console/streampark-console-service/src/assembly/script/upgrade/mysql/1.2.4.sql
@@ -127,11 +127,14 @@ insert into `t_menu` values (100050, 100048, 'update', null, null, 'member:updat
insert into `t_menu` values (100051, 100048, 'delete', null, null, 'member:delete', null, '1', 1, null, now(), now());
insert into `t_menu` values (100052, 100048, 'role view', null, null, 'role:view', null, '1', 1, null, now(), now());
insert into `t_menu` values (100053, 100001, 'types', null, null, 'user:types', null, '1', 1, null, now(), now());
-insert into `t_menu` VALUES (100054, 100000, 'Variable Management', '/system/variable', 'system/variable/View', 'variable:view', 'code', '0', 1, 3, now(), now());
+insert into `t_menu` VALUES (100054, 100000, 'Variable', '/system/variable', 'system/variable/View', 'variable:view', 'code', '0', 1, 3, now(), now());
insert into `t_menu` VALUES (100055, 100054, 'add', NULL, NULL, 'variable:add', NULL, '1', 1, NULL, now(), now());
insert into `t_menu` VALUES (100056, 100054, 'update', NULL, NULL, 'variable:update', NULL, '1', 1, NULL, now(), now());
insert into `t_menu` VALUES (100057, 100054, 'delete', NULL, NULL, 'variable:delete', NULL, '1', 1, NULL, now(), now());
+update `t_menu` set order_num=4 where menu_id=100019;
+update `t_menu` set order_num=5 where menu_id=100034;
+
-- Add team related sql
create table `t_team` (
`id` bigint not null auto_increment comment 'team id',
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/VariableController.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/VariableController.java
similarity index 77%
rename from streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/VariableController.java
rename to streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/VariableController.java
index 85c7d9bd5..3a647fef2 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/VariableController.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/VariableController.java
@@ -15,13 +15,14 @@
* limitations under the License.
*/
-package org.apache.streampark.console.system.controller;
+package org.apache.streampark.console.core.controller;
+import org.apache.streampark.console.base.domain.ResponseCode;
import org.apache.streampark.console.base.domain.RestRequest;
import org.apache.streampark.console.base.domain.RestResponse;
import org.apache.streampark.console.base.exception.ApiAlertException;
-import org.apache.streampark.console.system.entity.Variable;
-import org.apache.streampark.console.system.service.VariableService;
+import org.apache.streampark.console.core.entity.Variable;
+import org.apache.streampark.console.core.service.VariableService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.extern.slf4j.Slf4j;
@@ -38,12 +39,16 @@ import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
+import java.util.regex.Pattern;
+
@Slf4j
@Validated
@RestController
@RequestMapping("variable")
public class VariableController {
+ private final String formatPattern = "^([A-Za-z])+([A-Za-z0-9._-])+$";
+
@Autowired
private VariableService variableService;
@@ -87,6 +92,11 @@ public class VariableController {
@PostMapping("check/code")
public RestResponse checkVariableCode(@RequestParam Long teamId, @NotBlank(message = "{required}") String variableCode) {
+ try {
+ this.checkVariableCodeFormat(variableCode);
+ } catch (ApiAlertException e) {
+ return RestResponse.fail(e.getMessage(), ResponseCode.CODE_FAIL_ALERT);
+ }
boolean result = this.variableService.findByVariableCode(teamId, variableCode) == null;
return RestResponse.success(result);
}
@@ -95,4 +105,13 @@ public class VariableController {
public RestResponse selectVariables(@RequestParam Long teamId) {
return RestResponse.success().data(this.variableService.findByTeamId(teamId));
}
+
+ private void checkVariableCodeFormat(String variableCode) {
+ if (variableCode.length() < 3 || variableCode.length() > 50) {
+ throw new ApiAlertException("Sorry, variable code length should be no less than 3 and no more than 50 characters.");
+ }
+ if (!Pattern.matches(formatPattern, variableCode)) {
+ throw new ApiAlertException("Sorry, variable code can only contain letters, numbers, middle bars, bottom bars and dots, and the beginning can only be letters, For example, kafka_cluster.brokers-520");
+ }
+ }
}
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/entity/Variable.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Variable.java
similarity index 97%
rename from streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/entity/Variable.java
rename to streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Variable.java
index 8082f8ce6..d78636d3a 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/entity/Variable.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Variable.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.streampark.console.system.entity;
+package org.apache.streampark.console.core.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/VariableMapper.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/VariableMapper.java
similarity index 92%
rename from streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/VariableMapper.java
rename to streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/VariableMapper.java
index f7a8c9e57..1676a8eba 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/VariableMapper.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/mapper/VariableMapper.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.streampark.console.system.mapper;
+package org.apache.streampark.console.core.mapper;
-import org.apache.streampark.console.system.entity.Variable;
+import org.apache.streampark.console.core.entity.Variable;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/VariableService.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/VariableService.java
similarity index 93%
rename from streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/VariableService.java
rename to streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/VariableService.java
index 3fcfa3dcc..292cfb3f0 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/VariableService.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/VariableService.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.streampark.console.system.service;
+package org.apache.streampark.console.core.service;
import org.apache.streampark.console.base.domain.RestRequest;
-import org.apache.streampark.console.system.entity.Variable;
+import org.apache.streampark.console.core.entity.Variable;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/VariableServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/VariableServiceImpl.java
similarity index 92%
rename from streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/VariableServiceImpl.java
rename to streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/VariableServiceImpl.java
index 491fcf3b2..10cb6f15b 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/VariableServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/VariableServiceImpl.java
@@ -15,16 +15,16 @@
* limitations under the License.
*/
-package org.apache.streampark.console.system.service.impl;
+package org.apache.streampark.console.core.service.impl;
import org.apache.streampark.console.base.domain.RestRequest;
import org.apache.streampark.console.base.exception.ApiAlertException;
import org.apache.streampark.console.base.mybatis.pager.MybatisPager;
+import org.apache.streampark.console.core.entity.Variable;
+import org.apache.streampark.console.core.mapper.VariableMapper;
import org.apache.streampark.console.core.service.ApplicationService;
import org.apache.streampark.console.core.service.CommonService;
-import org.apache.streampark.console.system.entity.Variable;
-import org.apache.streampark.console.system.mapper.VariableMapper;
-import org.apache.streampark.console.system.service.VariableService;
+import org.apache.streampark.console.core.service.VariableService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MenuServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MenuServiceImpl.java
index ac92129d5..e923e8023 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MenuServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MenuServiceImpl.java
@@ -70,7 +70,7 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
.orElseThrow(() -> new IllegalArgumentException(String.format("The username [%s] not found", username)));
// Admin has the permission for all menus.
if (UserType.ADMIN.equals(user.getUserType())) {
- return this.list(new LambdaQueryWrapper<Menu>().eq(Menu::getType, "0"));
+ return this.list(new LambdaQueryWrapper<Menu>().eq(Menu::getType, "0").orderByAsc(Menu::getOrderNum));
}
return this.baseMapper.findUserMenus(username);
}
diff --git a/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql b/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql
index 22abea803..449af593c 100644
--- a/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql
+++ b/streampark-console/streampark-console-service/src/main/resources/db/data-h2.sql
@@ -64,7 +64,7 @@ insert into `t_menu` values (100015, 100013, 'Application', '/flink/app', 'flink
insert into `t_menu` values (100016, 100013, 'Add Application', '/flink/app/add', 'flink/app/Add', 'app:create', '', '0', 0, null, now(), now());
insert into `t_menu` values (100017, 100013, 'Add Project', '/flink/project/add', 'flink/project/Add', 'project:create', '', '0', 0, null, now(), now());
insert into `t_menu` values (100018, 100013, 'App Detail', '/flink/app/detail', 'flink/app/Detail', 'app:detail', '', '0', 0, null, now(), now());
-insert into `t_menu` values (100019, 100013, 'Notebook', '/flink/notebook/view', 'flink/notebook/Submit', 'notebook:submit', 'read', '0', 1, 3, now(), now());
+insert into `t_menu` values (100019, 100013, 'Notebook', '/flink/notebook/view', 'flink/notebook/Submit', 'notebook:submit', 'read', '0', 1, 4, now(), now());
insert into `t_menu` values (100020, 100013, 'Edit Flink App', '/flink/app/edit_flink', 'flink/app/EditFlink', 'app:update', '', '0', 0, null, now(), now());
insert into `t_menu` values (100021, 100013, 'Edit StreamPark App', '/flink/app/edit_streampark', 'flink/app/EditStreamPark', 'app:update', '', '0', 0, null, now(), now());
insert into `t_menu` values (100022, 100014, 'build', null, null, 'project:build', null, '1', 1, null, now(), now());
@@ -79,7 +79,7 @@ insert into `t_menu` values (100030, 100015, 'backup rollback', null, null, 'bac
insert into `t_menu` values (100031, 100015, 'backup delete', null, null, 'backup:delete', null, '1', 1, null, now(), now());
insert into `t_menu` values (100032, 100015, 'conf delete', null, null, 'conf:delete', null, '1', 1, null, now(), now());
insert into `t_menu` values (100033, 100015, 'flame Graph', null, null, 'app:flameGraph', null, '1', 1, null, now(), now());
-insert into `t_menu` values (100034, 100013, 'Setting', '/flink/setting', 'flink/setting/View', 'setting:view', 'setting', '0', 1, 4, now(), now());
+insert into `t_menu` values (100034, 100013, 'Setting', '/flink/setting', 'flink/setting/View', 'setting:view', 'setting', '0', 1, 5, now(), now());
insert into `t_menu` values (100035, 100034, 'Setting Update', null, null, 'setting:update', null, '1', 1, null, now(), now());
insert into `t_menu` values (100036, 100013, 'Edit Project', '/flink/project/edit', 'flink/project/Edit', 'project:update', null, '0', 0, null, now(), now());
insert into `t_menu` values (100037, 100015, 'delete', null, null, 'app:delete', null, '1', 1, null, now(), now());
@@ -99,7 +99,7 @@ insert into `t_menu` values (100050, 100048, 'update', null, null, 'member:updat
insert into `t_menu` values (100051, 100048, 'delete', null, null, 'member:delete', null, '1', 1, null, now(), now());
insert into `t_menu` values (100052, 100048, 'role view', null, null, 'role:view', null, '1', 1, null, now(), now());
insert into `t_menu` values (100053, 100001, 'types', null, null, 'user:types', null, '1', 1, null, now(), now());
-insert into `t_menu` VALUES (100054, 100000, 'Variable Management', '/system/variable', 'system/variable/View', 'variable:view', 'code', '0', 1, 3, now(), now());
+insert into `t_menu` VALUES (100054, 100013, 'Variable', '/system/variable', 'system/variable/View', 'variable:view', 'code', '0', 1, 3, now(), now());
insert into `t_menu` VALUES (100055, 100054, 'add', NULL, NULL, 'variable:add', NULL, '1', 1, NULL, now(), now());
insert into `t_menu` VALUES (100056, 100054, 'update', NULL, NULL, 'variable:update', NULL, '1', 1, NULL, now(), now());
insert into `t_menu` VALUES (100057, 100054, 'delete', NULL, NULL, 'variable:delete', NULL, '1', 1, NULL, now(), now());
diff --git a/streampark-console/streampark-console-service/src/main/resources/mapper/system/VariableMapper.xml b/streampark-console/streampark-console-service/src/main/resources/mapper/core/VariableMapper.xml
similarity index 95%
rename from streampark-console/streampark-console-service/src/main/resources/mapper/system/VariableMapper.xml
rename to streampark-console/streampark-console-service/src/main/resources/mapper/core/VariableMapper.xml
index f6aae7363..397731bfb 100644
--- a/streampark-console/streampark-console-service/src/main/resources/mapper/system/VariableMapper.xml
+++ b/streampark-console/streampark-console-service/src/main/resources/mapper/core/VariableMapper.xml
@@ -18,8 +18,8 @@
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.streampark.console.system.mapper.VariableMapper">
- <resultMap id="VariableMap" type="org.apache.streampark.console.system.entity.Variable">
+<mapper namespace="org.apache.streampark.console.core.mapper.VariableMapper">
+ <resultMap id="VariableMap" type="org.apache.streampark.console.core.entity.Variable">
<result column="id" jdbcType="BIGINT" property="id"/>
<result column="variable_code" jdbcType="VARCHAR" property="variableCode"/>
<result column="variable_value" jdbcType="VARCHAR" property="variableValue"/>
diff --git a/streampark-console/streampark-console-webapp/src/views/system/variable/Add.vue b/streampark-console/streampark-console-webapp/src/views/system/variable/Add.vue
index da9f081da..d4700c14c 100644
--- a/streampark-console/streampark-console-webapp/src/views/system/variable/Add.vue
+++ b/streampark-console/streampark-console-webapp/src/views/system/variable/Add.vue
@@ -39,7 +39,7 @@
:help="help">
<a-input
@blur="handleVariableCodeBlur"
- v-decorator="['variableCode', {rules: [{ required: true, max: 50, message: 'please enter Variable Code'}]}]" />
+ v-decorator="['variableCode', {rules: [{ required: true, message: 'please enter Variable Code'}]}]" />
</a-form-item>
<a-form-item
label="Variable Value"
@@ -127,15 +127,21 @@ export default {
handleVariableCodeBlur (e) {
const variableCode = (e && e.target.value) || ''
if (variableCode.length) {
- if (variableCode.length > 100) {
+ this.validateStatus = 'validating'
+ if (variableCode.length < 3 || variableCode.length > 50) {
this.validateStatus = 'error'
- this.help = 'Variable Code should not be longer than 100 characters'
+ this.help = 'Sorry, variable code length should be no less than 3 and no more than 50 characters.'
+ } else if (!new RegExp(/^([A-Za-z])+([A-Za-z0-9._-])+$/).test(variableCode)) {
+ this.validateStatus = 'error'
+ this.help = 'Sorry, variable code can only contain letters, numbers, middle bars, bottom bars and dots, and the beginning can only be letters, For example, kafka_cluster.brokers-520'
} else {
- this.validateStatus = 'validating'
checkVariableCode({
variableCode: variableCode
}).then((resp) => {
- if (resp.data) {
+ if (resp.status !== 'success') {
+ this.validateStatus = 'error'
+ this.help = resp.message
+ } else if (resp.data) {
this.validateStatus = 'success'
this.help = ''
} else {