You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampark.apache.org by kr...@apache.org on 2022/11/06 15:44:25 UTC

[incubator-streampark] branch dev updated: [bug] system menu display bug fixed (#1972)

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

kriszu 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 dc738175c [bug] system menu display bug fixed (#1972)
dc738175c is described below

commit dc738175c24d288b61e33d98cd78923bcf55d249
Author: benjobs <be...@apache.org>
AuthorDate: Sun Nov 6 23:44:18 2022 +0800

    [bug] system menu display bug fixed (#1972)
---
 .idea/icon.png                                     | Bin 33648 -> 0 bytes
 script/update_version.py                           |  92 ---------------
 .../src/views/system/variable/View.vue             |   2 +-
 .../system/variable/components/VariableInfo.vue    |   2 +-
 .../src/assembly/script/data/mysql-data.sql        | 108 ++++++++---------
 .../src/assembly/script/data/pgsql-data.sql        | 128 +++++++++++----------
 .../src/assembly/script/upgrade/mysql/1.2.4.sql    |  76 ++++++++----
 .../console/base/domain/router/RouterTree.java     |  22 ++++
 .../util/{TreeUtils.java => VueRouterUtils.java}   |   8 +-
 .../core/controller/VariableController.java        |   4 +-
 .../console/system/controller/UserController.java  |   4 -
 .../console/system/mapper/MenuMapper.java          |   6 -
 .../console/system/service/MenuService.java        |   2 -
 .../system/service/impl/MenuServiceImpl.java       |  76 +++---------
 .../system/service/impl/UserServiceImpl.java       |  20 +---
 .../src/main/resources/db/data-h2.sql              |  52 ++++-----
 .../main/resources/mapper/system/MenuMapper.xml    |  10 +-
 17 files changed, 251 insertions(+), 361 deletions(-)

diff --git a/.idea/icon.png b/.idea/icon.png
deleted file mode 100644
index 1bb845979..000000000
Binary files a/.idea/icon.png and /dev/null differ
diff --git a/script/update_version.py b/script/update_version.py
deleted file mode 100644
index 559ffc78f..000000000
--- a/script/update_version.py
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/python
-# -*- coding: UTF-8 -*-
-
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#    https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# update StreamPark project version, requires python-3.8+
-# use case: python3 update_ver.py <expect_ver> <project_path>
-# example: python3 update_ver.py 1.2.1
-
-import sys
-import os
-import xml.etree.ElementTree as ET
-from os.path import join as os_path
-import pprint
-
-expect_ver = '1.2.1'
-project_path = '../'
-
-if len(sys.argv) >= 2:
-    expect_ver = sys.argv[1]
-if len(sys.argv) >= 3:
-    project_path = sys.argv[2]
-
-# find all pom.xml in project
-poms = []
-for path, dirs, files in os.walk(project_path):
-    if path == os_path('.git'):
-        continue
-    for file in files:
-        if file != 'pom.xml':
-            continue
-        poms.append(os_path(path, file))
-
-ns = '{http://maven.apache.org/POM/4.0.0}'
-pre_version = ''
-# update the version in pom.xml
-for pom in poms:
-    tree = ET.parse(pom, parser=ET.XMLParser(target=ET.TreeBuilder(insert_comments=True)))
-    root = tree.getroot()
-    group_id = root.find(ns + 'groupId')
-    if group_id is not None and group_id.text != 'org.apache.streampark':
-        continue
-    version_id = root.find(ns + 'version')
-    if version_id is not None:
-        pre_version = version_id.text
-        version_id.text = expect_ver
-    parent = root.find(ns + 'parent')
-    if parent is not None:
-        if parent.find(ns + 'groupId').text == 'org.apache.streampark':
-            parent_version = parent.find(ns + 'version')
-            if parent_version is not None:
-                parent_version.text = expect_ver
-    ET.register_namespace('', 'http://maven.apache.org/POM/4.0.0')
-    # no use the xml_declaration content create by ET like <?xml version='1.0' encoding='utf-8'?>
-    tree.write(pom, encoding='UTF-8', xml_declaration=False)
-    with open(pom, 'r+') as f:
-        c = f.read()
-        f.seek(0, 0)
-        f.write('<?xml version="1.0" encoding="UTF-8"?>\n' + c)
-    print('update version in {} to {}'.format(pom, expect_ver))
-
-# update version in print log content
-config_const_file = os_path(project_path, 'streampark-common/src/main/scala/org/apache/streampark/common/conf/ConfigConst.scala')
-f_content = []
-with open(config_const_file, 'r') as f:
-    f_content = f.readlines()
-    for i in range(len(f_content)):
-        line = f_content[i]
-        if line.strip().startswith('println("       Ver'):
-            f_content[i] = line.replace(pre_version, expect_ver)
-            break
-
-with open(config_const_file, 'w') as f:
-    f.writelines(f_content)
-print('update version in {} to {}'.format(config_const_file, expect_ver))
-
-print('done :)')
diff --git a/streampark-console/streampark-console-newui/src/views/system/variable/View.vue b/streampark-console/streampark-console-newui/src/views/system/variable/View.vue
index 380f48fcb..135d030bf 100644
--- a/streampark-console/streampark-console-newui/src/views/system/variable/View.vue
+++ b/streampark-console/streampark-console-newui/src/views/system/variable/View.vue
@@ -42,7 +42,7 @@
               {
                 icon: 'icon-park-outline:mind-mapping',
                 tooltip: 'depend apps',
-                auth: 'variable:dependApps',
+                auth: 'variable:depend_apps',
                 onClick: () =>
                   router.push('/system/variable/depend_apps?id=' + record.variableCode),
               },
diff --git a/streampark-console/streampark-console-newui/src/views/system/variable/components/VariableInfo.vue b/streampark-console/streampark-console-newui/src/views/system/variable/components/VariableInfo.vue
index f2eb3652c..9a04b3253 100644
--- a/streampark-console/streampark-console-newui/src/views/system/variable/components/VariableInfo.vue
+++ b/streampark-console/streampark-console-newui/src/views/system/variable/components/VariableInfo.vue
@@ -86,7 +86,7 @@
       render(value, data) {
         const renderIcon = () => {
           // need desensitization
-          if (data.desensitization && hasPermission('variable:showOriginal')) {
+          if (data.desensitization && hasPermission('variable:show_original')) {
             return h(Icon, {
               icon: `ant-design:${showVariableDetail.value ? 'eye' : 'eye-invisible'}-outlined`,
               color: showVariableDetail.value ? '#477de9' : '',
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 6af940568..cb4e67753 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
@@ -50,66 +50,66 @@ insert into `t_flink_sql` values (100000, 100000, 'eNqlUUtPhDAQvu+vmFs1AYIHT5s94
 -- ----------------------------
 -- Records of t_menu
 -- ----------------------------
-insert into `t_menu` values (100000, 0, 'System', '/system', 'PageView', null, 'desktop', 0, 1, 1, now(), now());
-insert into `t_menu` values (100001, 100000, 'User Management', '/system/user', 'system/user/User', 'user:view', 'user', 0, 1, 1, now(), now());
-insert into `t_menu` values (100002, 100000, 'Role Management', '/system/role', 'system/role/Role', 'role:view', 'smile', 0, 1, 2, now(), now());
-insert into `t_menu` values (100003, 100000, 'Router Management', '/system/menu', 'system/menu/Menu', 'menu:view', 'bars', 0, 1, 3, now(), now());
-insert into `t_menu` values (100004, 100001, 'add', null, null, 'user:add', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100005, 100001, 'update', null, null, 'user:update', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100006, 100001, 'delete', null, null, 'user:delete', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100007, 100002, 'add', null, null, 'role:add', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100008, 100002, 'update', null, null, 'role:update', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100009, 100002, 'delete', null, null, 'role:delete', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100010, 100003, 'add', null, null, 'menu:add', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100011, 100003, 'update', null, null, 'menu:update', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100012, 100001, 'reset', null, null, 'user:reset', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100013, 0, 'StreamPark', '/flink', 'PageView', null, 'build', 0, 1, 2, now(), now());
-insert into `t_menu` values (100014, 100013, 'Project', '/flink/project', 'flink/project/View', 'project:view', 'github', 0, 1, 1, now(), now());
-insert into `t_menu` values (100015, 100013, 'Application', '/flink/app', 'flink/app/View', 'app:view', 'mobile', 0, 1, 2, now(), now());
-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, 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());
-insert into `t_menu` values (100023, 100014, 'delete', null, null, 'project:delete', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100024, 100015, 'mapping', null, null, 'app:mapping', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100025, 100015, 'launch', null, null, 'app:launch', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100026, 100015, 'start', null, null, 'app:start', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100027, 100015, 'clean', null, null, 'app:clean', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100028, 100015, 'cancel', null, null, 'app:cancel', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100029, 100015, 'savepoint delete', null, null, 'savepoint:delete', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100030, 100015, 'backup rollback', null, null, 'backup:rollback', null, 1, 1, null, now(), now());
-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, 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());
-insert into `t_menu` values (100038, 100000, 'Token Management', '/system/token', 'system/token/Token', 'token:view', 'lock', 0, 1, 1.0, now(), now());
-insert into `t_menu` values (100039, 100038, 'add', null, null, 'token:add', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100040, 100038, 'delete', null, null, 'token:delete', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100041, 100013, 'Add Cluster', '/flink/setting/add_cluster', 'flink/setting/AddCluster', 'cluster:create', '', 0, 0, null, now(), now());
-insert into `t_menu` values (100042, 100013, 'Edit Cluster', '/flink/setting/edit_cluster', 'flink/setting/EditCluster', 'cluster:update', '', 0, 0, null, now(), now());
-insert into `t_menu` values (100043, 100015, 'copy', null, null, 'app:copy', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100044, 100000, 'Team Management', '/system/team', 'system/team/Team', 'team:view', 'team', '0', 1, 2, now(), now());
+insert into `t_menu` values (100000, 0, 'System', '/system', 'PageView', null, 'desktop', '0', 1, 1, now(), now());
+insert into `t_menu` values (100001, 100000, 'User Management', '/system/user', 'system/user/User', null, 'user', '0', 1, 1, now(), now());
+insert into `t_menu` values (100002, 100000, 'Role Management', '/system/role', 'system/role/Role', null, 'smile', '0', 1, 2, now(), now());
+insert into `t_menu` values (100003, 100000, 'Menu Management', '/system/menu', 'system/menu/Menu', null, 'bars', '0', 1, 3, now(), now());
+insert into `t_menu` values (100004, 100001, 'add', null, null, 'user:add', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100005, 100001, 'update', null, null, 'user:update', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100006, 100001, 'delete', null, null, 'user:delete', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100007, 100002, 'add', null, null, 'role:add', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100008, 100002, 'update', null, null, 'role:update', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100009, 100002, 'delete', null, null, 'role:delete', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100010, 100003, 'add', null, null, 'menu:add', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100011, 100003, 'update', null, null, 'menu:update', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100012, 100001, 'reset', null, null, 'user:reset', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100013, 0, 'StreamPark', '/flink', 'PageView', null, 'build', '0', 1, 2, now(), now());
+insert into `t_menu` values (100014, 100013, 'Project', '/flink/project', 'flink/project/View', null, 'github', '0', 1, 1, now(), now());
+insert into `t_menu` values (100015, 100013, 'Application', '/flink/app', 'flink/app/View', null, 'mobile', '0', 1, 2, now(), now());
+insert into `t_menu` values (100016, 100015, 'add', '/flink/app/add', 'flink/app/Add', 'app:create', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100017, 100014, 'add', '/flink/project/add', 'flink/project/Add', 'project:create', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100018, 100015, 'detail app', '/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, 4, now(), now());
+insert into `t_menu` values (100020, 100015, 'edit flink', '/flink/app/edit_flink', 'flink/app/EditFlink', 'app:update', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100021, 100015, 'edit streampark', '/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());
+insert into `t_menu` values (100023, 100014, 'delete', null, null, 'project:delete', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100024, 100015, 'mapping', null, null, 'app:mapping', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100025, 100015, 'launch', null, null, 'app:launch', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100026, 100015, 'start', null, null, 'app:start', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100027, 100015, 'clean', null, null, 'app:clean', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100028, 100015, 'cancel', null, null, 'app:cancel', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100029, 100015, 'savepoint delete', null, null, 'savepoint:delete', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100030, 100015, 'backup rollback', null, null, 'backup:rollback', null, '1', 1, null, now(), now());
+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', null, '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, 100014, 'edit', '/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());
+insert into `t_menu` values (100038, 100000, 'Token Management', '/system/token', 'system/token/Token', null, 'lock', '0', 1, 1, now(), now());
+insert into `t_menu` values (100039, 100038, 'add', null, null, 'token:add', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100040, 100038, 'delete', null, null, 'token:delete', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100041, 100034, 'add cluster', '/flink/setting/add_cluster', 'flink/setting/AddCluster', 'cluster:create', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100042, 100034, 'edit cluster', '/flink/setting/edit_cluster', 'flink/setting/EditCluster', 'cluster:update', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100043, 100015, 'copy', null, null, 'app:copy', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100044, 100000, 'Team Management', '/system/team', 'system/team/Team', null, 'team', '0', 1, 2, now(), now());
 insert into `t_menu` values (100045, 100044, 'add', null, null, 'team:add', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100046, 100044, 'update', null, null, 'team:update', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100047, 100044, 'delete', null, null, 'team:delete', null, '1', 1, null, now(), now());
-insert into `t_menu` values (100048, 100000, 'Member Management', '/system/member', 'system/member/Member', 'member:view', 'usergroup-add', '0', 1, 2, now(), now());
+insert into `t_menu` values (100048, 100000, 'Member Management', '/system/member', 'system/member/Member', null, 'usergroup-add', '0', 1, 2, now(), now());
 insert into `t_menu` values (100049, 100048, 'add', null, null, 'member:add', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100050, 100048, 'update', null, null, 'member:update', null, '1', 1, null, now(), now());
 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, 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());
-insert into `t_menu` VALUES (100058, 100013, 'Depend Apps', '/system/variable/depend_apps', 'system/variable/DependApps', 'variable:dependApps', '', '0', 0, NULL, now(), now());
-insert into `t_menu` VALUES (100059, 100054, 'Show Original', NULL, NULL, 'variable:showOriginal', NULL, '1', 1, NULL, now(), now());
+insert into `t_menu` values (100054, 100013, 'Variable', '/system/variable', 'system/variable/View', null, '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());
+insert into `t_menu` values (100058, 100054, 'depend apps', '/system/variable/depend_apps', 'system/variable/DependApps', 'variable:depend_apps', '', '0', 0, NULL, now(), now());
+insert into `t_menu` values (100059, 100054, 'show original', NULL, NULL, 'variable:show_original', NULL, '1', 1, NULL, now(), now());
 insert into `t_menu` values (100060, 100001, 'view', null, null, 'user:view', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100061, 100038, 'view', null, null, 'token:view', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100062, 100002, 'view', null, null, 'role:view', null, '1', 1, null, now(), now());
@@ -118,9 +118,9 @@ insert into `t_menu` values (100064, 100048, 'view', null, null, 'member:view',
 insert into `t_menu` values (100065, 100003, 'view', null, null, 'menu:view', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100066, 100014, 'view', null, null, 'project:view', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100067, 100015, 'view', null, null, 'app:view', null, '1', 1, null, now(), now());
-insert into `t_menu` VALUES (100068, 100054, 'view', NULL, NULL, 'variable:view', NULL, '1', 1, null, now(), now());
+insert into `t_menu` values (100068, 100054, 'view', NULL, NULL, 'variable:view', NULL, '1', 1, null, now(), now());
 insert into `t_menu` values (100069, 100034, 'view', null, null, 'setting:view', null, '1', 1, null, now(), now());
-insert into `t_menu` VALUES (100070, 100054, 'Depend Apps view', null, null, 'variable:dependApps', null, '1', 1, NULL, now(), now());
+insert into `t_menu` values (100070, 100054, 'view', null, null, 'variable:depend_apps', null, '1', 1, NULL, now(), now());
 
 -- ----------------------------
 -- Records of t_role
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 2d6a86e5e..55388c5a4 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
@@ -46,77 +46,79 @@ insert into "public"."t_flink_sql" values (100000, 100000, 'eNqlUUtPhDAQvu+vmFs1
 -- ----------------------------
 -- Records of t_menu
 -- ----------------------------
-insert into "public"."t_menu" values (100000, 0, 'System', '/system', 'PageView', null, 'desktop', 0, true, 1, now(), now());
-insert into "public"."t_menu" values (100001, 100000, 'User Management', '/system/user', 'system/user/User', 'user:view', 'user', 0, true, 1, now(), now());
-insert into "public"."t_menu" values (100002, 100000, 'Role Management', '/system/role', 'system/role/Role', 'role:view', 'smile', 0, true, 2, now(), now());
-insert into "public"."t_menu" values (100003, 100000, 'Router Management', '/system/menu', 'system/menu/Menu', 'menu:view', 'bars', 0, true, 3, now(), now());
-insert into "public"."t_menu" values (100004, 100001, 'add', null, null, 'user:add', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100005, 100001, 'update', null, null, 'user:update', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100006, 100001, 'delete', null, null, 'user:delete', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100007, 100002, 'add', null, null, 'role:add', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100008, 100002, 'update', null, null, 'role:update', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100009, 100002, 'delete', null, null, 'role:delete', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100010, 100003, 'add', null, null, 'menu:add', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100011, 100003, 'update', null, null, 'menu:update', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100012, 100001, 'reset', null, null, 'user:reset', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100013, 0, 'StreamPark', '/flink', 'PageView', null, 'build', 0, true, 2, now(), now());
-insert into "public"."t_menu" values (100014, 100013, 'Project', '/flink/project', 'flink/project/View', 'project:view', 'github', 0, true, 1, now(), now());
-insert into "public"."t_menu" values (100015, 100013, 'Application', '/flink/app', 'flink/app/View', 'app:view', 'mobile', 0, true, 2, now(), now());
-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, 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());
-insert into "public"."t_menu" values (100023, 100014, 'delete', null, null, 'project:delete', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100024, 100015, 'mapping', null, null, 'app:mapping', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100025, 100015, 'launch', null, null, 'app:launch', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100026, 100015, 'start', null, null, 'app:start', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100027, 100015, 'clean', null, null, 'app:clean', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100028, 100015, 'cancel', null, null, 'app:cancel', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100029, 100015, 'savepoint delete', null, null, 'savepoint:delete', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100030, 100015, 'backup rollback', null, null, 'backup:rollback', null, 1, true, null, now(), now());
-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, 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());
-insert into "public"."t_menu" values (100038, 100000, 'Token Management', '/system/token', 'system/token/Token', 'token:view', 'lock', 0, true, 1, now(), now());
-insert into "public"."t_menu" values (100039, 100038, 'add', null, null, 'token:add', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100040, 100038, 'delete', null, null, 'token:delete', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100041, 100013, 'Add Cluster', '/flink/setting/add_cluster', 'flink/setting/AddCluster', 'cluster:create', '', 0, false, null, now(), now());
-insert into "public"."t_menu" values (100042, 100013, 'Edit Cluster', '/flink/setting/edit_cluster', 'flink/setting/EditCluster', 'cluster:update', '', 0, false, null, now(), now());
-insert into "public"."t_menu" values (100043, 100015, 'copy', null, null, 'app:copy', null, 1, true, null, now(), now());
-insert into "public"."t_menu" values (100044, 100000, 'Team Management', '/system/team', 'system/team/Team', 'team:view', 'team', '0', 1, 2, now(), now());
+insert into "public"."t_menu" values (100000, 0, 'System', '/system', 'PageView', null, 'desktop', '0', 1, 1, now(), now());
+insert into "public"."t_menu" values (100001, 100000, 'User Management', '/system/user', 'system/user/User', null, 'user', '0', 1, 1, now(), now());
+insert into "public"."t_menu" values (100002, 100000, 'Role Management', '/system/role', 'system/role/Role', null, 'smile', '0', 1, 2, now(), now());
+insert into "public"."t_menu" values (100003, 100000, 'Menu Management', '/system/menu', 'system/menu/Menu', null, 'bars', '0', 1, 3, now(), now());
+insert into "public"."t_menu" values (100004, 100001, 'add', null, null, 'user:add', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100005, 100001, 'update', null, null, 'user:update', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100006, 100001, 'delete', null, null, 'user:delete', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100007, 100002, 'add', null, null, 'role:add', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100008, 100002, 'update', null, null, 'role:update', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100009, 100002, 'delete', null, null, 'role:delete', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100010, 100003, 'add', null, null, 'menu:add', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100011, 100003, 'update', null, null, 'menu:update', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100012, 100001, 'reset', null, null, 'user:reset', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100013, 0, 'StreamPark', '/flink', 'PageView', null, 'build', '0', 1, 2, now(), now());
+insert into "public"."t_menu" values (100014, 100013, 'Project', '/flink/project', 'flink/project/View', null, 'github', '0', 1, 1, now(), now());
+insert into "public"."t_menu" values (100015, 100013, 'Application', '/flink/app', 'flink/app/View', null, 'mobile', '0', 1, 2, now(), now());
+insert into "public"."t_menu" values (100016, 100015, 'add', '/flink/app/add', 'flink/app/Add', 'app:create', '', '0', 0, null, now(), now());
+insert into "public"."t_menu" values (100017, 100014, 'add', '/flink/project/add', 'flink/project/Add', 'project:create', '', '0', 0, null, now(), now());
+insert into "public"."t_menu" values (100018, 100015, 'detail app', '/flink/app/detail', 'flink/app/Detail', 'app:detail', '', '0', 0, null, now(), now());
+insert into "public"."t_menu" values (100019, 100013, 'Notebook', '/flink/notebook/view', 'flink/notebook/Submit', 'notebook:submit', 'read', '0', 1, 4, now(), now());
+insert into "public"."t_menu" values (100020, 100015, 'edit flink', '/flink/app/edit_flink', 'flink/app/EditFlink', 'app:update', '', '0', 0, null, now(), now());
+insert into "public"."t_menu" values (100021, 100015, 'edit streampark', '/flink/app/edit_streampark', 'flink/app/EditStreamPark', 'app:update', '', '0', 0, null, now(), now());
+insert into "public"."t_menu" values (100022, 100014, 'build', null, null, 'project:build', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100023, 100014, 'delete', null, null, 'project:delete', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100024, 100015, 'mapping', null, null, 'app:mapping', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100025, 100015, 'launch', null, null, 'app:launch', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100026, 100015, 'start', null, null, 'app:start', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100027, 100015, 'clean', null, null, 'app:clean', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100028, 100015, 'cancel', null, null, 'app:cancel', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100029, 100015, 'savepoint delete', null, null, 'savepoint:delete', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100030, 100015, 'backup rollback', null, null, 'backup:rollback', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100031, 100015, 'backup delete', null, null, 'backup:delete', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100032, 100015, 'conf delete', null, null, 'conf:delete', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100033, 100015, 'flame Graph', null, null, 'app:flameGraph', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100034, 100013, 'Setting', '/flink/setting', 'flink/setting/View', null, 'setting', '0', 1, 5, now(), now());
+insert into "public"."t_menu" values (100035, 100034, 'setting update', null, null, 'setting:update', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100036, 100014, 'edit', '/flink/project/edit', 'flink/project/Edit', 'project:update', null, '0', 0, null, now(), now());
+insert into "public"."t_menu" values (100037, 100015, 'delete', null, null, 'app:delete', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100038, 100000, 'Token Management', '/system/token', 'system/token/Token', null, 'lock', '0', 1, 1, now(), now());
+insert into "public"."t_menu" values (100039, 100038, 'add', null, null, 'token:add', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100040, 100038, 'delete', null, null, 'token:delete', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100041, 100034, 'add cluster', '/flink/setting/add_cluster', 'flink/setting/AddCluster', 'cluster:create', '', '0', 0, null, now(), now());
+insert into "public"."t_menu" values (100042, 100034, 'edit cluster', '/flink/setting/edit_cluster', 'flink/setting/EditCluster', 'cluster:update', '', '0', 0, null, now(), now());
+insert into "public"."t_menu" values (100043, 100015, 'copy', null, null, 'app:copy', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100044, 100000, 'Team Management', '/system/team', 'system/team/Team', null, 'team', '0', 1, 2, now(), now());
 insert into "public"."t_menu" values (100045, 100044, 'add', null, null, 'team:add', null, '1', 1, null, now(), now());
 insert into "public"."t_menu" values (100046, 100044, 'update', null, null, 'team:update', null, '1', 1, null, now(), now());
 insert into "public"."t_menu" values (100047, 100044, 'delete', null, null, 'team:delete', null, '1', 1, null, now(), now());
-insert into "public"."t_menu" values (100048, 100000, 'Member Management', '/system/member', 'system/member/Member', 'member:view', 'usergroup-add', '0', 1, 2, now(), now());
+insert into "public"."t_menu" values (100048, 100000, 'Member Management', '/system/member', 'system/member/Member', null, 'usergroup-add', '0', 1, 2, now(), now());
 insert into "public"."t_menu" values (100049, 100048, 'add', null, null, 'member:add', null, '1', 1, null, now(), now());
 insert into "public"."t_menu" values (100050, 100048, 'update', null, null, 'member:update', null, '1', 1, null, now(), now());
 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, 100013, '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());
-insert into "public"."t_menu" VALUES (100058, 100013, 'Depend Apps', '/system/variable/depend_apps', 'system/variable/DependApps', 'variable:dependApps', '', '0', 0, NULL, now(), now());
-insert into "public"."t_menu" VALUES (100059, 100054, 'Show Original', NULL, NULL, 'variable:showOriginal', NULL, '1', 1, NULL, now(), now());
-insert into "public"."t_menu" VALUES (100060, 100001, 'view', null, null, 'user:view', null, '1', 1, null, now(), now());
-insert into "public"."t_menu" VALUES (100061, 100038, 'view', null, null, 'token:view', null, '1', 1, null, now(), now());
-insert into "public"."t_menu" VALUES (100062, 100002, 'view', null, null, 'role:view', null, '1', 1, null, now(), now());
-insert into "public"."t_menu" VALUES (100063, 100044, 'view', null, null, 'team:view', null, '1', 1, null, now(), now());
-insert into "public"."t_menu" VALUES (100064, 100048, 'view', null, null, 'member:view', null, '1', 1, null, now(), now());
-insert into "public"."t_menu" VALUES (100065, 100003, 'view', null, null, 'menu:view', null, '1', 1, null, now(), now());
-insert into "public"."t_menu" VALUES (100066, 100014, 'view', null, null, 'project:view', null, '1', 1, null, now(), now());
-insert into "public"."t_menu" VALUES (100067, 100015, 'view', null, null, 'app:view', null, '1', 1, null, now(), now());
-insert into "public"."t_menu" VALUES (100068, 100054, 'view', NULL, NULL, 'variable:view', NULL, '1', 1, null, now(), now());
-insert into "public"."t_menu" VALUES (100069, 100034, 'view', null, null, 'setting:view', null, '1', 1, null, now(), now());
-insert into "public"."t_menu" VALUES (100070, 100054, 'Depend Apps view', null, null, 'variable:dependApps', null, '1', 1, NULL, now(), now());
+insert into "public"."t_menu" values (100054, 100013, 'Variable', '/system/variable', 'system/variable/View', null, '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());
+insert into "public"."t_menu" values (100058, 100054, 'depend apps', '/system/variable/depend_apps', 'system/variable/DependApps', 'variable:depend_apps', '', '0', 0, NULL, now(), now());
+insert into "public"."t_menu" values (100059, 100054, 'show original', NULL, NULL, 'variable:show_original', NULL, '1', 1, NULL, now(), now());
+insert into "public"."t_menu" values (100060, 100001, 'view', null, null, 'user:view', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100061, 100038, 'view', null, null, 'token:view', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100062, 100002, 'view', null, null, 'role:view', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100063, 100044, 'view', null, null, 'team:view', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100064, 100048, 'view', null, null, 'member:view', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100065, 100003, 'view', null, null, 'menu:view', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100066, 100014, 'view', null, null, 'project:view', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100067, 100015, 'view', null, null, 'app:view', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100068, 100054, 'view', NULL, NULL, 'variable:view', NULL, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100069, 100034, 'view', null, null, 'setting:view', null, '1', 1, null, now(), now());
+insert into "public"."t_menu" values (100070, 100054, 'view', null, null, 'variable:depend_apps', null, '1', 1, NULL, now(), now());
+
+
 
 -- ----------------------------
 -- Records of t_role
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 c3a10b294..74e2dd674 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
@@ -94,7 +94,6 @@ alter table `t_flink_savepoint` add column `chk_id` bigint after `app_id`;
 
 -- change create_time field and modify_time field
 update `t_access_token` set `modify_time` = current_timestamp where `modify_time` is null;
-update `t_menu` set `modify_time` = current_timestamp where `modify_time` is null;
 update `t_role` set `modify_time` = current_timestamp where `modify_time` is null;
 update `t_user` set `modify_time` = current_timestamp where `modify_time` is null;
 
@@ -118,23 +117,67 @@ alter table `t_role` modify `modify_time` datetime not null default current_time
 alter table `t_user` modify `modify_time` datetime not null default current_timestamp on update current_timestamp;
 
 -- add new modules to the menu
-insert into `t_menu` values (100043, 100015, 'copy', null, null, 'app:copy', null, 1, 1, null, now(), now());
-insert into `t_menu` values (100044, 100000, 'Team Management', '/system/team', 'system/team/Team', 'team:view', 'team', '0', 1, 2, now(), now());
+delete from `t_menu`;
+insert into `t_menu` values (100000, 0, 'System', '/system', 'PageView', null, 'desktop', '0', 1, 1, now(), now());
+insert into `t_menu` values (100001, 100000, 'User Management', '/system/user', 'system/user/User', null, 'user', '0', 1, 1, now(), now());
+insert into `t_menu` values (100002, 100000, 'Role Management', '/system/role', 'system/role/Role', null, 'smile', '0', 1, 2, now(), now());
+insert into `t_menu` values (100003, 100000, 'Menu Management', '/system/menu', 'system/menu/Menu', null, 'bars', '0', 1, 3, now(), now());
+insert into `t_menu` values (100004, 100001, 'add', null, null, 'user:add', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100005, 100001, 'update', null, null, 'user:update', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100006, 100001, 'delete', null, null, 'user:delete', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100007, 100002, 'add', null, null, 'role:add', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100008, 100002, 'update', null, null, 'role:update', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100009, 100002, 'delete', null, null, 'role:delete', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100010, 100003, 'add', null, null, 'menu:add', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100011, 100003, 'update', null, null, 'menu:update', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100012, 100001, 'reset', null, null, 'user:reset', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100013, 0, 'StreamPark', '/flink', 'PageView', null, 'build', '0', 1, 2, now(), now());
+insert into `t_menu` values (100014, 100013, 'Project', '/flink/project', 'flink/project/View', null, 'github', '0', 1, 1, now(), now());
+insert into `t_menu` values (100015, 100013, 'Application', '/flink/app', 'flink/app/View', null, 'mobile', '0', 1, 2, now(), now());
+insert into `t_menu` values (100016, 100015, 'add', '/flink/app/add', 'flink/app/Add', 'app:create', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100017, 100014, 'add', '/flink/project/add', 'flink/project/Add', 'project:create', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100018, 100015, 'detail app', '/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, 4, now(), now());
+insert into `t_menu` values (100020, 100015, 'edit flink', '/flink/app/edit_flink', 'flink/app/EditFlink', 'app:update', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100021, 100015, 'edit streampark', '/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());
+insert into `t_menu` values (100023, 100014, 'delete', null, null, 'project:delete', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100024, 100015, 'mapping', null, null, 'app:mapping', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100025, 100015, 'launch', null, null, 'app:launch', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100026, 100015, 'start', null, null, 'app:start', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100027, 100015, 'clean', null, null, 'app:clean', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100028, 100015, 'cancel', null, null, 'app:cancel', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100029, 100015, 'savepoint delete', null, null, 'savepoint:delete', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100030, 100015, 'backup rollback', null, null, 'backup:rollback', null, '1', 1, null, now(), now());
+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', null, '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, 100014, 'edit', '/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());
+insert into `t_menu` values (100038, 100000, 'Token Management', '/system/token', 'system/token/Token', null, 'lock', '0', 1, 1, now(), now());
+insert into `t_menu` values (100039, 100038, 'add', null, null, 'token:add', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100040, 100038, 'delete', null, null, 'token:delete', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100041, 100034, 'add cluster', '/flink/setting/add_cluster', 'flink/setting/AddCluster', 'cluster:create', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100042, 100034, 'edit cluster', '/flink/setting/edit_cluster', 'flink/setting/EditCluster', 'cluster:update', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100043, 100015, 'copy', null, null, 'app:copy', null, '1', 1, null, now(), now());
+insert into `t_menu` values (100044, 100000, 'Team Management', '/system/team', 'system/team/Team', null, 'team', '0', 1, 2, now(), now());
 insert into `t_menu` values (100045, 100044, 'add', null, null, 'team:add', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100046, 100044, 'update', null, null, 'team:update', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100047, 100044, 'delete', null, null, 'team:delete', null, '1', 1, null, now(), now());
-insert into `t_menu` values (100048, 100000, 'Member Management', '/system/member', 'system/member/Member', 'member:view', 'usergroup-add', '0', 1, 2, now(), now());
+insert into `t_menu` values (100048, 100000, 'Member Management', '/system/member', 'system/member/Member', null, 'usergroup-add', '0', 1, 2, now(), now());
 insert into `t_menu` values (100049, 100048, 'add', null, null, 'member:add', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100050, 100048, 'update', null, null, 'member:update', null, '1', 1, null, now(), now());
 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, 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());
-insert into `t_menu` VALUES (100058, 100013, 'Depend Apps', '/system/variable/depend_apps', 'system/variable/DependApps', 'variable:dependApps', '', '0', 0, NULL, now(), now());
-insert into `t_menu` VALUES (100059, 100054, 'Show Original', NULL, NULL, 'variable:showOriginal', NULL, '1', 1, NULL, now(), now());
+insert into `t_menu` values (100054, 100013, 'Variable', '/system/variable', 'system/variable/View', null, '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());
+insert into `t_menu` values (100058, 100054, 'depend apps', '/system/variable/depend_apps', 'system/variable/DependApps', 'variable:depend_apps', '', '0', 0, NULL, now(), now());
+insert into `t_menu` values (100059, 100054, 'show original', NULL, NULL, 'variable:show_original', NULL, '1', 1, NULL, now(), now());
 insert into `t_menu` values (100060, 100001, 'view', null, null, 'user:view', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100061, 100038, 'view', null, null, 'token:view', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100062, 100002, 'view', null, null, 'role:view', null, '1', 1, null, now(), now());
@@ -143,12 +186,9 @@ insert into `t_menu` values (100064, 100048, 'view', null, null, 'member:view',
 insert into `t_menu` values (100065, 100003, 'view', null, null, 'menu:view', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100066, 100014, 'view', null, null, 'project:view', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100067, 100015, 'view', null, null, 'app:view', null, '1', 1, null, now(), now());
-insert into `t_menu` VALUES (100068, 100054, 'view', NULL, NULL, 'variable:view', NULL, '1', 1, null, now(), now());
+insert into `t_menu` values (100068, 100054, 'view', NULL, NULL, 'variable:view', NULL, '1', 1, null, now(), now());
 insert into `t_menu` values (100069, 100034, 'view', null, null, 'setting:view', null, '1', 1, null, now(), now());
-insert into `t_menu` VALUES (100070, 100054, 'Depend Apps view', null, null, 'variable:dependApps', 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;
+insert into `t_menu` values (100070, 100054, 'view', null, null, 'variable:depend_apps', null, '1', 1, NULL, now(), now());
 
 -- Add team related sql
 create table `t_team` (
@@ -231,12 +271,6 @@ add unique key `un_user_team_role_inx` (`user_id`,`team_id`,`role_id`) using btr
 -- remove user table contact phone field
 alter table `t_user` drop column `mobile`;
 
--- update t_menu name
-update `t_menu` set `menu_name` = 'Edit StreamPark App', `path` = '/flink/app/edit_streampark', `component` = 'flink/app/EditStreamPark'
-where `menu_id` = 100021;
-
-update `t_menu` set `menu_name` = 'StreamPark' where `menu_id` = 100013;
-
 -- t_setting
 alter table `t_setting` drop primary key;
 alter table `t_setting`
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/domain/router/RouterTree.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/domain/router/RouterTree.java
index ea17c6f0a..521c1dadf 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/domain/router/RouterTree.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/domain/router/RouterTree.java
@@ -17,6 +17,8 @@
 
 package org.apache.streampark.console.base.domain.router;
 
+import org.apache.streampark.console.system.entity.Menu;
+
 import com.fasterxml.jackson.annotation.JsonInclude;
 import lombok.Data;
 
@@ -67,4 +69,24 @@ public class RouterTree<T> {
     public void initChildren() {
         this.children = new ArrayList<>();
     }
+
+    public RouterTree() {}
+
+    public RouterTree(Menu menu) {
+        this.setId(menu.getMenuId().toString());
+        this.setKey(this.getId());
+        this.setParentId(menu.getParentId().toString());
+        this.setText(menu.getMenuName());
+        this.setTitle(menu.getMenuName());
+        this.setIcon(menu.getIcon());
+        this.setComponent(menu.getComponent());
+        this.setCreateTime(menu.getCreateTime());
+        this.setModifyTime(menu.getModifyTime());
+        this.setPath(menu.getPath());
+        this.setOrder(menu.getOrderNum());
+        this.setPermission(menu.getPerms());
+        this.setType(menu.getType());
+        this.setDisplay(menu.isDisplay());
+    }
+
 }
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/util/TreeUtils.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/util/VueRouterUtils.java
similarity index 95%
rename from streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/util/TreeUtils.java
rename to streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/util/VueRouterUtils.java
index 8e43ed0ad..118956001 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/util/TreeUtils.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/util/VueRouterUtils.java
@@ -23,9 +23,9 @@ import org.apache.streampark.console.base.domain.router.VueRouter;
 import java.util.ArrayList;
 import java.util.List;
 
-public final class TreeUtils {
+public final class VueRouterUtils {
 
-    private TreeUtils() {
+    private VueRouterUtils() {
     }
 
     private static final String TOP_NODE_ID = "0";
@@ -37,7 +37,7 @@ public final class TreeUtils {
      * @param <T>   <T>
      * @return <T> Tree<T>
      */
-    public static <T> RouterTree<T> build(List<RouterTree<T>> nodes) {
+    public static <T> RouterTree<T> buildRouterTree(List<RouterTree<T>> nodes) {
         if (nodes == null) {
             return null;
         }
@@ -96,7 +96,7 @@ public final class TreeUtils {
             }
             for (VueRouter<T> parent : routes) {
                 String id = parent.getId();
-                if (id != null && id.equals(parentId)) {
+                if (parentId.equals(id)) {
                     if (parent.getChildren() == null) {
                         parent.initChildren();
                     }
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/VariableController.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/VariableController.java
index d4a3fdbac..ebf1d1433 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/VariableController.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/VariableController.java
@@ -82,7 +82,7 @@ public class VariableController {
     }
 
     @PostMapping("dependApps")
-    @RequiresPermissions("variable:dependApps")
+    @RequiresPermissions("variable:depend_apps")
     public RestResponse dependApps(RestRequest restRequest, Variable variable) {
         IPage<Application> dependApps = variableService.dependAppsPage(variable, restRequest);
         return RestResponse.success(dependApps);
@@ -113,7 +113,7 @@ public class VariableController {
     }
 
     @PostMapping("showOriginal")
-    @RequiresPermissions("variable:showOriginal")
+    @RequiresPermissions("variable:show_original")
     public RestResponse showOriginal(@RequestParam Long id) {
         Variable v = this.variableService.getById(id);
         return RestResponse.success(v);
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/UserController.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/UserController.java
index 7b34db253..e8a76157f 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/UserController.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/UserController.java
@@ -25,7 +25,6 @@ import org.apache.streampark.console.core.enums.UserType;
 import org.apache.streampark.console.core.service.CommonService;
 import org.apache.streampark.console.system.entity.Team;
 import org.apache.streampark.console.system.entity.User;
-import org.apache.streampark.console.system.service.RoleService;
 import org.apache.streampark.console.system.service.TeamService;
 import org.apache.streampark.console.system.service.UserService;
 
@@ -62,9 +61,6 @@ public class UserController {
     @Autowired
     private TeamService teamService;
 
-    @Autowired
-    private RoleService roleService;
-
     @Autowired
     private CommonService commonService;
 
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/MenuMapper.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/MenuMapper.java
index 84f9d1af4..33ccc572e 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/MenuMapper.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/MenuMapper.java
@@ -38,10 +38,4 @@ public interface MenuMapper extends BaseMapper<Menu> {
      */
     List<String> findUserIdsByMenuId(String menuId);
 
-    /**
-     * Recursively delete menu and buttons
-     *
-     * @param menuId menuId
-     */
-    void deleteMenus(String menuId);
 }
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/MenuService.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/MenuService.java
index 02617d481..adc6b390e 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/MenuService.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/MenuService.java
@@ -41,8 +41,6 @@ public interface MenuService extends IService<Menu> {
 
     Map<String, Object> findMenus(Menu menu);
 
-    List<Menu> findMenuList(Menu menu);
-
     void createMenu(Menu menu);
 
     void updateMenu(Menu menu) throws Exception;
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 88dd59701..1127f124b 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
@@ -17,11 +17,10 @@
 
 package org.apache.streampark.console.system.service.impl;
 
-import org.apache.streampark.console.base.domain.Constant;
 import org.apache.streampark.console.base.domain.router.RouterMeta;
 import org.apache.streampark.console.base.domain.router.RouterTree;
 import org.apache.streampark.console.base.domain.router.VueRouter;
-import org.apache.streampark.console.base.util.TreeUtils;
+import org.apache.streampark.console.base.util.VueRouterUtils;
 import org.apache.streampark.console.core.enums.UserType;
 import org.apache.streampark.console.system.entity.Menu;
 import org.apache.streampark.console.system.entity.User;
@@ -86,37 +85,36 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
         Map<String, Object> result = new HashMap<>(16);
         try {
             LambdaQueryWrapper<Menu> queryWrapper = new LambdaQueryWrapper<>();
-            findMenuCondition(queryWrapper, menu);
+            if (StringUtils.isNotBlank(menu.getMenuName())) {
+                queryWrapper.eq(Menu::getMenuName, menu.getMenuName());
+            }
+            if (StringUtils.isNotBlank(menu.getCreateTimeFrom())
+                && StringUtils.isNotBlank(menu.getCreateTimeTo())) {
+                queryWrapper
+                    .ge(Menu::getCreateTime, menu.getCreateTimeFrom())
+                    .le(Menu::getCreateTime, menu.getCreateTimeTo());
+            }
             List<Menu> menus = baseMapper.selectList(queryWrapper);
 
             List<RouterTree<Menu>> trees = new ArrayList<>();
             List<String> ids = new ArrayList<>();
-            buildTrees(trees, menus, ids);
 
+            menus.forEach(m -> {
+                ids.add(m.getMenuId().toString());
+                trees.add(new RouterTree(m));
+            });
             result.put("ids", ids);
-            if (StringUtils.equals(menu.getType(), Constant.TYPE_BUTTON)) {
-                result.put("rows", trees);
-            } else {
-                RouterTree<Menu> menuTree = TreeUtils.build(trees);
-                result.put("rows", menuTree);
-            }
             result.put("total", menus.size());
-        } catch (NumberFormatException e) {
-            log.info("Failed to query menu", e);
+            RouterTree<Menu> routerTree = VueRouterUtils.buildRouterTree(trees);
+            result.put("rows", routerTree);
+        } catch (Exception e) {
+            log.error("Failed to query menu", e);
             result.put("rows", null);
             result.put("total", 0);
         }
         return result;
     }
 
-    @Override
-    public List<Menu> findMenuList(Menu menu) {
-        LambdaQueryWrapper<Menu> queryWrapper = new LambdaQueryWrapper<>();
-        findMenuCondition(queryWrapper, menu);
-        queryWrapper.orderByAsc(Menu::getMenuId);
-        return this.baseMapper.selectList(queryWrapper);
-    }
-
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void createMenu(Menu menu) {
@@ -157,29 +155,7 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
             route.setMeta(new RouterMeta(true, !menu.isDisplay(), true, menu.getIcon()));
             routes.add(route);
         });
-        return TreeUtils.buildVueRouter(routes);
-    }
-
-    private void buildTrees(List<RouterTree<Menu>> trees, List<Menu> menus, List<String> ids) {
-        menus.forEach(menu -> {
-            ids.add(menu.getMenuId().toString());
-            RouterTree<Menu> tree = new RouterTree<>();
-            tree.setId(menu.getMenuId().toString());
-            tree.setKey(tree.getId());
-            tree.setParentId(menu.getParentId().toString());
-            tree.setText(menu.getMenuName());
-            tree.setTitle(tree.getText());
-            tree.setIcon(menu.getIcon());
-            tree.setComponent(menu.getComponent());
-            tree.setCreateTime(menu.getCreateTime());
-            tree.setModifyTime(menu.getModifyTime());
-            tree.setPath(menu.getPath());
-            tree.setOrder(menu.getOrderNum());
-            tree.setPermission(menu.getPerms());
-            tree.setType(menu.getType());
-            tree.setDisplay(menu.isDisplay());
-            trees.add(tree);
-        });
+        return VueRouterUtils.buildVueRouter(routes);
     }
 
     private void setMenu(Menu menu) {
@@ -193,18 +169,4 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
         }
     }
 
-    private void findMenuCondition(LambdaQueryWrapper<Menu> queryWrapper, Menu menu) {
-        if (StringUtils.isNotBlank(menu.getMenuName())) {
-            queryWrapper.eq(Menu::getMenuName, menu.getMenuName());
-        }
-        if (StringUtils.isNotBlank(menu.getType())) {
-            queryWrapper.eq(Menu::getType, menu.getType());
-        }
-        if (StringUtils.isNotBlank(menu.getCreateTimeFrom())
-            && StringUtils.isNotBlank(menu.getCreateTimeTo())) {
-            queryWrapper
-                .ge(Menu::getCreateTime, menu.getCreateTimeFrom())
-                .le(Menu::getCreateTime, menu.getCreateTimeTo());
-        }
-    }
 }
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
index b51235d4b..185b89996 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
@@ -22,13 +22,11 @@ import org.apache.streampark.console.base.domain.RestRequest;
 import org.apache.streampark.console.base.exception.ApiAlertException;
 import org.apache.streampark.console.base.util.ShaHashUtils;
 import org.apache.streampark.console.system.authentication.JWTToken;
-import org.apache.streampark.console.system.entity.Member;
 import org.apache.streampark.console.system.entity.Team;
 import org.apache.streampark.console.system.entity.User;
 import org.apache.streampark.console.system.mapper.UserMapper;
 import org.apache.streampark.console.system.service.MemberService;
 import org.apache.streampark.console.system.service.MenuService;
-import org.apache.streampark.console.system.service.RoleService;
 import org.apache.streampark.console.system.service.UserService;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -64,9 +62,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     @Autowired
     private MenuService menuService;
 
-    @Autowired
-    private RoleService roleService;
-
     @Override
     public User findByName(String username) {
         return baseMapper.selectOne(new LambdaQueryWrapper<User>().eq(User::getUsername, username));
@@ -170,10 +165,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     public List<User> getNoTokenUser() {
         List<User> users = this.baseMapper.getNoTokenUser();
         if (!users.isEmpty()) {
-            users.forEach(u -> {
-                u.setPassword(null);
-                u.setSalt(null);
-            });
+            users.forEach(u -> u.dataMasking());
         }
         return users;
     }
@@ -214,7 +206,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     @Override
     public Map<String, Object> generateFrontendUserInfo(User user, Long teamId, JWTToken token) {
         AssertUtils.checkNotNull(user);
-        String username = user.getUsername();
         Map<String, Object> userInfo = new HashMap<>(8);
 
         // 1) token & expire
@@ -234,13 +225,4 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         return userInfo;
     }
 
-    private void setUserRoles(User user, String[] roles) {
-        Arrays.stream(roles).forEach(roleId -> {
-            Member ur = new Member();
-            ur.setUserId(user.getUserId());
-            ur.setRoleId(Long.valueOf(roleId));
-            this.memberService.save(ur);
-        });
-    }
-
 }
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 82907acf0..4740e9d93 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
@@ -46,9 +46,9 @@ insert into `t_flink_sql` values (100000, 100000, 'eNqlUUtPhDAQvu+vmFs1AYIHT5s94
 -- Records of t_menu
 -- ----------------------------
 insert into `t_menu` values (100000, 0, 'System', '/system', 'PageView', null, 'desktop', '0', 1, 1, now(), now());
-insert into `t_menu` values (100001, 100000, 'User Management', '/system/user', 'system/user/User', 'user:view', 'user', '0', 1, 1, now(), now());
-insert into `t_menu` values (100002, 100000, 'Role Management', '/system/role', 'system/role/Role', 'role:view', 'smile', '0', 1, 2, now(), now());
-insert into `t_menu` values (100003, 100000, 'Menu Management', '/system/menu', 'system/menu/Menu', 'menu:view', 'bars', '0', 1, 3, now(), now());
+insert into `t_menu` values (100001, 100000, 'User Management', '/system/user', 'system/user/User', null, 'user', '0', 1, 1, now(), now());
+insert into `t_menu` values (100002, 100000, 'Role Management', '/system/role', 'system/role/Role', null, 'smile', '0', 1, 2, now(), now());
+insert into `t_menu` values (100003, 100000, 'Menu Management', '/system/menu', 'system/menu/Menu', null, 'bars', '0', 1, 3, now(), now());
 insert into `t_menu` values (100004, 100001, 'add', null, null, 'user:add', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100005, 100001, 'update', null, null, 'user:update', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100006, 100001, 'delete', null, null, 'user:delete', null, '1', 1, null, now(), now());
@@ -59,14 +59,14 @@ insert into `t_menu` values (100010, 100003, 'add', null, null, 'menu:add', null
 insert into `t_menu` values (100011, 100003, 'update', null, null, 'menu:update', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100012, 100001, 'reset', null, null, 'user:reset', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100013, 0, 'StreamPark', '/flink', 'PageView', null, 'build', '0', 1, 2, now(), now());
-insert into `t_menu` values (100014, 100013, 'Project', '/flink/project', 'flink/project/View', 'project:view', 'github', '0', 1, 1, now(), now());
-insert into `t_menu` values (100015, 100013, 'Application', '/flink/app', 'flink/app/View', 'app:view', 'mobile', '0', 1, 2, now(), now());
-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 (100014, 100013, 'Project', '/flink/project', 'flink/project/View', null, 'github', '0', 1, 1, now(), now());
+insert into `t_menu` values (100015, 100013, 'Application', '/flink/app', 'flink/app/View', null, 'mobile', '0', 1, 2, now(), now());
+insert into `t_menu` values (100016, 100015, 'add', '/flink/app/add', 'flink/app/Add', 'app:create', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100017, 100014, 'add', '/flink/project/add', 'flink/project/Add', 'project:create', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100018, 100015, 'detail app', '/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, 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 (100020, 100015, 'edit flink', '/flink/app/edit_flink', 'flink/app/EditFlink', 'app:update', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100021, 100015, 'edit streampark', '/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());
 insert into `t_menu` values (100023, 100014, 'delete', null, null, 'project:delete', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100024, 100015, 'mapping', null, null, 'app:mapping', null, '1', 1, null, now(), now());
@@ -79,32 +79,32 @@ 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, 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 (100034, 100013, 'Setting', '/flink/setting', 'flink/setting/View', null, '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, 100014, 'edit', '/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());
-insert into `t_menu` values (100038, 100000, 'Token Management', '/system/token', 'system/token/Token', 'token:view', 'lock', '0', 1, 1, now(), now());
+insert into `t_menu` values (100038, 100000, 'Token Management', '/system/token', 'system/token/Token', null, 'lock', '0', 1, 1, now(), now());
 insert into `t_menu` values (100039, 100038, 'add', null, null, 'token:add', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100040, 100038, 'delete', null, null, 'token:delete', null, '1', 1, null, now(), now());
-insert into `t_menu` values (100041, 100013, 'Add Cluster', '/flink/setting/add_cluster', 'flink/setting/AddCluster', 'cluster:create', '', '0', 0, null, now(), now());
-insert into `t_menu` values (100042, 100013, 'Edit Cluster', '/flink/setting/edit_cluster', 'flink/setting/EditCluster', 'cluster:update', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100041, 100034, 'add cluster', '/flink/setting/add_cluster', 'flink/setting/AddCluster', 'cluster:create', '', '0', 0, null, now(), now());
+insert into `t_menu` values (100042, 100034, 'edit cluster', '/flink/setting/edit_cluster', 'flink/setting/EditCluster', 'cluster:update', '', '0', 0, null, now(), now());
 insert into `t_menu` values (100043, 100015, 'copy', null, null, 'app:copy', null, '1', 1, null, now(), now());
-insert into `t_menu` values (100044, 100000, 'Team Management', '/system/team', 'system/team/Team', 'team:view', 'team', '0', 1, 2, now(), now());
+insert into `t_menu` values (100044, 100000, 'Team Management', '/system/team', 'system/team/Team', null, 'team', '0', 1, 2, now(), now());
 insert into `t_menu` values (100045, 100044, 'add', null, null, 'team:add', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100046, 100044, 'update', null, null, 'team:update', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100047, 100044, 'delete', null, null, 'team:delete', null, '1', 1, null, now(), now());
-insert into `t_menu` values (100048, 100000, 'Member Management', '/system/member', 'system/member/Member', 'member:view', 'usergroup-add', '0', 1, 2, now(), now());
+insert into `t_menu` values (100048, 100000, 'Member Management', '/system/member', 'system/member/Member', null, 'usergroup-add', '0', 1, 2, now(), now());
 insert into `t_menu` values (100049, 100048, 'add', null, null, 'member:add', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100050, 100048, 'update', null, null, 'member:update', null, '1', 1, null, now(), now());
 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, 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());
-insert into `t_menu` VALUES (100058, 100013, 'Depend Apps', '/system/variable/depend_apps', 'system/variable/DependApps', 'variable:dependApps', '', '0', 0, NULL, now(), now());
-insert into `t_menu` VALUES (100059, 100054, 'Show Original', NULL, NULL, 'variable:showOriginal', NULL, '1', 1, NULL, now(), now());
+insert into `t_menu` values (100054, 100013, 'Variable', '/system/variable', 'system/variable/View', null, '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());
+insert into `t_menu` values (100058, 100054, 'depend apps', '/system/variable/depend_apps', 'system/variable/DependApps', 'variable:depend_apps', '', '0', 0, NULL, now(), now());
+insert into `t_menu` values (100059, 100054, 'show original', NULL, NULL, 'variable:show_original', NULL, '1', 1, NULL, now(), now());
 insert into `t_menu` values (100060, 100001, 'view', null, null, 'user:view', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100061, 100038, 'view', null, null, 'token:view', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100062, 100002, 'view', null, null, 'role:view', null, '1', 1, null, now(), now());
@@ -113,9 +113,9 @@ insert into `t_menu` values (100064, 100048, 'view', null, null, 'member:view',
 insert into `t_menu` values (100065, 100003, 'view', null, null, 'menu:view', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100066, 100014, 'view', null, null, 'project:view', null, '1', 1, null, now(), now());
 insert into `t_menu` values (100067, 100015, 'view', null, null, 'app:view', null, '1', 1, null, now(), now());
-insert into `t_menu` VALUES (100068, 100054, 'view', NULL, NULL, 'variable:view', NULL, '1', 1, null, now(), now());
+insert into `t_menu` values (100068, 100054, 'view', NULL, NULL, 'variable:view', NULL, '1', 1, null, now(), now());
 insert into `t_menu` values (100069, 100034, 'view', null, null, 'setting:view', null, '1', 1, null, now(), now());
-insert into `t_menu` VALUES (100070, 100054, 'Depend Apps view', null, null, 'variable:dependApps', null, '1', 1, NULL, now(), now());
+insert into `t_menu` values (100070, 100054, 'view', null, null, 'variable:depend_apps', null, '1', 1, NULL, now(), now());
 
 -- ----------------------------
 -- Records of t_role
diff --git a/streampark-console/streampark-console-service/src/main/resources/mapper/system/MenuMapper.xml b/streampark-console/streampark-console-service/src/main/resources/mapper/system/MenuMapper.xml
index 757e3ce68..bf2991c9d 100644
--- a/streampark-console/streampark-console-service/src/main/resources/mapper/system/MenuMapper.xml
+++ b/streampark-console/streampark-console-service/src/main/resources/mapper/system/MenuMapper.xml
@@ -63,15 +63,7 @@
         select user_id
         from t_member
         where role_id in
-              (select rm.role_id from t_role_menu rm where rm.menu_id = #{menuId})
+        (select rm.role_id from t_role_menu rm where rm.menu_id = #{menuId})
     </select>
 
-    <delete id="deleteMenus" parameterType="string">
-        DELETE
-        from t_menu
-        where menu_id in (select m.menu_id
-                          from (select menu_id
-                                from t_menu
-                                where FIND_IN_SET(menu_id, findMenuChildren(#{menuId})) > 0) m)
-    </delete>
 </mapper>