commit 9b75bb925e59dfb6587260833cdcc122054e913e Author: 尹舟 <13007110208@163.com> Date: Wed Feb 12 17:03:12 2025 +0800 第一次提交 diff --git a/.env b/.env new file mode 100644 index 0000000..f3dc7b6 --- /dev/null +++ b/.env @@ -0,0 +1,14 @@ +DINKY_VERSION=1.0.3 +FLINK_VERSION=1.17 + +# 自定义其他依赖路径,会挂载到dinky和flink容器中 +CUSTOM_JAR_PATH=/opt/dinky/extends/ +FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager" +TZ=Asia/Shanghai + +DB_ACTIVE=mysql +# ip是容器ip +MYSQL_ADDR=mysql57:3306 +MYSQL_DATABASE=dinky +MYSQL_USERNAME=root +MYSQL_PASSWORD=mysql57 diff --git a/README.md b/README.md new file mode 100644 index 0000000..fe50ceb --- /dev/null +++ b/README.md @@ -0,0 +1,91 @@ +# 启动 Docker 容器 + +1. **启动容器** + + 在根目录下执行以下命令以启动Docker容器: + ```bash + docker-compose up -d + ``` + +2. **查看容器状态** + + 使用以下命令检查容器是否正常运行: + ```bash + docker ps + ``` + +3. **配置 MySQL Binlog (仅适用于 windos)** + + 执行以下命令以确保MySQL配置文件权限正确: + ```bash + chmod 644 /etc/mysql/conf.d/my.cnf + ``` + 这一步是为了启用binlog功能。 + + ![dinky图标](./image/PixPin_2025-01-10_16-14-58.png "dinky") + + 修改配置文件后,重启容器使更改生效: + ```bash + docker-compose restart + ``` + + +4. **验证 Binlog 是否开启** + 进入MySQL容器并执行以下SQL语句来确认binlog是否已成功开启: + ```sql + SHOW VARIABLES LIKE 'log_bin'; + ``` + + 如果显示 `ON` 则表示binlog已成功开启。 + ![dinky图标](./image/PixPin_2025-01-10_16-17-59.png "dinky") + + 可以看到我建的测试数据库demo(有表有数据)和数据同步(空表无数据) + ![dinky图标](./image/PixPin_2025-01-10_16-21-27.png "dinky") + +### 访问 Dinky 平台 + +打开浏览器访问 [http://localhost:8888/](http://localhost:8888/) 进入Dinky平台。 + +![dinky图标](./image/PixPin_2025-01-10_16-26-06.png "dinky") + +#### 注册中心配置集群 + +在平台上进行注册中心的配置,设置集群信息。 + +#### 新建整库同步 Flink SQL 任务并运行 + +按照界面提示新建一个整库同步Flink SQL任务,并开始运行该任务。 + +![dinky图标](./image/PixPin_2025-01-10_16-28-40.png "dinky") +```sql +-- 整库同步 +SET 'execution.checkpointing.interval' = '10s'; +SET 'execution.checkpointing.externalized-checkpoint-retention' = 'RETAIN_ON_CANCELLATION'; + +EXECUTE CDCSOURCE cdc_mysql WITH ( + 'connector' = 'mysql-cdc', + 'hostname' = '10.23.0.209', + 'port' = '3336', + 'username' = 'root', + 'password' = 'mysql57', + 'checkpoint' = '3000', + 'scan.startup.mode' = 'initial', + 'parallelism' = '1', + 'server-time-zone' = 'Asia/Shanghai', + 'table-name' = 'demo\.admin_menu,demo\.admin_role', + 'sink.connector' = 'jdbc', + 'sink.url' = 'jdbc:mysql://10.23.0.209:3336/to_demo?characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai', + 'sink.username' = 'root', + 'sink.password' = 'mysql57', + 'sink.sink.db' = 'to_demo', + 'sink.table.prefix' = 'ods_', + 'sink.table.lower' = 'true', + 'sink.table-name' = '#{tableName}', + 'sink.driver' = 'com.mysql.jdbc.Driver', + 'sink.sink.buffer-flush.interval' = '2s', + 'sink.sink.buffer-flush.max-rows' = '100', + 'sink.sink.max-retries' = '5', + 'sink.auto.create' = 'true' +); + ``` + diff --git a/customJar/flink-cdc-pipeline-connector-mysql-3.2.0.jar b/customJar/flink-cdc-pipeline-connector-mysql-3.2.0.jar new file mode 100644 index 0000000..8f36a45 Binary files /dev/null and b/customJar/flink-cdc-pipeline-connector-mysql-3.2.0.jar differ diff --git a/customJar/flink-connector-jdbc-3.2.0-1.19.jar b/customJar/flink-connector-jdbc-3.2.0-1.19.jar new file mode 100644 index 0000000..19b2603 Binary files /dev/null and b/customJar/flink-connector-jdbc-3.2.0-1.19.jar differ diff --git a/customJar/flink-sql-connector-mysql-cdc-3.2.0.jar b/customJar/flink-sql-connector-mysql-cdc-3.2.0.jar new file mode 100644 index 0000000..031c961 Binary files /dev/null and b/customJar/flink-sql-connector-mysql-cdc-3.2.0.jar differ diff --git a/customJar/flink-statebackend-rocksdb-1.19.1.jar b/customJar/flink-statebackend-rocksdb-1.19.1.jar new file mode 100644 index 0000000..2497f8f Binary files /dev/null and b/customJar/flink-statebackend-rocksdb-1.19.1.jar differ diff --git a/customJar/mysql-connector-java-8.0.27.jar b/customJar/mysql-connector-java-8.0.27.jar new file mode 100644 index 0000000..683ac26 Binary files /dev/null and b/customJar/mysql-connector-java-8.0.27.jar differ diff --git a/dinky_sql.sql b/dinky_sql.sql new file mode 100644 index 0000000..b402787 --- /dev/null +++ b/dinky_sql.sql @@ -0,0 +1,91 @@ +-- 单表同步 +DROP TABLE IF EXISTS cdc_dinky_flink_document; + +CREATE TABLE IF NOT EXISTS cdc_dinky_flink_document ( + `id` INT NOT NULL COMMENT 'id', + `category` STRING COMMENT 'document category', + `type` STRING COMMENT 'document type', + `subtype` STRING COMMENT 'document subtype', + `name` STRING COMMENT 'document name', + `description` STRING, + `fill_value` STRING COMMENT 'fill value', + `version` STRING COMMENT 'document version such as:(flink1.12,flink1.13,flink1.14,flink1.15,flink1.16,flink1.17,flink1.18)', + `like_num` INT COMMENT 'like number', + `enabled` BOOLEAN NOT NULL COMMENT 'is enable', + `create_time` TIMESTAMP COMMENT 'create time', + `update_time` TIMESTAMP COMMENT 'update time', + `creator` INT COMMENT 'creator user id', + `updater` INT COMMENT 'updater user id', + PRIMARY KEY (`menu_id`) NOT ENFORCED + ) + WITH + ( + 'connector' = 'mysql-cdc', + 'hostname' = 'mysql57', + 'port' = '3306', + 'username' = 'root', + 'password' = 'mysql57', + 'server-time-zone' = 'Asia/Shanghai', + 'scan.incremental.snapshot.enabled' = 'true', + 'debezium.snapshot.mode' = 'initial', + 'database-name' = 'dinky', + 'table-name' = 'dinky_flink_document' + ); + +CREATE TABLE IF NOT EXISTS mysql_dinky_flink_document ( + `id` INT NOT NULL COMMENT 'id', + `category` STRING COMMENT 'document category', + `type` STRING COMMENT 'document type', + `subtype` STRING COMMENT 'document subtype', + `name` STRING COMMENT 'document name', + `description` STRING, + `fill_value` STRING COMMENT 'fill value', + `version` STRING COMMENT 'document version such as:(flink1.12,flink1.13,flink1.14,flink1.15,flink1.16,flink1.17,flink1.18)', + `like_num` INT COMMENT 'like number', + `enabled` BOOLEAN NOT NULL COMMENT 'is enable', + `create_time` TIMESTAMP COMMENT 'create time', + `update_time` TIMESTAMP COMMENT 'update time', + `creator` INT COMMENT 'creator user id', + `updater` INT COMMENT 'updater user id', + PRIMARY KEY (`menu_id`) NOT ENFORCED + ) WITH ( + 'connector' = 'jdbc' + ,'url' = 'jdbc:mysql://mysql57:3306/demo' + ,'username' = 'root' + ,'password' = 'mysql57' + ,'table-name' = 'dinky_flink_document' + ); +INSERT INTO mysql_dinky_flink_document +SELECT * FROM cdc_dinky_flink_document +; + + + +-- 整库同步 +SET 'execution.checkpointing.interval' = '10s'; + +EXECUTE CDCSOURCE cdc_mysql WITH ( + 'connector' = 'mysql-cdc', + 'hostname' = 'mysql57', + 'port' = '3306', + 'username' = 'root', + 'password' = 'mysql57', + 'checkpoint' = '3000', + 'scan.startup.mode' = 'initial', + 'parallelism' = '1', + 'server-time-zone' = 'Asia/Shanghai', + 'table-name' = 'demo\.admin_menu,demo\.admin_role', + 'sink.connector' = 'jdbc', + 'sink.url' = 'jdbc:mysql://mysql57:3306/to_demo?characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai', + 'sink.username' = 'root', + 'sink.password' = 'mysql57', + 'sink.sink.db' = 'to_demo', + 'sink.table.prefix' = 'ods_', + 'sink.table.lower' = 'true', + 'sink.table-name' = '#{tableName}', + 'sink.driver' = 'com.mysql.jdbc.Driver', + 'sink.sink.buffer-flush.interval' = '2s', + 'sink.sink.buffer-flush.max-rows' = '100', + 'sink.sink.max-retries' = '5', + 'sink.auto.create' = 'true' +); \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b2329fb --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,76 @@ +version: "3.9" + +services: + mysql57: + container_name: mysql57 + image: registry.cn-hangzhou.aliyuncs.com/yinzhou_docker_hub/mysql:5.7 + restart: always + ports: + - 3336:3306 + privileged: true + volumes: + - ./mysql57/conf/my.cnf:/etc/mysql/conf.d/my.cnf + - ./mysql57/data:/var/lib/mysql + - ./mysql57/initdb:/docker-entrypoint-initdb.d + environment: + MYSQL_ROOT_PASSWORD: "mysql57" + LANG: "C.UTF-8" + TZ: "Asia/Shanghai" + networks: + - dinky + + dinky: + image: dinkydocker/dinky-standalone-server:1.2.1-flink1.19 + restart: always + ports: + - "8888:8888" + env_file: .env + networks: + - dinky + volumes: + - ./customJar:/opt/dinky/customJar + + + jobmanager: + image: registry.cn-hangzhou.aliyuncs.com/yinzhou_docker_hub/flink:1.19.1-scala_2.12-java8 + ports: + - "8081:8081" + command: jobmanager + env_file: .env + volumes: + - ./flinklib:/opt/flink/lib + - ./flinklib:/opt/flink/lib + - ./checkpoints:/opt/flink/ck # 挂载本地 checkpoints + environment: + - | + FLINK_PROPERTIES= + jobmanager.rpc.address: jobmanager + state.savepoints.dir: file:///opt/flink/ck/savepoints + state.checkpoints.dir: file:///opt/flink/ck/checkpoints + state.backend: filesystem + execution.checkpointing.interval: 3min + state.checkpoints.num-retained: 20 + execution.checkpointing.mode: EXACTLY_ONCE + execution.checkpointing.externalized-checkpoint-retention: RETAIN_ON_CANCELLATION + + + + networks: + - dinky + + taskmanager: + image: registry.cn-hangzhou.aliyuncs.com/yinzhou_docker_hub/flink:1.19.1-scala_2.12-java8 + command: taskmanager + env_file: .env + volumes: + - ./flinklib:/opt/flink/lib + environment: + - | + FLINK_PROPERTIES= + jobmanager.rpc.address: jobmanager + taskmanager.numberOfTaskSlots: 5 + networks: + - dinky + +networks: + dinky: diff --git a/flinklib/dinky-app-1.19-1.2.0-jar-with-dependencies.jar b/flinklib/dinky-app-1.19-1.2.0-jar-with-dependencies.jar new file mode 100644 index 0000000..6b8d556 Binary files /dev/null and b/flinklib/dinky-app-1.19-1.2.0-jar-with-dependencies.jar differ diff --git a/flinklib/flink-cdc-dist-3.2.1.jar b/flinklib/flink-cdc-dist-3.2.1.jar new file mode 100644 index 0000000..9883631 Binary files /dev/null and b/flinklib/flink-cdc-dist-3.2.1.jar differ diff --git a/flinklib/flink-cdc-pipeline-connector-mysql-3.2.0.jar b/flinklib/flink-cdc-pipeline-connector-mysql-3.2.0.jar new file mode 100644 index 0000000..8f36a45 Binary files /dev/null and b/flinklib/flink-cdc-pipeline-connector-mysql-3.2.0.jar differ diff --git a/flinklib/flink-cep-1.19.1.jar b/flinklib/flink-cep-1.19.1.jar new file mode 100644 index 0000000..1b0ea6d Binary files /dev/null and b/flinklib/flink-cep-1.19.1.jar differ diff --git a/flinklib/flink-connector-files-1.19.1.jar b/flinklib/flink-connector-files-1.19.1.jar new file mode 100644 index 0000000..cb69bd1 Binary files /dev/null and b/flinklib/flink-connector-files-1.19.1.jar differ diff --git a/flinklib/flink-connector-jdbc-3.2.0-1.19.jar b/flinklib/flink-connector-jdbc-3.2.0-1.19.jar new file mode 100644 index 0000000..19b2603 Binary files /dev/null and b/flinklib/flink-connector-jdbc-3.2.0-1.19.jar differ diff --git a/flinklib/flink-csv-1.19.1.jar b/flinklib/flink-csv-1.19.1.jar new file mode 100644 index 0000000..f1f494e Binary files /dev/null and b/flinklib/flink-csv-1.19.1.jar differ diff --git a/flinklib/flink-dist-1.19.1.jar b/flinklib/flink-dist-1.19.1.jar new file mode 100644 index 0000000..e28eaa8 Binary files /dev/null and b/flinklib/flink-dist-1.19.1.jar differ diff --git a/flinklib/flink-json-1.19.1.jar b/flinklib/flink-json-1.19.1.jar new file mode 100644 index 0000000..9a5c528 Binary files /dev/null and b/flinklib/flink-json-1.19.1.jar differ diff --git a/flinklib/flink-scala_2.12-1.19.1.jar b/flinklib/flink-scala_2.12-1.19.1.jar new file mode 100644 index 0000000..c1607ea Binary files /dev/null and b/flinklib/flink-scala_2.12-1.19.1.jar differ diff --git a/flinklib/flink-sql-connector-mysql-cdc-3.2.0.jar b/flinklib/flink-sql-connector-mysql-cdc-3.2.0.jar new file mode 100644 index 0000000..031c961 Binary files /dev/null and b/flinklib/flink-sql-connector-mysql-cdc-3.2.0.jar differ diff --git a/flinklib/flink-statebackend-rocksdb-1.19.1.jar b/flinklib/flink-statebackend-rocksdb-1.19.1.jar new file mode 100644 index 0000000..2497f8f Binary files /dev/null and b/flinklib/flink-statebackend-rocksdb-1.19.1.jar differ diff --git a/flinklib/flink-table-api-java-uber-1.19.1.jar b/flinklib/flink-table-api-java-uber-1.19.1.jar new file mode 100644 index 0000000..694048a Binary files /dev/null and b/flinklib/flink-table-api-java-uber-1.19.1.jar differ diff --git a/flinklib/flink-table-planner_2.12-1.19.1.jar b/flinklib/flink-table-planner_2.12-1.19.1.jar new file mode 100644 index 0000000..f2884d0 Binary files /dev/null and b/flinklib/flink-table-planner_2.12-1.19.1.jar differ diff --git a/flinklib/flink-table-runtime-1.19.1.jar b/flinklib/flink-table-runtime-1.19.1.jar new file mode 100644 index 0000000..845b9a8 Binary files /dev/null and b/flinklib/flink-table-runtime-1.19.1.jar differ diff --git a/flinklib/log4j-1.2-api-2.17.1.jar b/flinklib/log4j-1.2-api-2.17.1.jar new file mode 100644 index 0000000..25320a4 Binary files /dev/null and b/flinklib/log4j-1.2-api-2.17.1.jar differ diff --git a/flinklib/log4j-api-2.17.1.jar b/flinklib/log4j-api-2.17.1.jar new file mode 100644 index 0000000..605c45d Binary files /dev/null and b/flinklib/log4j-api-2.17.1.jar differ diff --git a/flinklib/log4j-core-2.17.1.jar b/flinklib/log4j-core-2.17.1.jar new file mode 100644 index 0000000..bbead12 Binary files /dev/null and b/flinklib/log4j-core-2.17.1.jar differ diff --git a/flinklib/log4j-slf4j-impl-2.17.1.jar b/flinklib/log4j-slf4j-impl-2.17.1.jar new file mode 100644 index 0000000..8958169 Binary files /dev/null and b/flinklib/log4j-slf4j-impl-2.17.1.jar differ diff --git a/flinklib/mysql-connector-java-8.0.27.jar b/flinklib/mysql-connector-java-8.0.27.jar new file mode 100644 index 0000000..683ac26 Binary files /dev/null and b/flinklib/mysql-connector-java-8.0.27.jar differ diff --git a/image/PixPin_2025-01-10_16-02-03.jpg b/image/PixPin_2025-01-10_16-02-03.jpg new file mode 100644 index 0000000..639374c Binary files /dev/null and b/image/PixPin_2025-01-10_16-02-03.jpg differ diff --git a/image/PixPin_2025-01-10_16-14-58.png b/image/PixPin_2025-01-10_16-14-58.png new file mode 100644 index 0000000..0c26e57 Binary files /dev/null and b/image/PixPin_2025-01-10_16-14-58.png differ diff --git a/image/PixPin_2025-01-10_16-17-59.png b/image/PixPin_2025-01-10_16-17-59.png new file mode 100644 index 0000000..5d45248 Binary files /dev/null and b/image/PixPin_2025-01-10_16-17-59.png differ diff --git a/image/PixPin_2025-01-10_16-21-27.png b/image/PixPin_2025-01-10_16-21-27.png new file mode 100644 index 0000000..fb7ad34 Binary files /dev/null and b/image/PixPin_2025-01-10_16-21-27.png differ diff --git a/image/PixPin_2025-01-10_16-26-06.png b/image/PixPin_2025-01-10_16-26-06.png new file mode 100644 index 0000000..e0234fb Binary files /dev/null and b/image/PixPin_2025-01-10_16-26-06.png differ diff --git a/image/PixPin_2025-01-10_16-28-40.png b/image/PixPin_2025-01-10_16-28-40.png new file mode 100644 index 0000000..3bc2691 Binary files /dev/null and b/image/PixPin_2025-01-10_16-28-40.png differ diff --git a/mysql57/conf/my.cnf b/mysql57/conf/my.cnf new file mode 100644 index 0000000..3fab1f0 --- /dev/null +++ b/mysql57/conf/my.cnf @@ -0,0 +1,22 @@ +[mysqld] +lower_case_table_names=1 +bind-address= 0.0.0.0 +default-time_zone=Asia/Shanghai + +# 启用二进制日志 +log-bin=mysql-bin +# 设置二进制日志格式(推荐 ROW 格式) +binlog-format=ROW + +# 设置server-id +server-id=1 + +# 更改字符集 如果想Mysql在后续的操作中文不出现乱码,则需要修改配置文件内容 +symbolic-links=0 +character-set-server=utf8mb4 + +[client] +default-character-set=utf8mb4 + +[mysql] +default-character-set=utf8mb4 \ No newline at end of file diff --git a/mysql57/initdb/init_db.sql b/mysql57/initdb/init_db.sql new file mode 100644 index 0000000..c4826e0 --- /dev/null +++ b/mysql57/initdb/init_db.sql @@ -0,0 +1,140 @@ +CREATE DATABASE IF NOT EXISTS demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +CREATE DATABASE IF NOT EXISTS to_demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +CREATE DATABASE IF NOT EXISTS dinky; +CREATE TABLE IF NOT EXISTS demo.`admin_menu` ( + `menu_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `parent_menu_id` int(10) unsigned NOT NULL, + `menu_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1:菜单 2:页面 3:操作按钮', + `menu_title` varchar(100) NOT NULL DEFAULT '', + `menu_name` varchar(100) NOT NULL DEFAULT '', + `menu_path` varchar(100) NOT NULL DEFAULT '', + `menu_icon` varchar(100) NOT NULL DEFAULT '', + `menu_server_uri` varchar(100) NOT NULL DEFAULT '', + `sort_index` int(10) NOT NULL DEFAULT '0', + `create_time` int(10) unsigned NOT NULL DEFAULT '0', + `update_time` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`menu_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8; +CREATE TABLE IF NOT EXISTS demo.`admin_role` ( + `role_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `role_name` varchar(20) NOT NULL DEFAULT '', + `menu_ids` varchar(1024) NOT NULL DEFAULT '', + `operator_uid` int(10) unsigned NOT NULL DEFAULT '0', + `create_time` int(10) unsigned NOT NULL DEFAULT '0', + `update_time` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`role_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS demo.`admin_user` ( + `uid` int(10) unsigned NOT NULL AUTO_INCREMENT, + `realname` varchar(20) NOT NULL DEFAULT '', + `phone` char(11) NOT NULL DEFAULT '', + `role_id` int(10) unsigned NOT NULL DEFAULT '0', + `operator_uid` int(10) unsigned NOT NULL DEFAULT '0', + `create_time` int(10) unsigned NOT NULL DEFAULT '0', + `update_time` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`uid`) USING BTREE, + UNIQUE KEY `phone` (`phone`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS to_demo.`admin_user` ( + `uid` int(10) unsigned NOT NULL AUTO_INCREMENT, + `realname` varchar(20) NOT NULL DEFAULT '', + `phone` char(11) NOT NULL DEFAULT '', + `role_id` int(10) unsigned NOT NULL DEFAULT '0', + `operator_uid` int(10) unsigned NOT NULL DEFAULT '0', + `create_time` int(10) unsigned NOT NULL DEFAULT '0', + `update_time` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`uid`) USING BTREE, + UNIQUE KEY `phone` (`phone`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; + + +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (1, 0, 1, '数据管理', 'DataManagement', '', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (2, 1, 1, '数据中心', 'DataCenter', '', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (3, 2, 2, '数据总览', 'DataCenterSummary', '/dataCenter/summary', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (4, 2, 2, '投放数据', 'DataCenterPutIn', '/dataCenter/putIn', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (5, 2, 2, '对账数据', 'DataCenterRefund', '/dataCenter/refund', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (6, 2, 2, '对账管理', 'DataCenterBillManage', '/dataCenter/billManage', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (7, 1, 1, 'OA管理', 'OACenter', '', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (10, 7, 2, '商户管理', 'OACenterOutBusiness', '/conpanyManage/outBusiness', '', '/backend/merchant/listPaging', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (12, 7, 2, '平台管理', 'OACenterPlatform', '/conpanyManage/platform', '', '/backend/platform/listPaging', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (13, 7, 2, '工作室管理', 'OACenterStudioManage', '/OACenter/studioManage', '', '/backend/studio/listPaging', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (14, 7, 2, '项目管理', 'OACenterTeamManage', '/OACenter/teamManage', '', '/backend/project/listPaging', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (15, 7, 2, '版号管理', 'OACenterVersionManage', '/OACenter/versionManage', '', '/backend/isbn/listPaging', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (16, 7, 2, '产品管理', 'OACenterProductManage', '/OACenter/productManage', '', '/backend/product/listPaging', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (17, 7, 2, 'IP管理', 'OACenterIpManage', '/OACenter/ipManage', '', '/backend/ip/listPaging', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (18, 1, 1, '权限管理', 'setup', '', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (19, 18, 2, '角色管理', 'role', '/setup/role', '', '/backend/role/listPaging', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (20, 18, 2, '用户管理', 'user', '/setup/user', '', '/backend/user/listPaging', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (21, 6, 3, '新增', 'DataCenterBillManageCreate', '', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (22, 6, 3, '更新', 'DataCenterBillManageUpdate', '', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (23, 6, 3, '删除', 'DataCenterBillManageDelete', '', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (24, 9, 3, '新增', 'OACenterConpanySubjectCreate', '', '', '/backend/entity/create', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (25, 9, 3, '更新', 'OACenterConpanySubjectUpdate', '', '', '/backend/entity/update', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (26, 9, 3, '删除', 'OACenterConpanySubjectDelete', '', '', '/backend/entity/delete', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (27, 10, 3, '新增', 'OACenterOutBusinessCreate', '', '', '/backend/merchant/create', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (28, 10, 3, '更新', 'OACenterOutBusinessUpdate', '', '', '/backend/merchant/update', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (29, 10, 3, '删除', 'OACenterOutBusinessDelete', '', '', '/backend/merchant/delete', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (30, 11, 3, '新增', 'OACenterOutSubjectCreate', '', '', '/backend/entity/create', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (31, 11, 3, '更新', 'OACenterOutSubjectUpdate', '', '', '/backend/entity/update', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (32, 11, 3, '删除', 'OACenterOutSubjectDelete', '', '', '/backend/entity/delete', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (33, 12, 3, '新增', 'OACenterPlatformCreate', '', '', '/backend/platform/create', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (34, 12, 3, '更新', 'OACenterPlatformUpdate', '', '', '/backend/platform/update', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (35, 12, 3, '删除', 'OACenterPlatformDelete', '', '', '/backend/platform/delete', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (36, 13, 3, '新增', 'OACenterStudioManageCreate', '', '', '/backend/studio/create', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (37, 13, 3, '更新', 'OACenterStudioManageUpdate', '', '', '/backend/studio/update', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (38, 13, 3, '删除', 'OACenterStudioManageDelete', '', '', '/backend/studio/delete', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (39, 14, 3, '新增', 'OACenterTeamManageCreate', '', '', '/backend/project/create', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (40, 14, 3, '更新', 'OACenterTeamManageUpdate', '', '', '/backend/project/update', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (41, 14, 3, '删除', 'OACenterTeamManageDelete', '', '', '/backend/project/delete', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (42, 15, 3, '新增', 'OACenterVersionManageCreate', '', '', '/backend/isbn/create', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (43, 15, 3, '更新', 'OACenterVersionManageUpdate', '', '', '/backend/isbn/update', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (44, 15, 3, '删除', 'OACenterVersionManageDelete', '', '', '/backend/isbn/delete', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (45, 16, 3, '新增', 'OACenterProductManageCreate', '', '', '/backend/product/create', 0, 1726166800, 1726166800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (46, 16, 3, '更新', 'OACenterProductManageUpdate', '', '', '/backend/product/update', 0, 1726166800, 1726166800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (47, 16, 3, '删除', 'OACenterProductManageDelete', '', '', '/backend/product/delete', 0, 1726166800, 1726166800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (48, 17, 3, '新增', 'OACenterIpManageCreate', '', '', '/backend/ip/create', 0, 1726176800, 1726176800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (49, 17, 3, '更新', 'OACenterIpManageUpdate', '', '', '/backend/ip/update', 0, 1726176800, 1726176800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (50, 17, 3, '删除', 'OACenterIpManageDelete', '', '', '/backend/ip/delete', 0, 1726176800, 1726176800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (51, 19, 3, '新增', 'roleCreate', '', '', '/backend/role/create', 0, 1926196800, 1926196800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (52, 19, 3, '更新', 'roleUpdate', '', '', '/backend/role/update', 0, 1926196800, 1926196800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (53, 19, 3, '删除', 'roleDelete', '', '', '/backend/role/delete', 0, 1926196800, 1926196800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (54, 20, 3, '新增', 'userCreate', '', '', '/backend/user/create', 0, 2026206800, 2026206800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (55, 20, 3, '更新', 'userUpdate', '', '', '/backend/user/update', 0, 2026206800, 2026206800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (56, 20, 3, '删除', 'userDelete', '', '', '/backend/user/delete', 0, 2026206800, 2026206800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (57, 7, 2, '体系管理', 'OACenterSystem', '/OACenter/system', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (58, 57, 3, '新增', 'channelTypeCreate', '', '', '/backend/system/create', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (59, 57, 3, '更新', 'channelTypeUpdate', '', '', '/backend/system/update', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (60, 57, 3, '删除', 'channelTypeDelete', '', '', '/backend/system/delete', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (61, 7, 2, '渠道类型', 'OACenterChannelType', '/OACenter/channelType', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (62, 61, 3, '新增', 'systemCreate', '', '', '/backend/channel/create', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (63, 61, 3, '更新', 'systemUpdate', '', '', '/backend/channel/update', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (64, 61, 3, '删除', 'systemDelete', '', '', '/backend/channel/delete', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (65, 7, 2, '主体管理', 'OACenterSubject', '/OACenter/subject', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (66, 65, 3, '新增', 'OACenterSubjectCreate', '', '', '/backend/entity/create', 0, 1726556800, 1726556800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (67, 65, 3, '更新', 'OACenterSubjectUpdate', '', '', '/backend/entity/update', 0, 1726556800, 1726556800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (68, 65, 3, '删除', 'OACenterSubjectDelete', '', '', '/backend/entity/delete', 0, 1726556800, 1726556800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (69, 7, 2, '关系管理', 'OACenterRelation', '/OACenter/relation', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (70, 69, 3, '新增', 'OACenterRelationCreate', '', '', '/backend/product/create', 0, 1726556800, 1726556800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (71, 69, 3, '更新', 'OACenterRelationUpdate', '', '', '/backend/product/update', 0, 1726556800, 1726556800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (72, 69, 3, '删除', 'OACenterRelationDelete', '', '', '/backend/product/delete', 0, 1726556800, 1726556800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (73, 7, 2, '游戏列表', 'OACenterGameList', '/OACenter/gameList', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (74, 7, 2, '主体列表', 'OACenterSubjectList', '/OACenter/subjectList', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (75, 73, 3, '更新', 'OACenterGameUpdate', '/OACenter/gameUpdate', '', '', 0, 1726156800, 1726156800); +INSERT INTO demo.`admin_menu`(`menu_id`, `parent_menu_id`, `menu_type`, `menu_title`, `menu_name`, `menu_path`, `menu_icon`, `menu_server_uri`, `sort_index`, `create_time`, `update_time`) VALUES (76, 74, 3, '更新', 'OACenterSubjectUpdate', '/OACenter/subjectUpdate', '', '', 0, 1726156800, 1726156800); + + +INSERT INTO demo.`admin_role`(`role_id`, `role_name`, `menu_ids`, `operator_uid`, `create_time`, `update_time`) VALUES (1, '系统管理员', '', 0, 1726156800, 1726284595); +INSERT INTO demo.`admin_role`(`role_id`, `role_name`, `menu_ids`, `operator_uid`, `create_time`, `update_time`) VALUES (4, '测试角色12', '3,4,9,24,25,26,27,31,35,1,2,7,8,10,11,12', 2, 1726281570, 1726635877); + + + +INSERT INTO `demo`.`admin_user`(`uid`, `realname`, `phone`, `role_id`, `operator_uid`, `create_time`, `update_time`) VALUES (2, '高山11', '18258462564', 1, 1, 1726230756, 1726294489); +INSERT INTO `demo`.`admin_user`(`uid`, `realname`, `phone`, `role_id`, `operator_uid`, `create_time`, `update_time`) VALUES (5, '测试二', '15555555555', 4, 2, 1726285599, 1726298236); +INSERT INTO `demo`.`admin_user`(`uid`, `realname`, `phone`, `role_id`, `operator_uid`, `create_time`, `update_time`) VALUES (7, '李春雨', '15565340236', 1, 2, 1726299012, 1726299012); +INSERT INTO `demo`.`admin_user`(`uid`, `realname`, `phone`, `role_id`, `operator_uid`, `create_time`, `update_time`) VALUES (8, '测试三', '15735218221', 1, 7, 1726710652, 1726710652); + + + +FLUSH PRIVILEGES; \ No newline at end of file