add
This commit is contained in:
@ -11,7 +11,7 @@
|
|||||||
Target Server Version : 50742
|
Target Server Version : 50742
|
||||||
File Encoding : 65001
|
File Encoding : 65001
|
||||||
|
|
||||||
Date: 14/06/2023 16:41:43
|
Date: 15/06/2023 16:11:20
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SET NAMES utf8mb4;
|
SET NAMES utf8mb4;
|
||||||
@ -95,7 +95,6 @@ CREATE TABLE `sys_dict_data` (
|
|||||||
`dict_type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典类型',
|
`dict_type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '字典类型',
|
||||||
`css_class` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '样式属性(其他样式扩展)',
|
`css_class` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '样式属性(其他样式扩展)',
|
||||||
`list_class` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表格回显样式',
|
`list_class` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表格回显样式',
|
||||||
`is_default` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'N' COMMENT '是否默认(Y是 N否)',
|
|
||||||
`status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
`status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||||
`create_user` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
|
`create_user` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
|
||||||
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
|
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
|
||||||
@ -109,7 +108,7 @@ CREATE TABLE `sys_dict_data` (
|
|||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of sys_dict_data
|
-- Records of sys_dict_data
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
INSERT INTO `sys_dict_data` VALUES (1665587419228155906, 0, '2', '2', 'test', NULL, 'default', 'N', '1', 'admin', '2023-06-05 13:12:41', '', NULL, NULL, 1);
|
INSERT INTO `sys_dict_data` VALUES (1665587419228155906, 0, '2', '2', 'test', NULL, 'default', '1', 'admin', '2023-06-05 13:12:41', '', NULL, NULL, 1);
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for sys_dict_type
|
-- Table structure for sys_dict_type
|
||||||
@ -276,7 +275,7 @@ CREATE TABLE `sys_role` (
|
|||||||
-- Records of sys_role
|
-- Records of sys_role
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
INSERT INTO `sys_role` VALUES (1, '超级管理员', 'admin', 1, '1', '1', 'admin', '2023-04-23 14:35:29', 'admin', '2023-06-13 17:02:24', '超级管理员', 1);
|
INSERT INTO `sys_role` VALUES (1, '超级管理员', 'admin', 1, '1', '1', 'admin', '2023-04-23 14:35:29', 'admin', '2023-06-13 17:02:24', '超级管理员', 1);
|
||||||
INSERT INTO `sys_role` VALUES (1660535591067213826, '测试', 'test', 1, '1', '1', 'admin', '2023-05-22 14:38:31', '', NULL, NULL, 1);
|
INSERT INTO `sys_role` VALUES (1660535591067213826, '测试', 'test', 1, '4', '1', 'admin', '2023-05-22 14:38:31', 'admin', '2023-06-15 16:05:49', NULL, 1);
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for sys_role_dept
|
-- Table structure for sys_role_dept
|
||||||
@ -365,6 +364,64 @@ INSERT INTO `sys_role_menu` VALUES (1, 1666365996601196545, 1);
|
|||||||
INSERT INTO `sys_role_menu` VALUES (1, 1666366412382552066, 1);
|
INSERT INTO `sys_role_menu` VALUES (1, 1666366412382552066, 1);
|
||||||
INSERT INTO `sys_role_menu` VALUES (1, 1668543448450719745, 1);
|
INSERT INTO `sys_role_menu` VALUES (1, 1668543448450719745, 1);
|
||||||
INSERT INTO `sys_role_menu` VALUES (1, 1668544169384468481, 1);
|
INSERT INTO `sys_role_menu` VALUES (1, 1668544169384468481, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 2, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 100, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 101, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 102, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 103, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 104, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 105, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 106, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 109, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1000, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1001, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1002, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1003, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1004, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1005, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1006, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1007, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1008, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1009, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1010, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1011, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1012, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1013, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1014, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1015, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1016, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1017, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1018, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1019, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1020, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1021, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1022, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1023, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1024, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1025, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1026, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1027, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1028, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1029, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1030, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1031, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1032, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1033, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1046, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1047, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1048, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1663431933531869185, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1663432090671468545, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1663432193243172865, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1663446141111689218, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1666365593968984065, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1666365690861600770, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1666365815403069442, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1666365996601196545, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1666366412382552066, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1668543448450719745, 1);
|
||||||
|
INSERT INTO `sys_role_menu` VALUES (1660535591067213826, 1668544169384468481, 1);
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for sys_tenant
|
-- Table structure for sys_tenant
|
||||||
@ -427,9 +484,9 @@ CREATE TABLE `sys_tenant_datasource` (
|
|||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Records of sys_tenant_datasource
|
-- Records of sys_tenant_datasource
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
INSERT INTO `sys_tenant_datasource` VALUES (166160396877907998, 'MySQL', '192.168.0.202', '3306', 'qiaoba-boot', 'root', 'Root123456789.', 5, 10, 20, '1', 'admin', '2023-06-07 14:36:11', '', NULL, NULL, 2);
|
INSERT INTO `sys_tenant_datasource` VALUES (166160396877907998, 'MySQL', '192.168.0.202', '3306', 'qiaoba-boot', 'root', 'Root123456789.', 5, 10, 20, '0', 'admin', '2023-06-07 14:36:11', '', NULL, NULL, 2);
|
||||||
INSERT INTO `sys_tenant_datasource` VALUES (166160396877907999, 'MySQL', '192.168.0.203', '3306', 'qiaoba-boot', 'root', 'Root123456789.', 5, 10, 20, '0', 'admin', '2023-06-07 14:36:11', '', NULL, NULL, 2);
|
INSERT INTO `sys_tenant_datasource` VALUES (166160396877907999, 'MySQL', '192.168.0.203', '3306', 'qiaoba-boot', 'root', 'Root123456789.', 5, 10, 20, '0', 'admin', '2023-06-07 14:36:11', '', NULL, NULL, 2);
|
||||||
INSERT INTO `sys_tenant_datasource` VALUES (166160396877908000, 'MySQL', '127.0.0.1', '3306', 'qiaoba-boot', 'root', 'root', 5, 10, 20, '0', 'admin', '2023-06-07 14:36:11', '', NULL, NULL, 2);
|
INSERT INTO `sys_tenant_datasource` VALUES (166160396877908000, 'PostgreSQL', '192.168.0.202', '5432', 'qiaoba-boot', 'postgres', 'postgres', 5, 10, 20, '1', 'admin', '2023-06-07 14:36:11', '', NULL, NULL, 2);
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for sys_user
|
-- Table structure for sys_user
|
||||||
@ -459,7 +516,7 @@ CREATE TABLE `sys_user` (
|
|||||||
-- Records of sys_user
|
-- Records of sys_user
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
INSERT INTO `sys_user` VALUES (1, 1659443064624918529, 'admin', '小王', '4567@163.com', '18800001124', '1', '/resource/2023/05/19/blob/37f932d6ae4541d7b9688de6ab0b9f50.blob', '$2a$10$otwytPwmUHPy04dCf8S6I.Za7D.xGQ5MJOdEQk8fWTHCWDJCayur.', '1', 'admin', '2023-05-08 15:16:53', 'admin', '2023-05-23 10:11:24', NULL, 1);
|
INSERT INTO `sys_user` VALUES (1, 1659443064624918529, 'admin', '小王', '4567@163.com', '18800001124', '1', '/resource/2023/05/19/blob/37f932d6ae4541d7b9688de6ab0b9f50.blob', '$2a$10$otwytPwmUHPy04dCf8S6I.Za7D.xGQ5MJOdEQk8fWTHCWDJCayur.', '1', 'admin', '2023-05-08 15:16:53', 'admin', '2023-05-23 10:11:24', NULL, 1);
|
||||||
INSERT INTO `sys_user` VALUES (1660830718629277697, 1659443256656932865, 'admin1', 'qq', '', '', '0', '', '$2a$10$mDfrzPMZuxvKeKmqUPA4hOgNC2Zdgb8vOgVL8hP8IIdT6fAWpe0Bm', '1', 'admin', '2023-05-23 10:11:15', '', NULL, NULL, 1);
|
INSERT INTO `sys_user` VALUES (1660830718629277697, 1659443256656932865, 'admin1', 'qq', '', '', '0', '', '$2a$10$J4OOu6bmc6rXF1cH8JKxH.nXfeglU1Wq9Y5iL07P2VFlxLMSDCMVq', '1', 'admin', '2023-05-23 10:11:15', 'admin', '2023-06-15 16:06:06', NULL, 1);
|
||||||
|
|
||||||
-- ----------------------------
|
-- ----------------------------
|
||||||
-- Table structure for sys_user_post
|
-- Table structure for sys_user_post
|
794
document/db/PostgreSQL/qiaoba-boot-PostgreSQL14.sql
Normal file
794
document/db/PostgreSQL/qiaoba-boot-PostgreSQL14.sql
Normal file
@ -0,0 +1,794 @@
|
|||||||
|
/*
|
||||||
|
Navicat Premium Data Transfer
|
||||||
|
|
||||||
|
Source Server : PgSQL-虚拟机-202
|
||||||
|
Source Server Type : PostgreSQL
|
||||||
|
Source Server Version : 140008
|
||||||
|
Source Host : 192.168.0.202:5432
|
||||||
|
Source Catalog : mydb
|
||||||
|
Source Schema : qiaoba-boot
|
||||||
|
|
||||||
|
Target Server Type : PostgreSQL
|
||||||
|
Target Server Version : 140008
|
||||||
|
File Encoding : 65001
|
||||||
|
|
||||||
|
Date: 15/06/2023 16:09:50
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_config
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS "qiaoba-boot"."sys_config";
|
||||||
|
CREATE TABLE "qiaoba-boot"."sys_config" (
|
||||||
|
"config_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"config_name" varchar(100) COLLATE "pg_catalog"."default",
|
||||||
|
"config_key" varchar(100) COLLATE "pg_catalog"."default",
|
||||||
|
"config_value" varchar(500) COLLATE "pg_catalog"."default",
|
||||||
|
"config_type" char(1) COLLATE "pg_catalog"."default",
|
||||||
|
"create_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"create_time" timestamp(6),
|
||||||
|
"update_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"update_time" timestamp(6),
|
||||||
|
"remark" varchar(500) COLLATE "pg_catalog"."default",
|
||||||
|
"tenant_id" varchar(64) COLLATE "pg_catalog"."default"
|
||||||
|
)
|
||||||
|
;
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_config"."config_id" IS '参数主键';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_config"."config_name" IS '参数名称';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_config"."config_key" IS '参数键名';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_config"."config_value" IS '参数键值';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_config"."config_type" IS '系统内置(Y是 N否)';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_config"."create_user" IS '创建者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_config"."create_time" IS '创建时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_config"."update_user" IS '更新者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_config"."update_time" IS '更新时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_config"."remark" IS '备注';
|
||||||
|
COMMENT ON TABLE "qiaoba-boot"."sys_config" IS '参数配置表';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_config
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_config" VALUES ('1661598740507910145', 'Token有效期', 'sys.token.expireTime', '96', 'Y', 'admin', '2023-05-25 13:22:50', 'admin', '2023-05-25 15:02:42', '单位:小时,仅支持正整数', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_config" VALUES ('1661602101802164225', '账号黑名单开关', 'sys.account.blacklistOnOff', 'true', 'Y', 'admin', '2023-05-25 13:22:31', 'admin', '2023-05-25 13:57:14', '(true开启,false关闭)', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_config" VALUES ('1661603407233077249', '账号注册开关', 'sys.account.registerUser', 'false', 'Y', 'admin', '2023-05-25 13:21:38', 'admin', '2023-05-25 15:07:00', '(true开启,false关闭)', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_config" VALUES ('1661603968779079681', '登录验证码开关', 'sys.account.captchaOnOff', 'false', 'Y', 'admin', '2023-05-25 13:23:52', 'admin', '2023-06-09 14:40:17', '(true开启,false关闭)', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_config" VALUES ('1661603968779079682', '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-light', 'Y', 'admin', '2022-08-15 18:01:28', 'admin', '2023-05-25 13:26:27', '深色主题theme-dark,浅色主题theme-light', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_config" VALUES ('1661603968779079683', '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', '2022-08-15 18:01:28', '', NULL, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_config" VALUES ('1668426274817994753', '登陆最大错误次数', 'sys.account.loginErrorMaxCount', '10', 'Y', 'admin', '2023-06-13 09:13:16', 'admin', '2023-06-13 09:35:59', '超过次数, 就会被拉黑', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_config" VALUES ('1668428263694135297', '黑名单过期时间', 'sys.account.blacklistExpireTime', '30', 'Y', 'admin', '2023-06-13 09:21:11', 'admin', '2023-06-13 09:35:29', '拉黑时间, 单位:分钟, 仅支持正整数', '2');
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_dept
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS "qiaoba-boot"."sys_dept";
|
||||||
|
CREATE TABLE "qiaoba-boot"."sys_dept" (
|
||||||
|
"dept_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"parent_id" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"ancestors" varchar(500) COLLATE "pg_catalog"."default",
|
||||||
|
"dept_name" varchar(30) COLLATE "pg_catalog"."default",
|
||||||
|
"order_num" int4,
|
||||||
|
"leader" varchar(20) COLLATE "pg_catalog"."default",
|
||||||
|
"phone" varchar(30) COLLATE "pg_catalog"."default",
|
||||||
|
"email" varchar(30) COLLATE "pg_catalog"."default",
|
||||||
|
"status" char(1) COLLATE "pg_catalog"."default",
|
||||||
|
"create_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"create_time" timestamp(6),
|
||||||
|
"update_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"update_time" timestamp(6),
|
||||||
|
"remark" varchar(255) COLLATE "pg_catalog"."default",
|
||||||
|
"tenant_id" varchar(64) COLLATE "pg_catalog"."default"
|
||||||
|
)
|
||||||
|
;
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."dept_id" IS '部门id';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."parent_id" IS '父部门id';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."ancestors" IS '祖级列表';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."dept_name" IS '部门名称';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."order_num" IS '显示顺序';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."leader" IS '负责人ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."phone" IS '手机号';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."email" IS '邮箱';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."status" IS '部门状态(1正常 0停用)';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."create_user" IS '创建者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."create_time" IS '创建时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."update_user" IS '更新者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."update_time" IS '更新时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."remark" IS '备注';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dept"."tenant_id" IS '租户ID';
|
||||||
|
COMMENT ON TABLE "qiaoba-boot"."sys_dept" IS '部门表';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_dept
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_dept" VALUES ('1659442897402212353', '0', '0', '集团总公司', 1, 'Kitt', '18811112222', 'kitt@admin.com', '1', 'admin', '2023-05-19 14:16:32', 'admin', '2023-05-19 14:19:04', NULL, '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_dept" VALUES ('1659443006122766337', '1659442897402212353', '0,1659442897402212353', '安徽分部', 1, NULL, NULL, NULL, '1', 'admin', '2023-05-19 14:16:58', 'admin', '2023-05-19 14:17:19', NULL, '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_dept" VALUES ('1659443064624918529', '1659442897402212353', '0,1659442897402212353', '江苏分部', 2, NULL, NULL, NULL, '1', 'admin', '2023-05-19 14:17:12', 'admin', '2023-05-19 14:17:24', NULL, '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_dept" VALUES ('1659443154873757697', '1659443006122766337', '0,1659442897402212353,1659443006122766337', '合肥分公司', 1, NULL, NULL, NULL, '1', 'admin', '2023-05-19 14:17:34', '', NULL, NULL, '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_dept" VALUES ('1659443184389074946', '1659443006122766337', '0,1659442897402212353,1659443006122766337', '芜湖分公司', 2, NULL, NULL, NULL, '1', 'admin', '2023-05-19 14:17:41', '', NULL, NULL, '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_dept" VALUES ('1659443224335626242', '1659443064624918529', '0,1659442897402212353,1659443064624918529', '南京分公司', 1, NULL, NULL, NULL, '1', 'admin', '2023-05-19 14:17:50', '', NULL, NULL, '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_dept" VALUES ('1659443256656932865', '1659443064624918529', '0,1659442897402212353,1659443064624918529', '苏州分公司', 2, NULL, NULL, NULL, '1', 'admin', '2023-05-19 14:17:58', 'admin', '2023-05-25 13:31:01', NULL, '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_dept" VALUES ('1659443329390358529', '1659443006122766337', '0,1659442897402212353,1659443006122766337', '安庆分公司', 3, NULL, NULL, NULL, '1', 'admin', '2023-05-19 14:18:15', 'admin', '2023-05-19 14:39:34', NULL, '2');
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_dict_data
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS "qiaoba-boot"."sys_dict_data";
|
||||||
|
CREATE TABLE "qiaoba-boot"."sys_dict_data" (
|
||||||
|
"dict_code" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"dict_sort" int4,
|
||||||
|
"dict_label" varchar(100) COLLATE "pg_catalog"."default",
|
||||||
|
"dict_value" varchar(100) COLLATE "pg_catalog"."default",
|
||||||
|
"dict_type" varchar(100) COLLATE "pg_catalog"."default",
|
||||||
|
"css_class" varchar(100) COLLATE "pg_catalog"."default",
|
||||||
|
"list_class" varchar(100) COLLATE "pg_catalog"."default",
|
||||||
|
"status" char(1) COLLATE "pg_catalog"."default",
|
||||||
|
"create_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"create_time" timestamp(6),
|
||||||
|
"update_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"update_time" timestamp(6),
|
||||||
|
"remark" varchar(500) COLLATE "pg_catalog"."default",
|
||||||
|
"tenant_id" varchar(64) COLLATE "pg_catalog"."default"
|
||||||
|
)
|
||||||
|
;
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_data"."dict_code" IS '字典编码';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_data"."dict_sort" IS '字典排序';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_data"."dict_label" IS '字典标签';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_data"."dict_value" IS '字典键值';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_data"."dict_type" IS '字典类型';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_data"."css_class" IS '样式属性(其他样式扩展)';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_data"."list_class" IS '表格回显样式';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_data"."status" IS '状态(0正常 1停用)';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_data"."create_user" IS '创建者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_data"."create_time" IS '创建时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_data"."update_user" IS '更新者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_data"."update_time" IS '更新时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_data"."remark" IS '备注';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_data"."tenant_id" IS '租户ID';
|
||||||
|
COMMENT ON TABLE "qiaoba-boot"."sys_dict_data" IS '字典数据表';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_dict_data
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_dict_data" VALUES ('1665587419228155906', 0, '2', '2', 'test', NULL, 'default', '1', 'admin', '2023-06-05 13:12:41', '', NULL, NULL, '1');
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_dict_type
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS "qiaoba-boot"."sys_dict_type";
|
||||||
|
CREATE TABLE "qiaoba-boot"."sys_dict_type" (
|
||||||
|
"dict_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"dict_name" varchar(100) COLLATE "pg_catalog"."default",
|
||||||
|
"dict_type" varchar(100) COLLATE "pg_catalog"."default",
|
||||||
|
"status" char(1) COLLATE "pg_catalog"."default",
|
||||||
|
"create_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"create_time" timestamp(6),
|
||||||
|
"update_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"update_time" timestamp(6),
|
||||||
|
"remark" varchar(500) COLLATE "pg_catalog"."default",
|
||||||
|
"tenant_id" varchar(64) COLLATE "pg_catalog"."default"
|
||||||
|
)
|
||||||
|
;
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_type"."dict_id" IS '字典主键';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_type"."dict_name" IS '字典名称';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_type"."dict_type" IS '字典类型';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_type"."status" IS '状态(0正常 1停用)';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_type"."create_user" IS '创建者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_type"."create_time" IS '创建时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_type"."update_user" IS '更新者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_type"."update_time" IS '更新时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_type"."remark" IS '备注';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_dict_type"."tenant_id" IS '租户ID';
|
||||||
|
COMMENT ON TABLE "qiaoba-boot"."sys_dict_type" IS '字典类型表';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_dict_type
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_dict_type" VALUES ('1665578778676703234', '测试', 'test', '1', 'admin', '2023-06-05 12:38:20', '', NULL, NULL, '1');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_dict_type" VALUES ('1665587609699889154', '测试2', '测试2', '1', 'admin', '2023-06-05 13:13:26', '', NULL, NULL, '1');
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_menu
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS "qiaoba-boot"."sys_menu";
|
||||||
|
CREATE TABLE "qiaoba-boot"."sys_menu" (
|
||||||
|
"menu_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"menu_name" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"parent_id" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"order_num" int4,
|
||||||
|
"path" varchar(200) COLLATE "pg_catalog"."default",
|
||||||
|
"component" varchar(255) COLLATE "pg_catalog"."default",
|
||||||
|
"query" varchar(255) COLLATE "pg_catalog"."default",
|
||||||
|
"is_frame" char(1) COLLATE "pg_catalog"."default",
|
||||||
|
"is_cache" char(1) COLLATE "pg_catalog"."default",
|
||||||
|
"menu_type" char(1) COLLATE "pg_catalog"."default",
|
||||||
|
"is_visible" char(1) COLLATE "pg_catalog"."default",
|
||||||
|
"perms" varchar(100) COLLATE "pg_catalog"."default",
|
||||||
|
"icon" varchar(100) COLLATE "pg_catalog"."default",
|
||||||
|
"create_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"create_time" timestamp(6),
|
||||||
|
"update_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"update_time" timestamp(6),
|
||||||
|
"remark" varchar(500) COLLATE "pg_catalog"."default",
|
||||||
|
"tenant_id" varchar(64) COLLATE "pg_catalog"."default"
|
||||||
|
)
|
||||||
|
;
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."menu_id" IS '菜单ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."menu_name" IS '菜单名称';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."parent_id" IS '父菜单ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."order_num" IS '显示顺序';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."path" IS '路由地址';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."component" IS '组件路径';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."query" IS '路由参数';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."is_frame" IS '是否为外链(1是 0否)';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."is_cache" IS '是否缓存(1缓存 0不缓存)';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."menu_type" IS '菜单类型(M目录 C菜单 F按钮)';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."is_visible" IS '菜单状态(1显示 0隐藏)';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."perms" IS '权限标识';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."icon" IS '菜单图标';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."create_user" IS '创建者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."create_time" IS '创建时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."update_user" IS '更新者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."update_time" IS '更新时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_menu"."remark" IS '备注';
|
||||||
|
COMMENT ON TABLE "qiaoba-boot"."sys_menu" IS '菜单权限表';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_menu
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1', '系统管理', '0', 1, 'system', NULL, '', '0', '0', 'M', '1', '', 'system', 'admin', '2023-04-23 14:35:29', '', NULL, '系统管理目录', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('2', '系统监控', '0', 2, 'monitor', NULL, '', '0', '0', 'M', '1', '', 'monitor', 'admin', '2023-05-27 22:25:03', '', NULL, '系统监控目录', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('100', '用户管理', '1', 1, 'user', 'system/user/index', '', '0', '0', 'C', '1', 'system:user:list', 'user', 'admin', '2023-04-23 14:35:29', '', NULL, '用户管理菜单', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('101', '角色管理', '1', 2, 'role', 'system/role/index', '', '0', '0', 'C', '1', 'system:role:list', 'peoples', 'admin', '2023-04-23 14:35:29', '', NULL, '角色管理菜单', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('102', '菜单管理', '1', 3, 'menu', 'system/menu/index', '', '0', '0', 'C', '1', 'system:menu:list', 'tree-table', 'admin', '2023-04-23 14:35:29', '', NULL, '菜单管理菜单', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('103', '部门管理', '1', 4, 'dept', 'system/dept/index', '', '0', '0', 'C', '1', 'system:dept:list', 'tree', 'admin', '2023-04-23 14:35:29', '', NULL, '部门管理菜单', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('104', '岗位管理', '1', 5, 'post', 'system/post/index', '', '0', '0', 'C', '1', 'system:post:list', 'post', 'admin', '2023-04-23 14:35:29', '', NULL, '岗位管理菜单', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('105', '字典管理', '1', 6, 'dict', 'system/dict/index', '', '0', '0', 'C', '1', 'system:dict:list', 'documentation', 'admin', '2022-08-15 18:01:28', 'admin', '2023-05-31 11:15:14', '字典管理菜单', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('106', '参数设置', '1', 7, 'config', 'system/config/index', '', '0', '0', 'C', '1', 'system:config:list', 'edit', 'admin', '2022-08-15 18:01:28', 'admin', '2023-05-24 21:13:11', '参数设置菜单', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('109', '登录用户', '2', 1, 'online', 'monitor/online/index', '', '0', '0', 'C', '1', 'monitor:online:list', 'online', 'admin', '2023-05-27 22:22:18', 'admin', '2023-05-30 09:49:35', '在线用户菜单', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1000', '用户查询', '100', 1, '', '', '', '0', '0', 'F', '1', 'system:user:query', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1001', '用户新增', '100', 2, '', '', '', '0', '0', 'F', '1', 'system:user:add', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1002', '用户修改', '100', 3, '', '', '', '0', '0', 'F', '1', 'system:user:edit', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1003', '用户删除', '100', 4, '', '', '', '0', '0', 'F', '1', 'system:user:remove', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1004', '用户导出', '100', 5, '', '', '', '0', '0', 'F', '1', 'system:user:export', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1005', '用户导入', '100', 6, '', '', '', '0', '0', 'F', '1', 'system:user:import', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1006', '重置密码', '100', 7, '', '', '', '0', '0', 'F', '1', 'system:user:resetPwd', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1007', '角色查询', '101', 1, '', '', '', '0', '0', 'F', '1', 'system:role:query', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1008', '角色新增', '101', 2, '', '', '', '0', '0', 'F', '1', 'system:role:add', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1009', '角色修改', '101', 3, '', '', '', '0', '0', 'F', '1', 'system:role:edit', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1010', '角色删除', '101', 4, '', '', '', '0', '0', 'F', '1', 'system:role:remove', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1011', '角色导出', '101', 5, '', '', '', '0', '0', 'F', '1', 'system:role:export', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1012', '菜单查询', '102', 1, '', '', '', '0', '0', 'F', '1', 'system:menu:query', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1013', '菜单新增', '102', 2, '', '', '', '0', '0', 'F', '1', 'system:menu:add', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1014', '菜单修改', '102', 3, '', '', '', '0', '0', 'F', '1', 'system:menu:edit', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1015', '菜单删除', '102', 4, '', '', '', '0', '0', 'F', '1', 'system:menu:remove', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1016', '部门查询', '103', 1, '', '', '', '0', '0', 'F', '1', 'system:dept:query', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1017', '部门新增', '103', 2, '', '', '', '0', '0', 'F', '1', 'system:dept:add', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1018', '部门修改', '103', 3, '', '', '', '0', '0', 'F', '1', 'system:dept:edit', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1019', '部门删除', '103', 4, '', '', '', '0', '0', 'F', '1', 'system:dept:remove', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1020', '岗位查询', '104', 1, '', '', '', '0', '0', 'F', '1', 'system:post:query', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1021', '岗位新增', '104', 2, '', '', '', '0', '0', 'F', '1', 'system:post:add', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1022', '岗位修改', '104', 3, '', '', '', '0', '0', 'F', '1', 'system:post:edit', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1023', '岗位删除', '104', 4, '', '', '', '0', '0', 'F', '1', 'system:post:remove', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1024', '岗位导出', '104', 5, '', '', '', '0', '0', 'F', '1', 'system:post:export', '#', 'admin', '2023-04-23 14:35:29', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1025', '字典查询', '105', 1, '#', '', '', '0', '0', 'F', '1', 'system:dict:query', '#', 'admin', '2022-08-15 18:01:28', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1026', '字典新增', '105', 2, '#', '', '', '0', '0', 'F', '1', 'system:dict:add', '#', 'admin', '2022-08-15 18:01:28', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1027', '字典修改', '105', 3, '#', '', '', '0', '0', 'F', '1', 'system:dict:edit', '#', 'admin', '2022-08-15 18:01:28', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1028', '字典删除', '105', 4, '#', '', '', '0', '0', 'F', '1', 'system:dict:remove', '#', 'admin', '2022-08-15 18:01:28', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1029', '字典导出', '105', 5, '#', '', '', '0', '0', 'F', '1', 'system:dict:export', '#', 'admin', '2022-08-15 18:01:28', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1030', '参数查询', '106', 1, '#', '', '', '0', '0', 'F', '1', 'system:config:query', '#', 'admin', '2022-08-15 18:01:28', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1031', '参数新增', '106', 2, '#', '', '', '0', '0', 'F', '1', 'system:config:add', '#', 'admin', '2022-08-15 18:01:28', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1032', '参数修改', '106', 3, '#', '', '', '0', '0', 'F', '1', 'system:config:edit', '#', 'admin', '2022-08-15 18:01:28', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1033', '参数删除', '106', 4, '#', '', '', '0', '0', 'F', '1', 'system:config:remove', '#', 'admin', '2022-08-15 18:01:28', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1046', '在线查询', '109', 1, '#', '', '', '0', '0', 'F', '1', 'monitor:online:query', '#', 'admin', '2023-05-27 22:22:59', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1047', '批量强退', '109', 2, '#', '', '', '0', '0', 'F', '1', 'monitor:online:batchLogout', '#', 'admin', '2023-05-27 22:22:59', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1048', '单条强退', '109', 3, '#', '', '', '0', '0', 'F', '1', 'monitor:online:forceLogout', '#', 'admin', '2023-05-27 22:22:59', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1663431933531869185', '租户管理', '1668543448450719745', 1, 'tenant', 'tenant/index', NULL, '0', '0', 'C', '1', 'tenant:list', 'logininfor', 'admin', '2023-05-30 14:27:33', 'admin', '2023-06-13 17:03:52', '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1663432090671468545', '新建租户', '1663431933531869185', 1, '', NULL, NULL, '0', '0', 'F', '1', 'tenant:add', '#', 'admin', '2023-05-30 14:28:10', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1663432193243172865', '修改租户', '1663431933531869185', 2, '', NULL, NULL, '0', '0', 'F', '1', 'tenant:edit', '#', 'admin', '2023-05-30 14:28:35', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1663446141111689218', '查询详情', '1663431933531869185', 3, '', NULL, NULL, '0', '0', 'F', '1', 'tenant:query', '#', 'admin', '2023-05-30 15:24:00', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1666365593968984065', '新增数据源', '1663431933531869185', 5, '', NULL, NULL, '0', '0', 'F', '1', 'tenant:datasource:add', '#', 'admin', '2023-06-07 16:44:52', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1666365690861600770', '修改数据源', '1663431933531869185', 6, '', NULL, NULL, '0', '0', 'F', '1', 'tenant:datasource:edit', '#', 'admin', '2023-06-07 16:45:15', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1666365815403069442', '删除数据源', '1663431933531869185', 7, '', NULL, NULL, '0', '0', 'F', '1', 'tenant:datasource:remove', '#', 'admin', '2023-06-07 16:45:45', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1666365996601196545', '数据源列表', '1663431933531869185', 8, '', NULL, NULL, '0', '0', 'F', '1', 'tenant:datasource:list', '#', 'admin', '2023-06-07 16:46:28', '', NULL, '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1666366412382552066', '删除租户', '1663431933531869185', 4, '', NULL, NULL, '0', '0', 'F', '1', 'tenant:remove', '#', 'admin', '2023-06-07 16:48:07', 'admin', '2023-06-13 16:52:20', '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1668543448450719745', '租户管理', '0', 3, 'tenant', NULL, NULL, '0', '0', 'M', '1', NULL, 'component', 'admin', '2023-06-13 16:58:53', 'admin', '2023-06-13 17:03:42', '', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_menu" VALUES ('1668544169384468481', '租户初始化', '1668543448450719745', 2, 'initialize', 'tenant/initialize', NULL, '0', '0', 'C', '0', NULL, '#', 'admin', '2023-06-13 17:01:45', 'admin', '2023-06-13 17:03:49', '', '2');
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_post
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS "qiaoba-boot"."sys_post";
|
||||||
|
CREATE TABLE "qiaoba-boot"."sys_post" (
|
||||||
|
"post_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"post_code" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"post_name" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"post_sort" int4 NOT NULL,
|
||||||
|
"status" char(1) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"create_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"create_time" timestamp(6),
|
||||||
|
"update_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"update_time" timestamp(6),
|
||||||
|
"remark" varchar(500) COLLATE "pg_catalog"."default",
|
||||||
|
"tenant_id" varchar(64) COLLATE "pg_catalog"."default"
|
||||||
|
)
|
||||||
|
;
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_post"."post_id" IS '岗位ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_post"."post_code" IS '岗位编码';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_post"."post_name" IS '岗位名称';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_post"."post_sort" IS '显示顺序';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_post"."status" IS '状态(1正常 0停用)';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_post"."create_user" IS '创建者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_post"."create_time" IS '创建时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_post"."update_user" IS '更新者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_post"."update_time" IS '更新时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_post"."remark" IS '备注';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_post"."tenant_id" IS '租户ID';
|
||||||
|
COMMENT ON TABLE "qiaoba-boot"."sys_post" IS '岗位信息表';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_post
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_post" VALUES ('1659440467696431105', 'ceo', '总经理', 1, '1', 'admin', '2023-05-19 14:06:53', 'admin', '2023-05-22 14:56:56', NULL, '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_post" VALUES ('1659440519936487426', 'cto', '技术总监', 2, '1', 'admin', '2023-05-19 14:07:06', 'admin', '2023-05-22 14:57:10', NULL, '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_post" VALUES ('1659440562026328065', 'hr', '人事', 3, '1', 'admin', '2023-05-19 14:07:16', '', NULL, NULL, '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_post" VALUES ('1659440712018833410', 'acct', '会计', 4, '1', 'admin', '2023-05-19 14:07:51', '', NULL, NULL, '2');
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_role
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS "qiaoba-boot"."sys_role";
|
||||||
|
CREATE TABLE "qiaoba-boot"."sys_role" (
|
||||||
|
"role_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"role_name" varchar(30) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"role_key" varchar(100) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"role_sort" int4 NOT NULL,
|
||||||
|
"data_scope" char(1) COLLATE "pg_catalog"."default",
|
||||||
|
"status" char(1) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"create_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"create_time" timestamp(6),
|
||||||
|
"update_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"update_time" timestamp(6),
|
||||||
|
"remark" varchar(500) COLLATE "pg_catalog"."default",
|
||||||
|
"tenant_id" varchar(64) COLLATE "pg_catalog"."default"
|
||||||
|
)
|
||||||
|
;
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role"."role_id" IS '角色ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role"."role_name" IS '角色名称';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role"."role_key" IS '角色权限字符串';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role"."role_sort" IS '显示顺序';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role"."data_scope" IS '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role"."status" IS '角色状态(1正常 0停用)';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role"."create_user" IS '创建者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role"."create_time" IS '创建时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role"."update_user" IS '更新者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role"."update_time" IS '更新时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role"."remark" IS '备注';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role"."tenant_id" IS '租户ID';
|
||||||
|
COMMENT ON TABLE "qiaoba-boot"."sys_role" IS '角色信息表';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_role
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role" VALUES ('1', '超级管理员', 'admin', 1, '1', '1', 'admin', '2023-04-23 14:35:29', 'admin', '2023-06-13 17:02:24', '超级管理员', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role" VALUES ('1660535591067213826', '测试', 'test', 2, '4', '1', 'admin', '2023-05-22 14:38:31', 'admin', '2023-06-15 15:18:56.881', NULL, '2');
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_role_dept
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS "qiaoba-boot"."sys_role_dept";
|
||||||
|
CREATE TABLE "qiaoba-boot"."sys_role_dept" (
|
||||||
|
"role_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"dept_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"tenant_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL
|
||||||
|
)
|
||||||
|
;
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role_dept"."role_id" IS '角色ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role_dept"."dept_id" IS '部门ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role_dept"."tenant_id" IS '租户ID';
|
||||||
|
COMMENT ON TABLE "qiaoba-boot"."sys_role_dept" IS '角色和部门关联表';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_role_dept
|
||||||
|
-- ----------------------------
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_role_menu
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS "qiaoba-boot"."sys_role_menu";
|
||||||
|
CREATE TABLE "qiaoba-boot"."sys_role_menu" (
|
||||||
|
"role_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"menu_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"tenant_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL
|
||||||
|
)
|
||||||
|
;
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role_menu"."role_id" IS '角色ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role_menu"."menu_id" IS '菜单ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_role_menu"."tenant_id" IS '租户ID';
|
||||||
|
COMMENT ON TABLE "qiaoba-boot"."sys_role_menu" IS '角色和菜单关联表';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_role_menu
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '2', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '100', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '101', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '102', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '103', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '104', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '105', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '106', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '109', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1000', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1001', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1002', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1003', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1004', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1005', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1006', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1007', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1008', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1009', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1010', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1011', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1012', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1013', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1014', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1015', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1016', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1017', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1018', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1019', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1020', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1021', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1022', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1023', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1024', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1025', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1026', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1027', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1028', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1029', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1030', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1031', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1032', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1033', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1046', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1047', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1048', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1663431933531869185', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1663432090671468545', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1663432193243172865', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1663446141111689218', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1666365593968984065', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1666365690861600770', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1666365815403069442', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1666365996601196545', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1666366412382552066', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1668543448450719745', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1', '1668544169384468481', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1022', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1663431933531869185', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1021', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1020', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1666365815403069442', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1019', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1018', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1017', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1016', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1666365996601196545', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1015', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1014', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1013', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1012', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1668543448450719745', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1663446141111689218', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1666366412382552066', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1668544169384468481', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1033', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1032', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1031', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1030', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1029', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1028', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '2', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1027', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1026', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1025', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1024', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1023', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1663432193243172865', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1000', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1663432090671468545', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1666365690861600770', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1011', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1010', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1666365593968984065', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1008', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '100', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1007', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1006', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '101', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1005', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '102', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1004', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '103', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1048', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1003', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '104', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1047', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1002', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '105', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1046', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1001', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '106', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '109', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_role_menu" VALUES ('1660535591067213826', '1009', '2');
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_tenant
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS "qiaoba-boot"."sys_tenant";
|
||||||
|
CREATE TABLE "qiaoba-boot"."sys_tenant" (
|
||||||
|
"tenant_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"company_name" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"contact_name" varchar(30) COLLATE "pg_catalog"."default",
|
||||||
|
"contact_phone" varchar(20) COLLATE "pg_catalog"."default",
|
||||||
|
"address" varchar(255) COLLATE "pg_catalog"."default",
|
||||||
|
"profile" varchar(500) COLLATE "pg_catalog"."default",
|
||||||
|
"license_number" varchar(30) COLLATE "pg_catalog"."default",
|
||||||
|
"domain" varchar(50) COLLATE "pg_catalog"."default",
|
||||||
|
"expire_time" timestamp(6),
|
||||||
|
"account_count" int8,
|
||||||
|
"status" char(1) COLLATE "pg_catalog"."default",
|
||||||
|
"mode" char(1) COLLATE "pg_catalog"."default",
|
||||||
|
"initialized" char(1) COLLATE "pg_catalog"."default",
|
||||||
|
"create_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"create_time" timestamp(6),
|
||||||
|
"update_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"update_time" timestamp(6),
|
||||||
|
"remark" varchar(500) COLLATE "pg_catalog"."default"
|
||||||
|
)
|
||||||
|
;
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."company_name" IS '公司名称';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."contact_name" IS '联系人名称';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."contact_phone" IS '联系人电话';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."address" IS '公司地址';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."profile" IS '公司简介';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."license_number" IS '统一社会信用代码';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."domain" IS '域名';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."expire_time" IS '过期时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."account_count" IS '用户数量';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."status" IS '状态';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."mode" IS '模式';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."initialized" IS '是否已初始化';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."create_user" IS '创建者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."create_time" IS '创建时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."update_user" IS '更新者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."update_time" IS '更新时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant"."remark" IS '备注';
|
||||||
|
COMMENT ON TABLE "qiaoba-boot"."sys_tenant" IS '租户表';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_tenant
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_tenant" VALUES ('1', '主系统', '111', '111', '11', '11122', '111', NULL, '2099-05-30 23:59:59', 111, '1', '3', NULL, 'admin', '2023-05-30 15:18:04', 'admin', '2023-06-13 16:04:04', '111');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_tenant" VALUES ('2', '副系统', '111', '111', '11', '11122', '111', NULL, '2023-06-30 15:27:02', 111, '1', '3', NULL, 'admin', '2023-06-07 14:36:11', 'admin', '2023-06-13 16:20:35', '111');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_tenant" VALUES ('1668531266220535809', '而且其', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '3', '1', 'admin', '2023-06-13 16:10:28', 'admin', '2023-06-13 16:24:03', NULL);
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_tenant_datasource
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS "qiaoba-boot"."sys_tenant_datasource";
|
||||||
|
CREATE TABLE "qiaoba-boot"."sys_tenant_datasource" (
|
||||||
|
"datasource_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"type" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"ip" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"port" varchar(20) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"name" varchar(100) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"username" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"password" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"init_count" int4,
|
||||||
|
"min_count" int4,
|
||||||
|
"max_count" int4,
|
||||||
|
"is_primary" char(1) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"create_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"create_time" timestamp(6),
|
||||||
|
"update_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"update_time" timestamp(6),
|
||||||
|
"remark" varchar(500) COLLATE "pg_catalog"."default",
|
||||||
|
"tenant_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL
|
||||||
|
)
|
||||||
|
;
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."type" IS '类型';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."ip" IS 'IP';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."port" IS '端口';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."name" IS '名称';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."username" IS '账号';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."password" IS '密码';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."init_count" IS '初始连接数';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."min_count" IS '最小空闲数';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."max_count" IS '最大连接数';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."is_primary" IS '主要数据源';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."create_user" IS '创建者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."create_time" IS '创建时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."update_user" IS '更新者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."update_time" IS '更新时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_tenant_datasource"."remark" IS '备注';
|
||||||
|
COMMENT ON TABLE "qiaoba-boot"."sys_tenant_datasource" IS '租户数据源';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_tenant_datasource
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_tenant_datasource" VALUES ('166160396877907998', 'MySQL', '192.168.0.202', '3306', 'qiaoba-boot', 'root', 'Root123456789.', 5, 10, 20, '1', 'admin', '2023-06-07 14:36:11', '', NULL, NULL, '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_tenant_datasource" VALUES ('166160396877907999', 'MySQL', '192.168.0.203', '3306', 'qiaoba-boot', 'root', 'Root123456789.', 5, 10, 20, '1', 'admin', '2023-06-07 14:36:11', '', NULL, NULL, '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_tenant_datasource" VALUES ('166160396877908000', 'MySQL', '127.0.0.1', '3306', 'qiaoba-boot', 'root', 'root', 5, 10, 20, '1', 'admin', '2023-06-07 14:36:11', '', NULL, NULL, '2');
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_user
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS "qiaoba-boot"."sys_user";
|
||||||
|
CREATE TABLE "qiaoba-boot"."sys_user" (
|
||||||
|
"user_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"dept_id" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"username" varchar(30) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"nickname" varchar(30) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"email" varchar(50) COLLATE "pg_catalog"."default",
|
||||||
|
"phone" varchar(11) COLLATE "pg_catalog"."default",
|
||||||
|
"gender" char(1) COLLATE "pg_catalog"."default",
|
||||||
|
"avatar" varchar(100) COLLATE "pg_catalog"."default",
|
||||||
|
"password" varchar(100) COLLATE "pg_catalog"."default",
|
||||||
|
"status" char(1) COLLATE "pg_catalog"."default",
|
||||||
|
"create_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"create_time" timestamp(6),
|
||||||
|
"update_user" varchar(64) COLLATE "pg_catalog"."default",
|
||||||
|
"update_time" timestamp(6),
|
||||||
|
"remark" varchar(500) COLLATE "pg_catalog"."default",
|
||||||
|
"tenant_id" varchar(64) COLLATE "pg_catalog"."default"
|
||||||
|
)
|
||||||
|
;
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."user_id" IS '用户ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."dept_id" IS '部门ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."username" IS '用户账号';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."nickname" IS '用户昵称';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."email" IS '用户邮箱';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."phone" IS '手机号码';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."gender" IS '用户性别(0男 1女 2未知)';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."avatar" IS '头像地址';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."password" IS '密码';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."status" IS '帐号状态(1正常 0停用)';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."create_user" IS '创建者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."create_time" IS '创建时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."update_user" IS '更新者';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."update_time" IS '更新时间';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."remark" IS '备注';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user"."tenant_id" IS '租户ID';
|
||||||
|
COMMENT ON TABLE "qiaoba-boot"."sys_user" IS '用户信息表';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_user
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_user" VALUES ('1', '1659443064624918529', 'admin', '小王', '4567@163.com', '18800001124', '1', '/resource/2023/05/19/blob/37f932d6ae4541d7b9688de6ab0b9f50.blob', '$2a$10$otwytPwmUHPy04dCf8S6I.Za7D.xGQ5MJOdEQk8fWTHCWDJCayur.', '1', 'admin', '2023-05-08 15:16:53', 'admin', '2023-05-23 10:11:24', NULL, '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_user" VALUES ('1660830718629277697', '1659443006122766337', 'admin1', 'qq', '', '', '0', '', '$2a$10$cuijP9wZFpayVeJvL89B7OCTU1/UdCvVIHdTbvf3UhQnohLG.OSJ.', '1', 'admin', '2023-05-23 10:11:15', 'admin', '2023-06-15 15:18:28.784', '23123', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_user" VALUES ('1669254011136786433', '1659443184389074946', 'abc12345', '12313', NULL, NULL, '0', NULL, '$2a$10$P2apMJ1qZgxHLffvuWgkgOVdm.LiWvDziTRFXTDfbnP6pmnt4e6IG', '1', 'admin', '2023-06-15 16:02:24.138', NULL, NULL, NULL, '2');
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_user_post
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS "qiaoba-boot"."sys_user_post";
|
||||||
|
CREATE TABLE "qiaoba-boot"."sys_user_post" (
|
||||||
|
"user_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"post_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"tenant_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL
|
||||||
|
)
|
||||||
|
;
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user_post"."user_id" IS '用户ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user_post"."post_id" IS '岗位ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user_post"."tenant_id" IS '租户ID';
|
||||||
|
COMMENT ON TABLE "qiaoba-boot"."sys_user_post" IS '用户与岗位关联表';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_user_post
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_user_post" VALUES ('1650123803828019202', '1659440467696431105', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_user_post" VALUES ('1650123803828019202', '1659440519936487426', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_user_post" VALUES ('1660830718629277697', '1659440467696431105', '2');
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_user_role
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS "qiaoba-boot"."sys_user_role";
|
||||||
|
CREATE TABLE "qiaoba-boot"."sys_user_role" (
|
||||||
|
"user_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"role_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
|
||||||
|
"tenant_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL
|
||||||
|
)
|
||||||
|
;
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user_role"."user_id" IS '用户ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user_role"."role_id" IS '角色ID';
|
||||||
|
COMMENT ON COLUMN "qiaoba-boot"."sys_user_role"."tenant_id" IS '租户ID';
|
||||||
|
COMMENT ON TABLE "qiaoba-boot"."sys_user_role" IS '用户和角色关联表';
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of sys_user_role
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_user_role" VALUES ('1', '1', '2');
|
||||||
|
INSERT INTO "qiaoba-boot"."sys_user_role" VALUES ('1660830718629277697', '1660535591067213826', '2');
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Primary Key structure for table sys_config
|
||||||
|
-- ----------------------------
|
||||||
|
ALTER TABLE "qiaoba-boot"."sys_config" ADD CONSTRAINT "sys_config_pkey" PRIMARY KEY ("config_id");
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Primary Key structure for table sys_dept
|
||||||
|
-- ----------------------------
|
||||||
|
ALTER TABLE "qiaoba-boot"."sys_dept" ADD CONSTRAINT "sys_dept_pkey" PRIMARY KEY ("dept_id");
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Primary Key structure for table sys_dict_data
|
||||||
|
-- ----------------------------
|
||||||
|
ALTER TABLE "qiaoba-boot"."sys_dict_data" ADD CONSTRAINT "sys_dict_data_pkey" PRIMARY KEY ("dict_code");
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Indexes structure for table sys_dict_type
|
||||||
|
-- ----------------------------
|
||||||
|
CREATE INDEX "dict_type" ON "qiaoba-boot"."sys_dict_type" USING btree (
|
||||||
|
"dict_type" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
|
||||||
|
);
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Primary Key structure for table sys_dict_type
|
||||||
|
-- ----------------------------
|
||||||
|
ALTER TABLE "qiaoba-boot"."sys_dict_type" ADD CONSTRAINT "sys_dict_type_pkey" PRIMARY KEY ("dict_id");
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Primary Key structure for table sys_menu
|
||||||
|
-- ----------------------------
|
||||||
|
ALTER TABLE "qiaoba-boot"."sys_menu" ADD CONSTRAINT "sys_menu_pkey" PRIMARY KEY ("menu_id");
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Primary Key structure for table sys_post
|
||||||
|
-- ----------------------------
|
||||||
|
ALTER TABLE "qiaoba-boot"."sys_post" ADD CONSTRAINT "sys_post_pkey" PRIMARY KEY ("post_id");
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Primary Key structure for table sys_role
|
||||||
|
-- ----------------------------
|
||||||
|
ALTER TABLE "qiaoba-boot"."sys_role" ADD CONSTRAINT "sys_role_pkey" PRIMARY KEY ("role_id");
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Primary Key structure for table sys_role_dept
|
||||||
|
-- ----------------------------
|
||||||
|
ALTER TABLE "qiaoba-boot"."sys_role_dept" ADD CONSTRAINT "sys_role_dept_pkey" PRIMARY KEY ("role_id", "dept_id", "tenant_id");
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Primary Key structure for table sys_role_menu
|
||||||
|
-- ----------------------------
|
||||||
|
ALTER TABLE "qiaoba-boot"."sys_role_menu" ADD CONSTRAINT "sys_role_menu_pkey" PRIMARY KEY ("role_id", "menu_id", "tenant_id");
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Primary Key structure for table sys_tenant
|
||||||
|
-- ----------------------------
|
||||||
|
ALTER TABLE "qiaoba-boot"."sys_tenant" ADD CONSTRAINT "sys_tenant_pkey" PRIMARY KEY ("tenant_id");
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Primary Key structure for table sys_tenant_datasource
|
||||||
|
-- ----------------------------
|
||||||
|
ALTER TABLE "qiaoba-boot"."sys_tenant_datasource" ADD CONSTRAINT "sys_tenant_datasource_pkey" PRIMARY KEY ("datasource_id");
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Primary Key structure for table sys_user
|
||||||
|
-- ----------------------------
|
||||||
|
ALTER TABLE "qiaoba-boot"."sys_user" ADD CONSTRAINT "sys_user_pkey" PRIMARY KEY ("user_id");
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Primary Key structure for table sys_user_post
|
||||||
|
-- ----------------------------
|
||||||
|
ALTER TABLE "qiaoba-boot"."sys_user_post" ADD CONSTRAINT "sys_user_post_pkey" PRIMARY KEY ("user_id", "post_id", "tenant_id");
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Primary Key structure for table sys_user_role
|
||||||
|
-- ----------------------------
|
||||||
|
ALTER TABLE "qiaoba-boot"."sys_user_role" ADD CONSTRAINT "sys_user_role_pkey" PRIMARY KEY ("user_id", "role_id", "tenant_id");
|
8
pom.xml
8
pom.xml
@ -41,6 +41,8 @@
|
|||||||
<hutool.version>5.8.18</hutool.version>
|
<hutool.version>5.8.18</hutool.version>
|
||||||
<!-- mysql驱动 -->
|
<!-- mysql驱动 -->
|
||||||
<mysql-connector.version>8.0.33</mysql-connector.version>
|
<mysql-connector.version>8.0.33</mysql-connector.version>
|
||||||
|
<!-- PgSql -->
|
||||||
|
<pgsql.version>42.6.0</pgsql.version>
|
||||||
<!-- mybatis -->
|
<!-- mybatis -->
|
||||||
<mybatisplus-spring-boot.version>3.5.3.1</mybatisplus-spring-boot.version>
|
<mybatisplus-spring-boot.version>3.5.3.1</mybatisplus-spring-boot.version>
|
||||||
<!-- easy poi -->
|
<!-- easy poi -->
|
||||||
@ -93,6 +95,12 @@
|
|||||||
<artifactId>mysql-connector-java</artifactId>
|
<artifactId>mysql-connector-java</artifactId>
|
||||||
<version>${mysql-connector.version}</version>
|
<version>${mysql-connector.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- PgSql -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.postgresql</groupId>
|
||||||
|
<artifactId>postgresql</artifactId>
|
||||||
|
<version>${pgsql.version}</version>
|
||||||
|
</dependency>
|
||||||
<!-- mybatis plus -->
|
<!-- mybatis plus -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.baomidou</groupId>
|
<groupId>com.baomidou</groupId>
|
||||||
|
@ -25,9 +25,6 @@ public class SysDictData extends BaseEntity {
|
|||||||
@TableId
|
@TableId
|
||||||
private String dictCode;
|
private String dictCode;
|
||||||
|
|
||||||
@Excel(name = "字典排序", width = 20)
|
|
||||||
private Long dictSort;
|
|
||||||
|
|
||||||
@Excel(name = "字典标签", width = 20)
|
@Excel(name = "字典标签", width = 20)
|
||||||
private String dictLabel;
|
private String dictLabel;
|
||||||
|
|
||||||
@ -41,10 +38,10 @@ public class SysDictData extends BaseEntity {
|
|||||||
|
|
||||||
private String listClass;
|
private String listClass;
|
||||||
|
|
||||||
@Excel(name = "是否默认", width = 20, replace = {"是_Y", "否_N"})
|
|
||||||
private String isDefault;
|
|
||||||
|
|
||||||
@Excel(name = "状态", width = 20, replace = {"正常_1", "停用_0"})
|
@Excel(name = "状态", width = 20, replace = {"正常_1", "停用_0"})
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
|
@Excel(name = "字典排序", width = 20)
|
||||||
|
private Long dictSort;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -22,16 +22,16 @@ public class SysRole extends BaseEntity {
|
|||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@TableId
|
@TableId
|
||||||
@Excel(name = "岗位序号", width = 20)
|
@Excel(name = "角色序号", width = 20)
|
||||||
private String roleId;
|
private String roleId;
|
||||||
|
|
||||||
@Excel(name = "岗位序号", width = 20)
|
@Excel(name = "角色名称", width = 20)
|
||||||
private String roleName;
|
private String roleName;
|
||||||
|
|
||||||
@Excel(name = "岗位序号", width = 20)
|
@Excel(name = "权限字符", width = 20)
|
||||||
private String roleKey;
|
private String roleKey;
|
||||||
|
|
||||||
@Excel(name = "岗位序号", width = 20)
|
@Excel(name = "角色序号", width = 20)
|
||||||
private Integer roleSort;
|
private Integer roleSort;
|
||||||
|
|
||||||
@Excel(name = "数据范围", width = 20, replace = {"所有数据权限_1", "自定义数据权限_2", "本部门数据权限_3", "本部门及以下数据权限_4", "仅本人数据权限_5"})
|
@Excel(name = "数据范围", width = 20, replace = {"所有数据权限_1", "自定义数据权限_2", "本部门数据权限_3", "本部门及以下数据权限_4", "仅本人数据权限_5"})
|
||||||
|
@ -3,8 +3,10 @@ package com.qiaoba.api.system.entity.param;
|
|||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色查询参数
|
* 角色查询参数
|
||||||
@ -28,9 +30,9 @@ public class SysRoleParam implements Serializable {
|
|||||||
@Schema(description = "状态(0->禁用,1->正常)")
|
@Schema(description = "状态(0->禁用,1->正常)")
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
@Schema(description = "开始时间")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private String beginTime;
|
private Date beginTime;
|
||||||
|
|
||||||
@Schema(description = "结束时间")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private String endTime;
|
private Date endTime;
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,9 @@ package com.qiaoba.api.system.entity.param;
|
|||||||
import com.qiaoba.common.base.entity.DataScopeParam;
|
import com.qiaoba.common.base.entity.DataScopeParam;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户查询参数
|
* 用户查询参数
|
||||||
@ -27,8 +30,10 @@ public class SysUserParam extends DataScopeParam {
|
|||||||
|
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
private String beginTime;
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date beginTime;
|
||||||
|
|
||||||
private String endTime;
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -91,20 +91,20 @@ public class DataScopeAspect {
|
|||||||
break;
|
break;
|
||||||
} else if (DATA_SCOPE_CUSTOM.equals(dataScope)) {
|
} else if (DATA_SCOPE_CUSTOM.equals(dataScope)) {
|
||||||
sqlString.append(StrUtil.format(
|
sqlString.append(StrUtil.format(
|
||||||
" OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias,
|
" OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = '{}' ) ", deptAlias,
|
||||||
role.getRoleId()));
|
role.getRoleId()));
|
||||||
} else if (DATA_SCOPE_DEPT.equals(dataScope)) {
|
} else if (DATA_SCOPE_DEPT.equals(dataScope)) {
|
||||||
sqlString.append(StrUtil.format(" OR {}.dept_id = {} ", deptAlias, user.getDeptId()));
|
sqlString.append(StrUtil.format(" OR {}.dept_id = '{}' ", deptAlias, user.getDeptId()));
|
||||||
} else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope)) {
|
} else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope)) {
|
||||||
sqlString.append(StrUtil.format(
|
sqlString.append(StrUtil.format(
|
||||||
" OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or {} )",
|
" OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or {} )",
|
||||||
deptAlias, user.getDeptId(), DatabaseUtil.handleFindInSet(user.getDeptId(), "ancestors")));
|
deptAlias, user.getDeptId(), DatabaseUtil.handleFindInSet(user.getDeptId(), "ancestors")));
|
||||||
} else if (DATA_SCOPE_SELF.equals(dataScope)) {
|
} else if (DATA_SCOPE_SELF.equals(dataScope)) {
|
||||||
if (StrUtil.isNotBlank(userAlias)) {
|
if (StrUtil.isNotBlank(userAlias)) {
|
||||||
sqlString.append(StrUtil.format(" OR {}.user_id = {} ", userAlias, user.getUserId()));
|
sqlString.append(StrUtil.format(" OR {}.user_id = '{}' ", userAlias, user.getUserId()));
|
||||||
} else {
|
} else {
|
||||||
// 数据权限为仅本人且没有userAlias别名不查询任何数据
|
// 数据权限为仅本人且没有userAlias别名不查询任何数据
|
||||||
sqlString.append(StrUtil.format(" OR {}.dept_id = 0 ", deptAlias));
|
sqlString.append(StrUtil.format(" OR {}.dept_id = '0' ", deptAlias));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
conditions.add(dataScope);
|
conditions.add(dataScope);
|
||||||
@ -112,7 +112,7 @@ public class DataScopeAspect {
|
|||||||
|
|
||||||
// 多角色情况下,所有角色都不包含传递过来的权限字符,这个时候sqlString也会为空,所以要限制一下,不查询任何数据
|
// 多角色情况下,所有角色都不包含传递过来的权限字符,这个时候sqlString也会为空,所以要限制一下,不查询任何数据
|
||||||
if (CollUtil.isEmpty(conditions)) {
|
if (CollUtil.isEmpty(conditions)) {
|
||||||
sqlString.append(StrUtil.format(" OR {}.dept_id = 0 ", deptAlias));
|
sqlString.append(StrUtil.format(" OR {}.dept_id = '0' ", deptAlias));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(sqlString)) {
|
if (StrUtil.isNotBlank(sqlString)) {
|
||||||
|
@ -36,7 +36,7 @@ public enum DataBaseEnum {
|
|||||||
* PostgreSQL
|
* PostgreSQL
|
||||||
*/
|
*/
|
||||||
POSTGRE_SQL("PostgreSQL",
|
POSTGRE_SQL("PostgreSQL",
|
||||||
"jdbc:postgresql://localhost:5432/{}?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true",
|
"jdbc:postgresql://{}:{}/mydb?currentSchema={}&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowMultiQueries=true",
|
||||||
"org.postgresql.Driver"),
|
"org.postgresql.Driver"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -50,17 +50,6 @@ public enum DataBaseEnum {
|
|||||||
private final String url;
|
private final String url;
|
||||||
private final String driver;
|
private final String driver;
|
||||||
|
|
||||||
public static DataBaseEnum find(String databaseProductName) {
|
|
||||||
if (StrUtil.isBlank(databaseProductName)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
for (DataBaseEnum type : values()) {
|
|
||||||
if (type.getType().equals(databaseProductName)) {
|
|
||||||
return type;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getDriver(String type) {
|
public static String getDriver(String type) {
|
||||||
for (DataBaseEnum dataBaseEnum : values()) {
|
for (DataBaseEnum dataBaseEnum : values()) {
|
||||||
|
@ -23,15 +23,16 @@ public class DatabaseUtil {
|
|||||||
* @return 处理后的sql
|
* @return 处理后的sql
|
||||||
*/
|
*/
|
||||||
public static String handleFindInSet(Object var1, String var2) {
|
public static String handleFindInSet(Object var1, String var2) {
|
||||||
DataBaseEnum dataBaseType = DataBaseEnum.find(BaseContext.getDatabaseType());
|
String databaseType = BaseContext.getDatabaseType();
|
||||||
|
log.debug("租户ID: [{}], 数据源类型: {}", BaseContext.getTenantId(), databaseType);
|
||||||
String var = Convert.toStr(var1);
|
String var = Convert.toStr(var1);
|
||||||
if (dataBaseType == DataBaseEnum.SQL_SERVER) {
|
if (DataBaseEnum.SQL_SERVER.getType().equals(databaseType)) {
|
||||||
// charindex(',100,' , ',0,100,101,') <> 0
|
// charindex(',100,' , ',0,100,101,') <> 0
|
||||||
return "charindex('," + var + ",' , ','+" + var2 + "+',') <> 0";
|
return "charindex('," + var + ",' , ','+" + var2 + "+',') <> 0";
|
||||||
} else if (dataBaseType == DataBaseEnum.POSTGRE_SQL) {
|
} else if (DataBaseEnum.POSTGRE_SQL.getType().equals(databaseType)) {
|
||||||
// (select position(',100,' in ',0,100,101,')) <> 0
|
// (select position(',100,' in ',0,100,101,')) <> 0
|
||||||
return "(select position('," + var + ",' in ','||" + var2 + "||',')) <> 0";
|
return "(select position('," + var + ",' in ','||" + var2 + "||',')) <> 0";
|
||||||
} else if (dataBaseType == DataBaseEnum.ORACLE) {
|
} else if (DataBaseEnum.ORACLE.getType().equals(databaseType)) {
|
||||||
// instr(',0,100,101,' , ',100,') <> 0
|
// instr(',0,100,101,' , ',100,') <> 0
|
||||||
return "instr(','||" + var2 + "||',' , '," + var + ",') <> 0";
|
return "instr(','||" + var2 + "||',' , '," + var + ",') <> 0";
|
||||||
}
|
}
|
||||||
|
@ -17,11 +17,16 @@
|
|||||||
<groupId>com.alibaba</groupId>
|
<groupId>com.alibaba</groupId>
|
||||||
<artifactId>druid-spring-boot-starter</artifactId>
|
<artifactId>druid-spring-boot-starter</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- Mysql Connector -->
|
<!-- Mysql -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>mysql</groupId>
|
<groupId>mysql</groupId>
|
||||||
<artifactId>mysql-connector-java</artifactId>
|
<artifactId>mysql-connector-java</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- PgSql -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.postgresql</groupId>
|
||||||
|
<artifactId>postgresql</artifactId>
|
||||||
|
</dependency>
|
||||||
<!-- mybatis plus -->
|
<!-- mybatis plus -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.baomidou</groupId>
|
<groupId>com.baomidou</groupId>
|
||||||
@ -33,4 +38,4 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
@ -3,6 +3,7 @@ package com.qiaoba.common.database.config;
|
|||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.ListUtil;
|
import cn.hutool.core.collection.ListUtil;
|
||||||
import com.alibaba.druid.pool.DruidDataSource;
|
import com.alibaba.druid.pool.DruidDataSource;
|
||||||
|
import com.alibaba.druid.pool.DruidPooledConnection;
|
||||||
import com.qiaoba.common.base.constants.TenantConstant;
|
import com.qiaoba.common.base.constants.TenantConstant;
|
||||||
import com.qiaoba.common.base.context.BaseContext;
|
import com.qiaoba.common.base.context.BaseContext;
|
||||||
import com.qiaoba.common.base.enums.BaseEnum;
|
import com.qiaoba.common.base.enums.BaseEnum;
|
||||||
@ -64,6 +65,11 @@ public class DynamicDataSourceConfig {
|
|||||||
*/
|
*/
|
||||||
public static List<String> TENANT_IDS = ListUtil.toList(TenantConstant.DEFAULT_TENANT_ID);
|
public static List<String> TENANT_IDS = ListUtil.toList(TenantConstant.DEFAULT_TENANT_ID);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户数据源类型
|
||||||
|
*/
|
||||||
|
public static Map<String, String> TENANT_DATASOURCE_TYPE_MAP = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 把DynamicDataSourceContext 纳入容器管理,其他地方使用DynamicDataSourceConfig 类可以直接从容器取对象,并调用freshDataSource方法
|
* 把DynamicDataSourceContext 纳入容器管理,其他地方使用DynamicDataSourceConfig 类可以直接从容器取对象,并调用freshDataSource方法
|
||||||
*/
|
*/
|
||||||
@ -83,7 +89,7 @@ public class DynamicDataSourceConfig {
|
|||||||
private void initDefault() {
|
private void initDefault() {
|
||||||
List<DynamicDataSource> dataSources = dataSourceProperties.getDataSources();
|
List<DynamicDataSource> dataSources = dataSourceProperties.getDataSources();
|
||||||
// 0索引作为主数据源
|
// 0索引作为主数据源
|
||||||
addPrimaryMap(DynamicDatasourceConstant.MASTER_PREFIX + TenantConstant.DEFAULT_TENANT_ID, buildDataSource(dataSources.get(0)));
|
addPrimaryMap(DynamicDatasourceConstant.MASTER_PREFIX + TenantConstant.DEFAULT_TENANT_ID, buildDataSource(TenantConstant.DEFAULT_TENANT_ID, dataSources.get(0)));
|
||||||
dataSources.remove(0);
|
dataSources.remove(0);
|
||||||
// 非0索引的备用
|
// 非0索引的备用
|
||||||
addBackupMap(TenantConstant.DEFAULT_TENANT_ID, dataSources);
|
addBackupMap(TenantConstant.DEFAULT_TENANT_ID, dataSources);
|
||||||
@ -99,7 +105,7 @@ public class DynamicDataSourceConfig {
|
|||||||
for (int i = 0; i < dataSources.size(); i++) {
|
for (int i = 0; i < dataSources.size(); i++) {
|
||||||
DynamicDataSource dynamicDataSource = dataSources.get(i);
|
DynamicDataSource dynamicDataSource = dataSources.get(i);
|
||||||
if (BaseEnum.YES.getCode().equals(dynamicDataSource.getIsPrimary())) {
|
if (BaseEnum.YES.getCode().equals(dynamicDataSource.getIsPrimary())) {
|
||||||
addPrimaryMap(DynamicDatasourceConstant.MASTER_PREFIX + tenantId, buildDataSource(dataSources.get(i)));
|
addPrimaryMap(DynamicDatasourceConstant.MASTER_PREFIX + tenantId, buildDataSource(dataSources.get(i).getTenantId(), dataSources.get(i)));
|
||||||
// 去除主要数据源,剩下皆为备用数据源
|
// 去除主要数据源,剩下皆为备用数据源
|
||||||
dataSources.remove(i);
|
dataSources.remove(i);
|
||||||
break;
|
break;
|
||||||
@ -125,11 +131,11 @@ public class DynamicDataSourceConfig {
|
|||||||
dataSource.freshDataSource(PRIMARY_DATASOURCE_MAP);
|
dataSource.freshDataSource(PRIMARY_DATASOURCE_MAP);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Object buildDataSource(DynamicDataSource dynamicDataSource) {
|
public static Object buildDataSource(String tenantId, DynamicDataSource dynamicDataSource) {
|
||||||
log.debug("正在创建数据源DataSource, 租户: {}", dynamicDataSource.getTenantId());
|
log.debug("正在创建数据源DataSource, 租户: {}", tenantId);
|
||||||
boolean connect = JdbcUtil.checkConnect(dynamicDataSource.getDriver(), dynamicDataSource.getUrl(), dynamicDataSource.getUsername(), dynamicDataSource.getPassword());
|
boolean connect = JdbcUtil.checkConnect(dynamicDataSource.getDriver(), dynamicDataSource.getUrl(), dynamicDataSource.getUsername(), dynamicDataSource.getPassword());
|
||||||
if (!connect) {
|
if (!connect) {
|
||||||
log.error("租户: {} 数据源连接失败, Url: {}", dynamicDataSource.getTenantId(), dynamicDataSource.getUrl());
|
log.error("租户: {} 数据源连接失败, Url: {}", tenantId, dynamicDataSource.getUrl());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
DruidDataSource dataSource = new DruidDataSource();
|
DruidDataSource dataSource = new DruidDataSource();
|
||||||
@ -142,7 +148,13 @@ public class DynamicDataSourceConfig {
|
|||||||
dataSource.setMaxActive(dynamicDataSource.getMaxActive());
|
dataSource.setMaxActive(dynamicDataSource.getMaxActive());
|
||||||
dataSource.setKeepAlive(false);
|
dataSource.setKeepAlive(false);
|
||||||
try {
|
try {
|
||||||
|
// 初始化数据源
|
||||||
dataSource.init();
|
dataSource.init();
|
||||||
|
// 将数据源的类型保存
|
||||||
|
DruidPooledConnection connection = dataSource.getConnection();
|
||||||
|
TENANT_DATASOURCE_TYPE_MAP.put(tenantId, connection.getMetaData().getDatabaseProductName());
|
||||||
|
// 归还 connection
|
||||||
|
connection.close();
|
||||||
return dataSource;
|
return dataSource;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
dataSource.close();
|
dataSource.close();
|
||||||
@ -184,5 +196,6 @@ public class DynamicDataSourceConfig {
|
|||||||
public void setDefaultSetting() {
|
public void setDefaultSetting() {
|
||||||
BaseContext.setDataSource(DynamicDatasourceConstant.MASTER_PREFIX + TenantConstant.DEFAULT_TENANT_ID);
|
BaseContext.setDataSource(DynamicDatasourceConstant.MASTER_PREFIX + TenantConstant.DEFAULT_TENANT_ID);
|
||||||
BaseContext.setTenantId(TenantConstant.DEFAULT_TENANT_ID);
|
BaseContext.setTenantId(TenantConstant.DEFAULT_TENANT_ID);
|
||||||
|
BaseContext.setDatabaseType(TENANT_DATASOURCE_TYPE_MAP.get(TenantConstant.DEFAULT_TENANT_ID));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -114,7 +114,7 @@ public class DatasourceConnectionMonitor {
|
|||||||
Integer backupIndex = null;
|
Integer backupIndex = null;
|
||||||
|
|
||||||
for (int i = 0; i < dataSources.size(); i++) {
|
for (int i = 0; i < dataSources.size(); i++) {
|
||||||
Object dynamicDataSource = DynamicDataSourceConfig.buildDataSource(dataSources.get(i));
|
Object dynamicDataSource = DynamicDataSourceConfig.buildDataSource(tenantId, dataSources.get(i));
|
||||||
// 不是空,说明备用数据源有用
|
// 不是空,说明备用数据源有用
|
||||||
if (Objects.nonNull(dynamicDataSource)) {
|
if (Objects.nonNull(dynamicDataSource)) {
|
||||||
dynamicDataSourceConfig.changePrimaryDatasource(tenantId, dynamicDataSource);
|
dynamicDataSourceConfig.changePrimaryDatasource(tenantId, dynamicDataSource);
|
||||||
|
@ -6,7 +6,6 @@ import com.qiaoba.common.base.exceptions.ServiceException;
|
|||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.DriverManager;
|
import java.sql.DriverManager;
|
||||||
import java.sql.SQLException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* JdbcUtil
|
* JdbcUtil
|
||||||
@ -29,15 +28,12 @@ public class JdbcUtil {
|
|||||||
public static boolean checkConnect(String driver, String url, String username, String password) {
|
public static boolean checkConnect(String driver, String url, String username, String password) {
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
try {
|
try {
|
||||||
try {
|
Class.forName(driver);
|
||||||
Class.forName(driver);
|
//建立连接
|
||||||
//建立连接
|
conn = DriverManager.getConnection(url, username, password);
|
||||||
conn = DriverManager.getConnection(url, username, password);
|
return true;
|
||||||
return true;
|
|
||||||
} catch (SQLException e) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
return false;
|
return false;
|
||||||
} finally {
|
} finally {
|
||||||
IoUtil.close(conn);
|
IoUtil.close(conn);
|
||||||
|
@ -111,6 +111,7 @@ public class SysDictDataServiceImpl implements SysDictDataService {
|
|||||||
private QueryWrapper<SysDictData> param2Wrapper(SysDictDataParam param) {
|
private QueryWrapper<SysDictData> param2Wrapper(SysDictDataParam param) {
|
||||||
QueryWrapper<SysDictData> wrapper = new QueryWrapper<>();
|
QueryWrapper<SysDictData> wrapper = new QueryWrapper<>();
|
||||||
wrapper.lambda()
|
wrapper.lambda()
|
||||||
|
.orderByAsc(SysDictData::getDictSort)
|
||||||
.like(StrUtil.isNotBlank(param.getDictType()), SysDictData::getDictType, param.getDictType())
|
.like(StrUtil.isNotBlank(param.getDictType()), SysDictData::getDictType, param.getDictType())
|
||||||
.like(StrUtil.isNotBlank(param.getDictLabel()), SysDictData::getDictLabel, param.getDictLabel())
|
.like(StrUtil.isNotBlank(param.getDictLabel()), SysDictData::getDictLabel, param.getDictLabel())
|
||||||
.eq(StrUtil.isNotBlank(param.getStatus()), SysDictData::getStatus, param.getStatus());
|
.eq(StrUtil.isNotBlank(param.getStatus()), SysDictData::getStatus, param.getStatus());
|
||||||
|
@ -23,10 +23,7 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色管理 服务层实现
|
* 角色管理 服务层实现
|
||||||
@ -133,8 +130,8 @@ public class SysRoleServiceImpl implements SysRoleService {
|
|||||||
wrapper.lambda()
|
wrapper.lambda()
|
||||||
.orderByAsc(SysRole::getRoleSort)
|
.orderByAsc(SysRole::getRoleSort)
|
||||||
.eq(StrUtil.isNotBlank(param.getStatus()), SysRole::getStatus, param.getStatus())
|
.eq(StrUtil.isNotBlank(param.getStatus()), SysRole::getStatus, param.getStatus())
|
||||||
.ge(StrUtil.isNotBlank(param.getBeginTime()), SysRole::getCreateTime, param.getBeginTime())
|
.ge(Objects.nonNull(param.getBeginTime()), SysRole::getCreateTime, param.getBeginTime())
|
||||||
.le(StrUtil.isNotBlank(param.getEndTime()), SysRole::getCreateTime, param.getEndTime())
|
.le(Objects.nonNull(param.getEndTime()), SysRole::getCreateTime, param.getEndTime())
|
||||||
.like(StrUtil.isNotBlank(param.getRoleName()), SysRole::getRoleName, param.getRoleName())
|
.like(StrUtil.isNotBlank(param.getRoleName()), SysRole::getRoleName, param.getRoleName())
|
||||||
.like(StrUtil.isNotBlank(param.getRoleKey()), SysRole::getRoleKey, param.getRoleKey());
|
.like(StrUtil.isNotBlank(param.getRoleKey()), SysRole::getRoleKey, param.getRoleKey());
|
||||||
return wrapper;
|
return wrapper;
|
||||||
|
@ -158,8 +158,8 @@ public class SysUserServiceImpl implements SysUserService {
|
|||||||
.orderByAsc(SysUser::getCreateTime)
|
.orderByAsc(SysUser::getCreateTime)
|
||||||
.eq(StrUtil.isNotBlank(sysUserParam.getDeptId()), SysUser::getDeptId, sysUserParam.getDeptId())
|
.eq(StrUtil.isNotBlank(sysUserParam.getDeptId()), SysUser::getDeptId, sysUserParam.getDeptId())
|
||||||
.eq(StrUtil.isNotBlank(sysUserParam.getStatus()), SysUser::getStatus, sysUserParam.getStatus())
|
.eq(StrUtil.isNotBlank(sysUserParam.getStatus()), SysUser::getStatus, sysUserParam.getStatus())
|
||||||
.ge(StrUtil.isNotBlank(sysUserParam.getBeginTime()), SysUser::getCreateTime, sysUserParam.getBeginTime())
|
.ge(Objects.nonNull(sysUserParam.getBeginTime()), SysUser::getCreateTime, sysUserParam.getBeginTime())
|
||||||
.le(StrUtil.isNotBlank(sysUserParam.getEndTime()), SysUser::getCreateTime, sysUserParam.getEndTime())
|
.le(Objects.nonNull(sysUserParam.getEndTime()), SysUser::getCreateTime, sysUserParam.getEndTime())
|
||||||
.like(StrUtil.isNotBlank(sysUserParam.getNickname()), SysUser::getNickname, sysUserParam.getNickname())
|
.like(StrUtil.isNotBlank(sysUserParam.getNickname()), SysUser::getNickname, sysUserParam.getNickname())
|
||||||
.like(StrUtil.isNotBlank(sysUserParam.getPhone()), SysUser::getPhone, sysUserParam.getPhone());
|
.like(StrUtil.isNotBlank(sysUserParam.getPhone()), SysUser::getPhone, sysUserParam.getPhone());
|
||||||
return wrapper;
|
return wrapper;
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectByUserId" resultType="com.qiaoba.api.system.entity.vo.SysMenuVo">
|
<select id="selectByUserId" resultType="com.qiaoba.api.system.entity.vo.SysMenuVo">
|
||||||
select distinct t1.menu_id, t1.parent_id, t1.menu_name, t1.path, t1.component, t1.`query`, t1.is_visible, t1.perms, t1.is_frame, t1.is_cache, t1.menu_type, t1.icon, t1.order_num, t1.create_time
|
select distinct t1.menu_id, t1.parent_id, t1.menu_name, t1.path, t1.component, t1.query, t1.is_visible, t1.perms, t1.is_frame, t1.is_cache, t1.menu_type, t1.icon, t1.order_num, t1.create_time
|
||||||
from sys_menu t1
|
from sys_menu t1
|
||||||
LEFT JOIN sys_role_menu t2
|
LEFT JOIN sys_role_menu t2
|
||||||
on t2.menu_id = t1.menu_id
|
on t2.menu_id = t1.menu_id
|
||||||
|
@ -59,10 +59,10 @@
|
|||||||
<if test="param.phone != null and param.phone != ''">
|
<if test="param.phone != null and param.phone != ''">
|
||||||
AND u.phone like concat('%', #{param.phone}, '%')
|
AND u.phone like concat('%', #{param.phone}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="param.beginTime != null and param.beginTime != ''">
|
<if test="param.beginTime != null">
|
||||||
AND u.create_time >= #{param.beginTime}
|
AND u.create_time >= #{param.beginTime}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.endTime != null and param.endTime != ''">
|
<if test="param.endTime != null">
|
||||||
AND u.create_time <= #{param.endTime}
|
AND u.create_time <= #{param.endTime}
|
||||||
</if>
|
</if>
|
||||||
${param.dataScope}
|
${param.dataScope}
|
||||||
|
@ -3,6 +3,7 @@ package com.qiaoba.module.tenant.filters;
|
|||||||
import cn.hutool.core.collection.ListUtil;
|
import cn.hutool.core.collection.ListUtil;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.qiaoba.common.base.code.TenantErrorCode;
|
import com.qiaoba.common.base.code.TenantErrorCode;
|
||||||
|
import com.qiaoba.common.base.constants.BaseConstant;
|
||||||
import com.qiaoba.common.base.constants.TenantConstant;
|
import com.qiaoba.common.base.constants.TenantConstant;
|
||||||
import com.qiaoba.common.base.context.BaseContext;
|
import com.qiaoba.common.base.context.BaseContext;
|
||||||
import com.qiaoba.common.database.config.DynamicDataSourceConfig;
|
import com.qiaoba.common.database.config.DynamicDataSourceConfig;
|
||||||
@ -86,10 +87,12 @@ public class DynamicDataSourceFilter extends OncePerRequestFilter {
|
|||||||
if (sysTenant.getMode().equals(SysTenant.DATASOURCE_MODE)) {
|
if (sysTenant.getMode().equals(SysTenant.DATASOURCE_MODE)) {
|
||||||
//设置当前租户对应的数据源
|
//设置当前租户对应的数据源
|
||||||
BaseContext.setDataSource(DynamicDatasourceConstant.MASTER_PREFIX + sysTenant.getTenantId());
|
BaseContext.setDataSource(DynamicDatasourceConstant.MASTER_PREFIX + sysTenant.getTenantId());
|
||||||
|
BaseContext.setDatabaseType(DynamicDataSourceConfig.TENANT_DATASOURCE_TYPE_MAP.get(sysTenant.getTenantId()));
|
||||||
}
|
}
|
||||||
// 字段模式 or Schema模式-数据源选择默认数据源
|
// 字段模式 or Schema模式-数据源选择默认数据源
|
||||||
else {
|
else {
|
||||||
BaseContext.setDataSource(DynamicDatasourceConstant.MASTER_PREFIX + TenantConstant.DEFAULT_TENANT_ID);
|
BaseContext.setDataSource(DynamicDatasourceConstant.MASTER_PREFIX + TenantConstant.DEFAULT_TENANT_ID);
|
||||||
|
BaseContext.setDatabaseType(DynamicDataSourceConfig.TENANT_DATASOURCE_TYPE_MAP.get(TenantConstant.DEFAULT_TENANT_ID));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user