【更新】重磅推出1.8版本,加入国密算法

This commit is contained in:
小诺 2021-12-16 21:14:07 +08:00 committed by 小诺
parent 6c4ddbde46
commit 6af158fb60
27 changed files with 633 additions and 471 deletions

View File

@ -6,17 +6,23 @@
### 框架介绍 ### 框架介绍
<div><h5>Snowy是小诺团队下基于SpringBoot+AntDesignVue开发的Java全新RBAC权限管理系统前后分离注释丰富代码简洁。在国策讲究自主可控的时候适配国产数据库金仓、达梦、主流数据库Mysql、Oracle、Mssql、Postgresql小诺的产品一致追求简洁干净一套代码搞定同时支持国产中间件部署、麒麟操作系统、Windows、Linux部署使用</h5></div> <div><h5>Snowy是一款基于国产密码算法后台权限管理系统其中采用了SM2、SM3、SM4及签名验签软件层面完全符合等保测评要求让更多的人认识密码使用密码。技术框架与密码结合让前后分离“密”不可分</h5></div>
<div><h4>结合SpringBoot+AntDesignVue开发注释丰富代码简洁。适配国产数据库金仓、达梦、主流数据库Mysql、Oracle、Mssql、Postgresql小诺的产品一致追求简洁干净一套代码搞定同时支持国产中间件部署、麒麟操作系统、Windows、Linux部署使用。</h4></div>
<div align="center"><h5 align="center">Snowy谐音“小诺”恰应小诺团队名称意思为”下雪的、纯洁的“寓意框架追求简洁至上大道至简。</h5></div> <div align="center"><h5 align="center">Snowy谐音“小诺”恰应小诺团队名称意思为”下雪的、纯洁的“寓意框架追求简洁至上大道至简。</h5></div>
<p align="center"> <p align="center">
<p align="center"> <p align="center">
<a href="https://gitee.com/xiaonuobase/snowy">
<img src="https://gitee.com/xiaonuobase/snowy/badge/star.svg?theme=dark" alt="Gitee star">
</a>
<a href="https://gitee.com/xiaonuobase/snowy">
<img src="https://gitee.com/xiaonuobase/snowy/badge/fork.svg?theme=dark" alt="Gitee fork">
</a>
<a href="https://www.antdv.com/docs/vue/introduce-cn/"> <a href="https://www.antdv.com/docs/vue/introduce-cn/">
<img src="https://img.shields.io/badge/vue-2.x-blue.svg" alt="bootstrap"> <img src="https://img.shields.io/badge/vue-2.x-blue.svg" alt="bootstrap">
</a> </a>
<a href="https://www.antdv.com/docs/vue/introduce-cn/"> <a href="https://www.antdv.com/docs/vue/introduce-cn/">
<img src="https://img.shields.io/badge/vue--ant--design-2.1.0-blue.svg" alt="bootstrap"> <img src="https://img.shields.io/badge/vue--ant--design-1.5.6-blue.svg" alt="bootstrap">
</a> </a>
<a href="http://spring.io/projects/spring-boot"> <a href="http://spring.io/projects/spring-boot">
<img src="https://img.shields.io/badge/spring--boot-2.3.1-green.svg" alt="spring-boot"> <img src="https://img.shields.io/badge/spring--boot-2.3.1-green.svg" alt="spring-boot">
@ -27,12 +33,6 @@
<a href="./LICENSE"> <a href="./LICENSE">
<img src="https://img.shields.io/badge/license-Apache%202-red" alt="license Apache 2.0"> <img src="https://img.shields.io/badge/license-Apache%202-red" alt="license Apache 2.0">
</a> </a>
<a href="https://gitee.com/xiaonuobase/snowy">
<img src="https://gitee.com/xiaonuobase/snowy/badge/star.svg?theme=dark" alt="Gitee star">
</a>
<a href="https://gitee.com/xiaonuobase/snowy">
<img src="https://gitee.com/xiaonuobase/snowy/badge/fork.svg?theme=dark" alt="Gitee fork">
</a>
</p> </p>
</p> </p>
@ -55,6 +55,17 @@
<img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&shareID=7fmSabTg&path=%7BshareItemLink%3A7fmSabTg%7D%2F"/> <img src="https://pan.xiaonuo.vip/?explorer/share/fileOut&shareID=7fmSabTg&path=%7BshareItemLink%3A7fmSabTg%7D%2F"/>
### 密码分步:fire:
| 功能 | 算法类型 |
| ---------------------- | ------------- |
| 登录 | SM2前端加密后端解密 |
| 登录登出日志 | SM2对登录登出日志做签名完整性保护存储 |
| 操作日志 | SM2对操作日志做签名完整性保护存储 |
| Token | SM4cbc模式加密Token不再曝光暴露 |
| 用户密码 | SM3完整性保护存储登录时做完整性校验 |
| 用户手机号 | SM4cbc模式加解密使用字段脱敏 |
### 视频教程:fire: ### 视频教程:fire:
| 序号 | 链接地址 | | 序号 | 链接地址 |

View File

@ -1,17 +1,17 @@
/* /*
Navicat Premium Data Transfer Navicat Premium Data Transfer
Source Server : mysql本地数据库 Source Server : Mysql
Source Server Type : MySQL Source Server Type : MySQL
Source Server Version : 80022 Source Server Version : 50710
Source Host : localhost:3306 Source Host : localhost:3306
Source Schema : snowy-pub Source Schema : snowy-pub
Target Server Type : MySQL Target Server Type : MySQL
Target Server Version : 80022 Target Server Version : 50710
File Encoding : 65001 File Encoding : 65001
Date: 15/04/2021 16:54:55 Date: 16/12/2021 21:06:15
*/ */
SET NAMES utf8mb4; SET NAMES utf8mb4;
@ -22,15 +22,15 @@ SET FOREIGN_KEY_CHECKS = 0;
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_app`; DROP TABLE IF EXISTS `sys_app`;
CREATE TABLE `sys_app` ( CREATE TABLE `sys_app` (
`id` bigint(0) NOT NULL COMMENT '主键id', `id` bigint(20) NOT NULL COMMENT '主键id',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '应用名称', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '应用名称',
`code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码',
`active` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否默认激活Y-是N-否)', `active` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否默认激活Y-是N-否)',
`status` tinyint(0) NOT NULL COMMENT '状态(字典 0正常 1停用 2删除', `status` tinyint(4) NOT NULL COMMENT '状态(字典 0正常 1停用 2删除',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '修改人', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '修改人',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统应用表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统应用表' ROW_FORMAT = Compact;
@ -38,7 +38,6 @@ CREATE TABLE `sys_app` (
-- Records of sys_app -- Records of sys_app
-- ---------------------------- -- ----------------------------
INSERT INTO `sys_app` VALUES (1265476890672672821, '系统应用', 'system', 'Y', 0, '2020-03-25 19:07:00', 1265476890672672808, '2020-08-15 15:23:05', 1280709549107552257); INSERT INTO `sys_app` VALUES (1265476890672672821, '系统应用', 'system', 'Y', 0, '2020-03-25 19:07:00', 1265476890672672808, '2020-08-15 15:23:05', 1280709549107552257);
INSERT INTO `sys_app` VALUES (1265476890672672822, '业务应用', 'business', 'N', 2, '2020-03-26 08:40:33', 1265476890672672808, '2020-09-23 22:00:01', 1265476890672672808);
INSERT INTO `sys_app` VALUES (1342445032647098369, '系统工具', 'system_tool', 'N', 0, '2020-12-25 20:20:12', 1265476890672672808, NULL, NULL); INSERT INTO `sys_app` VALUES (1342445032647098369, '系统工具', 'system_tool', 'N', 0, '2020-12-25 20:20:12', 1265476890672672808, NULL, NULL);
-- ---------------------------- -- ----------------------------
@ -46,33 +45,29 @@ INSERT INTO `sys_app` VALUES (1342445032647098369, '系统工具', 'system_tool'
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_area`; DROP TABLE IF EXISTS `sys_area`;
CREATE TABLE `sys_area` ( CREATE TABLE `sys_area` (
`id` bigint(0) UNSIGNED NOT NULL AUTO_INCREMENT, `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`level_code` tinyint(0) UNSIGNED COMMENT '层级', `level_code` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '层级',
`parent_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '父级行政代码', `parent_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '父级行政代码',
`area_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '行政代码', `area_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '行政代码',
`zip_code` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '邮政编码', `zip_code` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '邮政编码',
`city_code` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '区号', `city_code` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '区号',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '名称', `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '名称',
`short_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '简称', `short_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '简称',
`merger_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '组合名', `merger_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '组合名',
`pinyin` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '拼音', `pinyin` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '拼音',
`lng` decimal(10, 6) COMMENT '经度', `lng` decimal(10, 6) NULL DEFAULT NULL COMMENT '经度',
`lat` decimal(10, 6) COMMENT '纬度', `lat` decimal(10, 6) NULL DEFAULT NULL COMMENT '纬度',
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_code`(`area_code`) USING BTREE, UNIQUE INDEX `uk_code`(`area_code`) USING BTREE,
INDEX `idx_parent_code`(`parent_code`) USING BTREE INDEX `idx_parent_code`(`parent_code`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 783563 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '中国行政地区表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '中国行政地区表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_area
-- ----------------------------
-- ---------------------------- -- ----------------------------
-- Table structure for sys_code_generate -- Table structure for sys_code_generate
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_code_generate`; DROP TABLE IF EXISTS `sys_code_generate`;
CREATE TABLE `sys_code_generate` ( CREATE TABLE `sys_code_generate` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`author_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作者姓名', `author_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作者姓名',
`class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类名', `class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类名',
`table_prefix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否移除表前缀', `table_prefix` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否移除表前缀',
@ -81,26 +76,22 @@ CREATE TABLE `sys_code_generate` (
`package_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '包名称', `package_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '包名称',
`bus_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务名', `bus_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务名',
`table_comment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '功能名', `table_comment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '功能名',
`app_code` varchar(255) DEFAULT NULL COMMENT '所属应用', `app_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属应用',
`menu_pid` varchar(255) DEFAULT NULL COMMENT '菜单上级', `menu_pid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单上级',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '更新人', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成基础配置' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成基础配置' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_code_generate
-- ----------------------------
-- ---------------------------- -- ----------------------------
-- Table structure for sys_code_generate_config -- Table structure for sys_code_generate_config
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_code_generate_config`; DROP TABLE IF EXISTS `sys_code_generate_config`;
CREATE TABLE `sys_code_generate_config` ( CREATE TABLE `sys_code_generate_config` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`code_gen_id` bigint(0) NULL DEFAULT NULL COMMENT '代码生成主表ID', `code_gen_id` bigint(20) NULL DEFAULT NULL COMMENT '代码生成主表ID',
`column_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据库字段名', `column_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据库字段名',
`java_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'java类字段名', `java_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'java类字段名',
`data_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物理类型', `data_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物理类型',
@ -118,33 +109,29 @@ CREATE TABLE `sys_code_generate_config` (
`column_key_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '主外键名称', `column_key_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '主外键名称',
`whether_common` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否是通用字段', `whether_common` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否是通用字段',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '修改人', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '修改人',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成详细配置' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成详细配置' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_code_generate_config
-- ----------------------------
-- ---------------------------- -- ----------------------------
-- Table structure for sys_config -- Table structure for sys_config
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_config`; DROP TABLE IF EXISTS `sys_config`;
CREATE TABLE `sys_config` ( CREATE TABLE `sys_config` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
`code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码',
`value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '', `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '',
`sys_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否是系统参数Y-是N-否)', `sys_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否是系统参数Y-是N-否)',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`status` tinyint(0) NOT NULL COMMENT '状态(字典 0正常 1停用 2删除', `status` tinyint(4) NOT NULL COMMENT '状态(字典 0正常 1停用 2删除',
`group_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'DEFAULT' COMMENT '常量所属分类的编码,来自于“常量的分类”字典', `group_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'DEFAULT' COMMENT '常量所属分类的编码,来自于“常量的分类”字典',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '更新人', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统参数配置表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统参数配置表' ROW_FORMAT = Compact;
@ -175,30 +162,36 @@ INSERT INTO `sys_config` VALUES (1270380786649972739, 'linux/mac本地上传文
INSERT INTO `sys_config` VALUES (1270380786649982740, 'Snowy演示环境', 'SNOWY_DEMO_ENV_FLAG', 'false', 'Y', 'Snowy演示环境的开关true-打开false-关闭,如果演示环境开启,则只能读数据不能写数据', 0, 'DEFAULT', '2020-06-09 23:42:37', 1265476890672672808, '2020-09-03 14:38:17', 1265476890672672808); INSERT INTO `sys_config` VALUES (1270380786649982740, 'Snowy演示环境', 'SNOWY_DEMO_ENV_FLAG', 'false', 'Y', 'Snowy演示环境的开关true-打开false-关闭,如果演示环境开启,则只能读数据不能写数据', 0, 'DEFAULT', '2020-06-09 23:42:37', 1265476890672672808, '2020-09-03 14:38:17', 1265476890672672808);
INSERT INTO `sys_config` VALUES (1270380786649982741, 'Snowy放开XSS过滤的接口', 'SNOWY_UN_XSS_FILTER_URL', '/demo/xssfilter,/demo/unxss', 'Y', '多个url可以用英文逗号隔开', 0, 'DEFAULT', '2020-06-09 23:42:37', 1265476890672672808, NULL, NULL); INSERT INTO `sys_config` VALUES (1270380786649982741, 'Snowy放开XSS过滤的接口', 'SNOWY_UN_XSS_FILTER_URL', '/demo/xssfilter,/demo/unxss', 'Y', '多个url可以用英文逗号隔开', 0, 'DEFAULT', '2020-06-09 23:42:37', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_config` VALUES (1270380786649982742, '单用户登陆的开关', 'SNOWY_ENABLE_SINGLE_LOGIN', 'false', 'Y', '单用户登陆的开关true-打开false-关闭,如果一个人登录两次,就会将上一次登陆挤下去', 0, 'DEFAULT', '2020-06-09 23:42:37', 1265476890672672808, NULL, NULL); INSERT INTO `sys_config` VALUES (1270380786649982742, '单用户登陆的开关', 'SNOWY_ENABLE_SINGLE_LOGIN', 'false', 'Y', '单用户登陆的开关true-打开false-关闭,如果一个人登录两次,就会将上一次登陆挤下去', 0, 'DEFAULT', '2020-06-09 23:42:37', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_config` VALUES (1270380786649982743, '登录验证码的开关', 'SNOWY_CAPTCHA_OPEN', 'true', 'Y', '登录验证码的开关true-打开false-关闭', 0, 'DEFAULT', '2020-06-09 23:42:37', 1265476890672672808, NULL, NULL); INSERT INTO `sys_config` VALUES (1270380786649982743, '登录验证码的开关', 'SNOWY_CAPTCHA_OPEN', 'true', 'Y', '登录验证码的开关true-打开false-关闭', 0, 'DEFAULT', '2020-06-09 23:42:37', 1265476890672672808, '2021-12-16 19:43:29', 1265476890672672808);
INSERT INTO `sys_config` VALUES (1280694281648070659, '阿里云定位api接口地址', 'SNOWY_IP_GEO_API', 'http://api01.aliyun.venuscn.com/ip?ip=%s', 'Y', '阿里云定位api接口地址', 0, 'DEFAULT', '2020-07-20 10:44:46', 1265476890672672808, NULL, NULL); INSERT INTO `sys_config` VALUES (1280694281648070659, '阿里云定位api接口地址', 'SNOWY_IP_GEO_API', 'http://api01.aliyun.venuscn.com/ip?ip=%s', 'Y', '阿里云定位api接口地址', 0, 'DEFAULT', '2020-07-20 10:44:46', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_config` VALUES (1280694281648070660, '阿里云定位appCode', 'SNOWY_IP_GEO_APP_CODE', '461535aabeae4f34861884d392f5d452', 'Y', '阿里云定位appCode', 0, 'DEFAULT', '2020-07-20 10:44:46', 1265476890672672808, NULL, NULL); INSERT INTO `sys_config` VALUES (1280694281648070660, '阿里云定位appCode', 'SNOWY_IP_GEO_APP_CODE', '461535aabeae4f34861884d392f5d452', 'Y', '阿里云定位appCode', 0, 'DEFAULT', '2020-07-20 10:44:46', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_config` VALUES (1288309751255412737, 'Oauth用户登录的开关', 'SNOWY_ENABLE_OAUTH_LOGIN', 'true', 'Y', 'Oauth用户登录的开关', 0, 'OAUTH', '2020-07-29 11:05:55', 1265476890672672808, NULL, NULL); INSERT INTO `sys_config` VALUES (1288309751255412737, 'Oauth用户登录的开关', 'SNOWY_ENABLE_OAUTH_LOGIN', 'true', 'Y', 'Oauth用户登录的开关', 0, 'OAUTH', '2020-07-29 11:05:55', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_config` VALUES (1288310043346743297, 'Oauth码云登录ClientId', 'SNOWY_OAUTH_GITEE_CLIENT_ID', '你的clientId', 'Y', 'Oauth码云登录ClientId', 0, 'OAUTH', '2020-07-29 11:07:05', 1265476890672672808, NULL, NULL); INSERT INTO `sys_config` VALUES (1288310043346743297, 'Oauth码云登录ClientId', 'SNOWY_OAUTH_GITEE_CLIENT_ID', '你的clientId', 'Y', 'Oauth码云登录ClientId', 0, 'OAUTH', '2020-07-29 11:07:05', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_config` VALUES (1288310157876408321, 'Oauth码云登录ClientSecret', 'SNOWY_OAUTH_GITEE_CLIENT_SECRET', '你的clientSecret', 'Y', 'Oauth码云登录ClientSecret', 0, 'OAUTH', '2020-07-29 11:07:32', 1265476890672672808, NULL, NULL); INSERT INTO `sys_config` VALUES (1288310157876408321, 'Oauth码云登录ClientSecret', 'SNOWY_OAUTH_GITEE_CLIENT_SECRET', '你的clientSecret', 'Y', 'Oauth码云登录ClientSecret', 0, 'OAUTH', '2020-07-29 11:07:32', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_config` VALUES (1288310280056483841, 'Oauth码云登录回调地址', 'SNOWY_OAUTH_GITEE_REDIRECT_URI', 'http://localhost:83/oauth/callback/gitee', 'Y', 'Oauth码云登录回调地址', 0, 'OAUTH', '2020-07-29 11:08:01', 1265476890672672808, NULL, NULL); INSERT INTO `sys_config` VALUES (1288310280056483841, 'Oauth码云登录回调地址', 'SNOWY_OAUTH_GITEE_REDIRECT_URI', 'http://localhost:83/oauth/callback/gitee', 'Y', 'Oauth码云登录回调地址', 0, 'OAUTH', '2020-07-29 11:08:01', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_config` VALUES (1410861340761313282, '在线文档地址', 'SNOWY_ONLY_OFFICE_SERVICE_URL', 'https://xiaonuo.vip/', 'N', 'beizhu', 0, 'DEFAULT', '2021-07-02 15:22:11', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_config` VALUES (1471107941140008961, 'token是否加解密', 'SNOWY_TOKEN_ENCRYPTION_OPEN', 'true', 'Y', 'token是否加解密', 0, 'CRYPTOGRAM', '2021-12-15 21:20:40', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_config` VALUES (1471108086246150145, '操作日志是否加密', 'SNOWY_VISLOG_ENCRYPTION_OPEN', 'true', 'Y', '操作日志是否加密,默认开启', 0, 'CRYPTOGRAM', '2021-12-15 21:21:14', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_config` VALUES (1471108334985154562, '登录登出日志是否加密', 'SNOWY_OPLOG_ENCRYPTION_OPEN', 'true', 'Y', '登录登出日志是否加密', 0, 'CRYPTOGRAM', '2021-12-15 21:22:14', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_config` VALUES (1471108457198784514, '铭感字段值是否加解密', 'SNOWY_FIELD_ENC_DEC_OPEN', 'true', 'Y', '铭感字段值是否加解密,默认开启', 0, 'CRYPTOGRAM', '2021-12-15 21:22:43', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_config` VALUES (1471109091222482946, '是否开启租户功能', 'SNOWY_TENANT_OPEN', 'false', 'Y', '是否开启租户功能,默认关闭', 0, 'DEFAULT', '2021-12-15 21:25:14', 1265476890672672808, NULL, NULL);
-- ---------------------------- -- ----------------------------
-- Table structure for sys_dict_data -- Table structure for sys_dict_data
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_dict_data`; DROP TABLE IF EXISTS `sys_dict_data`;
CREATE TABLE `sys_dict_data` ( CREATE TABLE `sys_dict_data` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`type_id` bigint(0) NOT NULL COMMENT '字典类型id', `type_id` bigint(20) NOT NULL COMMENT '字典类型id',
`value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '', `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '',
`code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码',
`sort` int(0) NOT NULL COMMENT '排序', `sort` int(11) NOT NULL COMMENT '排序',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`status` tinyint(0) NOT NULL COMMENT '状态(字典 0正常 1停用 2删除', `status` tinyint(4) NOT NULL COMMENT '状态(字典 0正常 1停用 2删除',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '更新人', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统字典值表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统字典值表' ROW_FORMAT = Compact;
@ -295,22 +288,23 @@ INSERT INTO `sys_dict_data` VALUES (1358756685030957057, 1358457818733428737, '
INSERT INTO `sys_dict_data` VALUES (1358756800525312001, 1358457818733428737, '小于等于', 'le', 6, '小于等于', 0, '2021-02-08 20:37:20', 1265476890672672808, '2021-02-13 23:45:40', 1265476890672672808); INSERT INTO `sys_dict_data` VALUES (1358756800525312001, 1358457818733428737, '小于等于', 'le', 6, '小于等于', 0, '2021-02-08 20:37:20', 1265476890672672808, '2021-02-13 23:45:40', 1265476890672672808);
INSERT INTO `sys_dict_data` VALUES (1360529773814083586, 1358094419419750401, '文本域', 'textarea', 100, '文本域', 0, '2021-02-13 18:02:30', 1265476890672672808, NULL, NULL); INSERT INTO `sys_dict_data` VALUES (1360529773814083586, 1358094419419750401, '文本域', 'textarea', 100, '文本域', 0, '2021-02-13 18:02:30', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (1360606105914732545, 1358457818733428737, '不为空', 'isNotNull', 8, '不为空', 0, '2021-02-13 23:05:49', 1265476890672672808, '2021-02-13 23:45:50', 1265476890672672808); INSERT INTO `sys_dict_data` VALUES (1360606105914732545, 1358457818733428737, '不为空', 'isNotNull', 8, '不为空', 0, '2021-02-13 23:05:49', 1265476890672672808, '2021-02-13 23:45:50', 1265476890672672808);
INSERT INTO `sys_dict_data` VALUES (1471107569499508737, 1265216211667636235, '加密配置', 'CRYPTOGRAM', 100, '加密配置,默认全开', 0, '2021-12-15 21:19:11', 1265476890672672808, '2021-12-15 21:19:24', 1265476890672672808);
-- ---------------------------- -- ----------------------------
-- Table structure for sys_dict_type -- Table structure for sys_dict_type
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_dict_type`; DROP TABLE IF EXISTS `sys_dict_type`;
CREATE TABLE `sys_dict_type` ( CREATE TABLE `sys_dict_type` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
`code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码',
`sort` int(0) NOT NULL COMMENT '排序', `sort` int(11) NOT NULL COMMENT '排序',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`status` tinyint(0) NOT NULL COMMENT '状态(字典 0正常 1停用 2删除', `status` tinyint(4) NOT NULL COMMENT '状态(字典 0正常 1停用 2删除',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '更新人', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统字典类型表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统字典类型表' ROW_FORMAT = Compact;
@ -344,9 +338,9 @@ INSERT INTO `sys_dict_type` VALUES (1358470065111252994, '代码生成java类型
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_emp`; DROP TABLE IF EXISTS `sys_emp`;
CREATE TABLE `sys_emp` ( CREATE TABLE `sys_emp` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`job_num` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工号', `job_num` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工号',
`org_id` bigint(0) NOT NULL COMMENT '所属机构id', `org_id` bigint(20) NOT NULL COMMENT '所属机构id',
`org_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属机构名称', `org_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属机构名称',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '员工表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '员工表' ROW_FORMAT = Compact;
@ -354,97 +348,91 @@ CREATE TABLE `sys_emp` (
-- ---------------------------- -- ----------------------------
-- Records of sys_emp -- Records of sys_emp
-- ---------------------------- -- ----------------------------
INSERT INTO `sys_emp` VALUES (1275735541155614721, '102', 1265476890672672769, '华夏集团北京分公司'); INSERT INTO `sys_emp` VALUES (1275735541155614721, '001', 1265476890672672769, '华夏集团新疆分公司');
INSERT INTO `sys_emp` VALUES (1280700700074041345, '110', 1265476890672672771, '研发部'); INSERT INTO `sys_emp` VALUES (1280700700074041345, '110', 1265476890672672771, '研发部');
INSERT INTO `sys_emp` VALUES (1280709549107552257, '100', 1265476890672672770, '华夏集团成都分公司'); INSERT INTO `sys_emp` VALUES (1280709549107552257, NULL, 1265476890672672770, '华夏集团成都分公司');
INSERT INTO `sys_emp` VALUES (1471457941179072513, NULL, 1265476890672672770, '华夏集团成都分公司');
-- ---------------------------- -- ----------------------------
-- Table structure for sys_emp_ext_org_pos -- Table structure for sys_emp_ext_org_pos
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_emp_ext_org_pos`; DROP TABLE IF EXISTS `sys_emp_ext_org_pos`;
CREATE TABLE `sys_emp_ext_org_pos` ( CREATE TABLE `sys_emp_ext_org_pos` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`emp_id` bigint(0) NOT NULL COMMENT '员工id', `emp_id` bigint(20) NOT NULL COMMENT '员工id',
`org_id` bigint(0) NOT NULL COMMENT '机构id', `org_id` bigint(20) NOT NULL COMMENT '机构id',
`pos_id` bigint(0) NOT NULL COMMENT '岗位id', `pos_id` bigint(20) NOT NULL COMMENT '岗位id',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '员工附属机构岗位表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '员工附属机构岗位表' ROW_FORMAT = Compact;
-- ----------------------------
-- Records of sys_emp_ext_org_pos
-- ----------------------------
-- ---------------------------- -- ----------------------------
-- Table structure for sys_emp_pos -- Table structure for sys_emp_pos
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_emp_pos`; DROP TABLE IF EXISTS `sys_emp_pos`;
CREATE TABLE `sys_emp_pos` ( CREATE TABLE `sys_emp_pos` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`emp_id` bigint(0) NOT NULL COMMENT '员工id', `emp_id` bigint(20) NOT NULL COMMENT '员工id',
`pos_id` bigint(0) NOT NULL COMMENT '职位id', `pos_id` bigint(20) NOT NULL COMMENT '职位id',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '员工职位关联表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '员工职位关联表' ROW_FORMAT = Compact;
-- ---------------------------- -- ----------------------------
-- Records of sys_emp_pos -- Records of sys_emp_pos
-- ---------------------------- -- ----------------------------
INSERT INTO `sys_emp_pos` VALUES (1280710811995709441, 1275735541155614721, 1265476890672672787);
INSERT INTO `sys_emp_pos` VALUES (1280710828479324161, 1280700700074041345, 1265476890672672790); INSERT INTO `sys_emp_pos` VALUES (1280710828479324161, 1280700700074041345, 1265476890672672790);
INSERT INTO `sys_emp_pos` VALUES (1281042262003867649, 1280709549107552257, 1265476890672672787); INSERT INTO `sys_emp_pos` VALUES (1471445188582375425, 1275735541155614721, 1265476890672672787);
INSERT INTO `sys_emp_pos` VALUES (1471457757112041474, 1280709549107552257, 1265476890672672788);
INSERT INTO `sys_emp_pos` VALUES (1471457941179072514, 1471457941179072513, 1265476890672672788);
-- ---------------------------- -- ----------------------------
-- Table structure for sys_file_info -- Table structure for sys_file_info
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_file_info`; DROP TABLE IF EXISTS `sys_file_info`;
CREATE TABLE `sys_file_info` ( CREATE TABLE `sys_file_info` (
`id` bigint(0) NOT NULL COMMENT '主键id', `id` bigint(20) NOT NULL COMMENT '主键id',
`file_location` tinyint(0) NOT NULL COMMENT '文件存储位置1:阿里云2:腾讯云3:minio4:本地)', `file_location` tinyint(4) NOT NULL COMMENT '文件存储位置1:阿里云2:腾讯云3:minio4:本地)',
`file_bucket` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件仓库', `file_bucket` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件仓库',
`file_origin_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件名称(上传时候的文件名)', `file_origin_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件名称(上传时候的文件名)',
`file_suffix` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件后缀', `file_suffix` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件后缀',
`file_size_kb` bigint(0) NULL DEFAULT NULL COMMENT '文件大小kb', `file_size_kb` bigint(20) NULL DEFAULT NULL COMMENT '文件大小kb',
`file_size_info` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件大小信息,计算后的', `file_size_info` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件大小信息,计算后的',
`file_object_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储到bucket的名称文件唯一标识id', `file_object_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储到bucket的名称文件唯一标识id',
`file_path` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存储路径', `file_path` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存储路径',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建用户', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建用户',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '修改用户', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '修改用户',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文件信息表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文件信息表' ROW_FORMAT = Compact;
-- ----------------------------
-- Records of sys_file_info
-- ----------------------------
-- ---------------------------- -- ----------------------------
-- Table structure for sys_menu -- Table structure for sys_menu
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_menu`; DROP TABLE IF EXISTS `sys_menu`;
CREATE TABLE `sys_menu` ( CREATE TABLE `sys_menu` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`pid` bigint(0) NOT NULL COMMENT '父id', `pid` bigint(20) NOT NULL COMMENT '父id',
`pids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '父ids', `pids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '父ids',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
`code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码',
`type` tinyint(0) NOT NULL DEFAULT 1 COMMENT '菜单类型(字典 0目录 1菜单 2按钮', `type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '菜单类型(字典 0目录 1菜单 2按钮',
`icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图标', `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图标',
`router` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由地址', `router` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由地址',
`component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件地址', `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件地址',
`permission` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限标识', `permission` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限标识',
`application` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '应用分类(应用编码)', `application` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '应用分类(应用编码)',
`open_type` tinyint(0) NOT NULL COMMENT '打开方式(字典 0无 1组件 2内链 3外链', `open_type` tinyint(4) NOT NULL COMMENT '打开方式(字典 0无 1组件 2内链 3外链',
`visible` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否可见Y-是N-否)', `visible` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否可见Y-是N-否)',
`link` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '链接地址', `link` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '链接地址',
`redirect` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '重定向地址', `redirect` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '重定向地址',
`weight` tinyint(0) NULL DEFAULT NULL COMMENT '权重(字典 1系统权重 2业务权重', `weight` tinyint(4) NULL DEFAULT NULL COMMENT '权重(字典 1系统权重 2业务权重',
`sort` int(0) NOT NULL COMMENT '排序', `sort` int(11) NOT NULL COMMENT '排序',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`status` tinyint(0) NOT NULL DEFAULT 0 COMMENT '状态(字典 0正常 1停用 2删除', `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '状态(字典 0正常 1停用 2删除',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '修改人', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '修改人',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统菜单表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统菜单表' ROW_FORMAT = Compact;
@ -581,7 +569,6 @@ INSERT INTO `sys_menu` VALUES (1264622039642256571, 1264622039642256531, '[0],[1
INSERT INTO `sys_menu` VALUES (1264622039642256581, 1264622039642256531, '[0],[1264622039642256521],[1264622039642256531],', '文件上传', 'sys_file_mgr_sys_file_upload', 2, NULL, NULL, NULL, 'sysFileInfo:upload', 'system', 0, 'Y', NULL, NULL, 1, 100, NULL, 0, '2020-06-24 17:34:29', 1265476890672672808, NULL, NULL); INSERT INTO `sys_menu` VALUES (1264622039642256581, 1264622039642256531, '[0],[1264622039642256521],[1264622039642256531],', '文件上传', 'sys_file_mgr_sys_file_upload', 2, NULL, NULL, NULL, 'sysFileInfo:upload', 'system', 0, 'Y', NULL, NULL, 1, 100, NULL, 0, '2020-06-24 17:34:29', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_menu` VALUES (1264622039642256591, 1264622039642256531, '[0],[1264622039642256521],[1264622039642256531],', '文件下载', 'sys_file_mgr_sys_file_download', 2, NULL, NULL, NULL, 'sysFileInfo:download', 'system', 0, 'Y', NULL, NULL, 1, 100, NULL, 0, '2020-06-24 17:34:55', 1265476890672672808, NULL, NULL); INSERT INTO `sys_menu` VALUES (1264622039642256591, 1264622039642256531, '[0],[1264622039642256521],[1264622039642256531],', '文件下载', 'sys_file_mgr_sys_file_download', 2, NULL, NULL, NULL, 'sysFileInfo:download', 'system', 0, 'Y', NULL, NULL, 1, 100, NULL, 0, '2020-06-24 17:34:55', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_menu` VALUES (1264622039642256601, 1264622039642256531, '[0],[1264622039642256521],[1264622039642256531],', '图片预览', 'sys_file_mgr_sys_file_preview', 2, NULL, NULL, NULL, 'sysFileInfo:preview', 'system', 0, 'Y', NULL, NULL, 1, 100, NULL, 0, '2020-06-24 17:35:19', 1265476890672672808, NULL, NULL); INSERT INTO `sys_menu` VALUES (1264622039642256601, 1264622039642256531, '[0],[1264622039642256521],[1264622039642256531],', '图片预览', 'sys_file_mgr_sys_file_preview', 2, NULL, NULL, NULL, 'sysFileInfo:preview', 'system', 0, 'Y', NULL, NULL, 1, 100, NULL, 0, '2020-06-24 17:35:19', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_menu` VALUES (1264622039642256602, 1264622039642256521, '[0],[1264622039642256521],', '在线文档', 'sys_file_mgr_sys_online_file', 1, NULL, '/fileOnline', '/system/fileOnline/index', NULL, 'system', 1, 'Y', NULL, NULL, 1, 21, NULL, 0, '2020-06-24 17:32:57', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_menu` VALUES (1264622039642256611, 0, '[0],', '定时任务', 'sys_timers', 0, 'dashboard', '/timers', 'PageView', NULL, 'system', 1, 'Y', NULL, NULL, 1, 100, NULL, 0, '2020-07-01 17:17:20', 1265476890672672808, NULL, NULL); INSERT INTO `sys_menu` VALUES (1264622039642256611, 0, '[0],', '定时任务', 'sys_timers', 0, 'dashboard', '/timers', 'PageView', NULL, 'system', 1, 'Y', NULL, NULL, 1, 100, NULL, 0, '2020-07-01 17:17:20', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_menu` VALUES (1264622039642256621, 1264622039642256611, '[0],[1264622039642256611],', '任务管理', 'sys_timers_mgr', 1, NULL, '/timers', 'system/timers/index', NULL, 'system', 1, 'Y', NULL, NULL, 1, 22, NULL, 0, '2020-07-01 17:18:53', 1265476890672672808, NULL, NULL); INSERT INTO `sys_menu` VALUES (1264622039642256621, 1264622039642256611, '[0],[1264622039642256611],', '任务管理', 'sys_timers_mgr', 1, NULL, '/timers', 'system/timers/index', NULL, 'system', 1, 'Y', NULL, NULL, 1, 22, NULL, 0, '2020-07-01 17:18:53', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_menu` VALUES (1264622039642256631, 1264622039642256621, '[0],[1264622039642256611],[1264622039642256621],', '定时任务查询', 'sys_timers_mgr_page', 2, NULL, NULL, NULL, 'sysTimers:page', 'system', 0, 'Y', NULL, NULL, 1, 100, NULL, 0, '2020-07-01 17:19:43', 1265476890672672808, NULL, NULL); INSERT INTO `sys_menu` VALUES (1264622039642256631, 1264622039642256621, '[0],[1264622039642256611],[1264622039642256621],', '定时任务查询', 'sys_timers_mgr_page', 2, NULL, NULL, NULL, 'sysTimers:page', 'system', 0, 'Y', NULL, NULL, 1, 100, NULL, 0, '2020-07-01 17:19:43', 1265476890672672808, NULL, NULL);
@ -597,57 +584,55 @@ INSERT INTO `sys_menu` VALUES (1264622039642256721, 0, '[0],', '区域管理', '
INSERT INTO `sys_menu` VALUES (1264622039642256731, 1264622039642256721, '[0],[1264622039642256721],', '系统区域', 'sys_area_mgr', 1, NULL, '/area', 'system/area/index', NULL, 'system', 1, 'Y', NULL, NULL, 1, 100, NULL, 0, '2021-05-19 13:57:42', 1265476890672672808, NULL, NULL); INSERT INTO `sys_menu` VALUES (1264622039642256731, 1264622039642256721, '[0],[1264622039642256721],', '系统区域', 'sys_area_mgr', 1, NULL, '/area', 'system/area/index', NULL, 'system', 1, 'Y', NULL, NULL, 1, 100, NULL, 0, '2021-05-19 13:57:42', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_menu` VALUES (1264622039642256741, 1264622039642256731, '[0],[1264622039642256721],[1264622039642256731],', '系统区域列表', 'sys_area_mgr_list', 2, NULL, NULL, NULL, 'sysArea:list', 'system', 0, 'Y', NULL, NULL, 1, 100, NULL, 0, '2021-05-19 14:01:39', 1265476890672672808, NULL, NULL); INSERT INTO `sys_menu` VALUES (1264622039642256741, 1264622039642256731, '[0],[1264622039642256721],[1264622039642256731],', '系统区域列表', 'sys_area_mgr_list', 2, NULL, NULL, NULL, 'sysArea:list', 'system', 0, 'Y', NULL, NULL, 1, 100, NULL, 0, '2021-05-19 14:01:39', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_menu` VALUES (1342445437296771074, 0, '[0],', '代码生成', 'code_gen', 1, 'thunderbolt', '/codeGenerate/index', 'gen/codeGenerate/index', NULL, 'system_tool', 1, 'Y', NULL, NULL, 1, 100, NULL, 0, '2020-12-25 20:21:48', 1265476890672672808, NULL, NULL); INSERT INTO `sys_menu` VALUES (1342445437296771074, 0, '[0],', '代码生成', 'code_gen', 1, 'thunderbolt', '/codeGenerate/index', 'gen/codeGenerate/index', NULL, 'system_tool', 1, 'Y', NULL, NULL, 1, 100, NULL, 0, '2020-12-25 20:21:48', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_menu` VALUES (1402971858263420929, 0, '[0],', '测试', '22222', 1, 'border-bottom', '/mains', 'main/test', '', 'system_tool', 1, 'Y', NULL, '', 1, 100, NULL, 2, '2021-06-10 20:52:12', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_menu` VALUES (1402997519589912577, 0, '[0],', '拖动', 'tuodong', 1, 'menu-unfold', '/vxeTable', 'main/vxeTable', '', 'system_tool', 1, 'Y', NULL, '', 1, 100, NULL, 2, '2021-06-10 22:34:10', 1265476890672672808, '2021-06-10 22:34:49', 1265476890672672808);
INSERT INTO `sys_menu` VALUES (1410859007809736705, 1264622039642256521, '[0],[1264622039642256521],', '在线文档', 'file_oline', 1, '', '/file_oline', 'system/fileOnline/index', '', 'system', 1, 'Y', NULL, '', 1, 100, NULL, 0, '2021-07-02 15:12:55', 1265476890672672808, '2021-08-25 20:02:46', 1265476890672672808);
INSERT INTO `sys_menu` VALUES (1465891999388803073, 1264622039642255961, '[0],[1264622039642255961],', 'sdfsadsa', 'sdfasdsa', 1, NULL, '/timers1', '', '', 'system', 3, 'Y', 'https://snowy.xiaonuo.vip/timers', '', 1, 100, NULL, 2, '2021-12-01 11:54:22', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_menu` VALUES (1465892080888324097, 1264622039642255961, '[0],[1264622039642255961],', 'asdfasfas', 'sdfasdfas', 1, NULL, '/sdfsfsdf', '', '', 'system', 3, 'Y', 'https://snowy.xiaonuo.vip/timers', '', 1, 100, NULL, 2, '2021-12-01 11:54:42', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_menu` VALUES (1465892187004215298, 1264622039642255961, '[0],[1264622039642255961],', 'rwerwqrwqr', 'rwrqwrwqrq', 1, NULL, '/fsfasfasfa', '', '', 'system', 3, 'Y', 'https://snowy.xiaonuo.vip/timers', '', 1, 100, NULL, 2, '2021-12-01 11:55:07', 1265476890672672808, NULL, NULL);
-- ---------------------------- -- ----------------------------
-- Table structure for sys_notice -- Table structure for sys_notice
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_notice`; DROP TABLE IF EXISTS `sys_notice`;
CREATE TABLE `sys_notice` ( CREATE TABLE `sys_notice` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`title` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', `title` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容', `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容',
`type` tinyint(0) NOT NULL COMMENT '类型(字典 1通知 2公告', `type` tinyint(4) NOT NULL COMMENT '类型(字典 1通知 2公告',
`public_user_id` bigint(0) NOT NULL COMMENT '发布人id', `public_user_id` bigint(20) NOT NULL COMMENT '发布人id',
`public_user_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '发布人姓名', `public_user_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '发布人姓名',
`public_org_id` bigint(0) NULL DEFAULT NULL COMMENT '发布机构id', `public_org_id` bigint(20) NULL DEFAULT NULL COMMENT '发布机构id',
`public_org_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发布机构名称', `public_org_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发布机构名称',
`public_time` datetime(0) NULL DEFAULT NULL COMMENT '发布时间', `public_time` datetime(0) NULL DEFAULT NULL COMMENT '发布时间',
`cancel_time` datetime(0) NULL DEFAULT NULL COMMENT '撤回时间', `cancel_time` datetime(0) NULL DEFAULT NULL COMMENT '撤回时间',
`status` tinyint(0) NOT NULL COMMENT '状态(字典 0草稿 1发布 2撤回 3删除', `status` tinyint(4) NOT NULL COMMENT '状态(字典 0草稿 1发布 2撤回 3删除',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '修改人', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '修改人',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '通知表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '通知表' ROW_FORMAT = Compact;
-- ----------------------------
-- Records of sys_notice
-- ----------------------------
-- ---------------------------- -- ----------------------------
-- Table structure for sys_notice_user -- Table structure for sys_notice_user
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_notice_user`; DROP TABLE IF EXISTS `sys_notice_user`;
CREATE TABLE `sys_notice_user` ( CREATE TABLE `sys_notice_user` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`notice_id` bigint(0) NOT NULL COMMENT '通知公告id', `notice_id` bigint(20) NOT NULL COMMENT '通知公告id',
`user_id` bigint(0) NOT NULL COMMENT '用户id', `user_id` bigint(20) NOT NULL COMMENT '用户id',
`status` tinyint(0) NOT NULL COMMENT '状态(字典 0未读 1已读', `status` tinyint(4) NOT NULL COMMENT '状态(字典 0未读 1已读',
`read_time` datetime(0) NULL DEFAULT NULL COMMENT '阅读时间', `read_time` datetime(0) NULL DEFAULT NULL COMMENT '阅读时间',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统用户数据范围表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统用户数据范围表' ROW_FORMAT = Compact;
-- ----------------------------
-- Records of sys_notice_user
-- ----------------------------
-- ---------------------------- -- ----------------------------
-- Table structure for sys_oauth_user -- Table structure for sys_oauth_user
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_oauth_user`; DROP TABLE IF EXISTS `sys_oauth_user`;
CREATE TABLE `sys_oauth_user` ( CREATE TABLE `sys_oauth_user` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`uuid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '第三方平台的用户唯一id', `uuid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '第三方平台的用户唯一id',
`access_token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户授权的token', `access_token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户授权的token',
`nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称', `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称',
@ -660,24 +645,20 @@ CREATE TABLE `sys_oauth_user` (
`source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户来源', `source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户来源',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户备注(各平台中的用户个人介绍)', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户备注(各平台中的用户个人介绍)',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建用户', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建用户',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '更新用户', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '更新用户',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '第三方认证用户信息表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '第三方认证用户信息表' ROW_FORMAT = Compact;
-- ----------------------------
-- Records of sys_oauth_user
-- ----------------------------
-- ---------------------------- -- ----------------------------
-- Table structure for sys_op_log -- Table structure for sys_op_log
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_op_log`; DROP TABLE IF EXISTS `sys_op_log`;
CREATE TABLE `sys_op_log` ( CREATE TABLE `sys_op_log` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称',
`op_type` tinyint(0) NULL DEFAULT NULL COMMENT '操作类型', `op_type` tinyint(4) NULL DEFAULT NULL COMMENT '操作类型',
`success` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否执行成功Y-是N-否)', `success` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否执行成功Y-是N-否)',
`message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '具体消息', `message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '具体消息',
`ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ip', `ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ip',
@ -692,30 +673,27 @@ CREATE TABLE `sys_op_log` (
`result` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '返回结果', `result` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '返回结果',
`op_time` datetime(0) NULL DEFAULT NULL COMMENT '操作时间', `op_time` datetime(0) NULL DEFAULT NULL COMMENT '操作时间',
`account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作账号', `account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作账号',
`sign_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名数据除ID外',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统操作日志表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统操作日志表' ROW_FORMAT = Compact;
-- ----------------------------
-- Records of sys_op_log
-- ----------------------------
-- ---------------------------- -- ----------------------------
-- Table structure for sys_org -- Table structure for sys_org
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_org`; DROP TABLE IF EXISTS `sys_org`;
CREATE TABLE `sys_org` ( CREATE TABLE `sys_org` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`pid` bigint(0) NOT NULL COMMENT '父id', `pid` bigint(20) NOT NULL COMMENT '父id',
`pids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '父ids', `pids` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '父ids',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
`code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码',
`sort` int(0) NOT NULL COMMENT '排序', `sort` int(11) NOT NULL COMMENT '排序',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
`status` tinyint(0) NOT NULL DEFAULT 0 COMMENT '状态(字典 0正常 1停用 2删除', `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '状态(字典 0正常 1停用 2删除',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '更新人', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统组织机构表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统组织机构表' ROW_FORMAT = Compact;
@ -723,10 +701,10 @@ CREATE TABLE `sys_org` (
-- Records of sys_org -- Records of sys_org
-- ---------------------------- -- ----------------------------
INSERT INTO `sys_org` VALUES (1265476890651701250, 0, '[0],', '华夏集团', 'hxjt', 100, '华夏集团总公司', 0, '2020-03-26 16:50:53', 1265476890672672808, NULL, NULL); INSERT INTO `sys_org` VALUES (1265476890651701250, 0, '[0],', '华夏集团', 'hxjt', 100, '华夏集团总公司', 0, '2020-03-26 16:50:53', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_org` VALUES (1265476890672672769, 1265476890651701250, '[0],[1265476890651701250],', '华夏集团北京分公司', 'hxjt_bj', 100, '华夏集团北京分公司', 0, '2020-03-26 16:55:42', 1265476890672672808, NULL, NULL); INSERT INTO `sys_org` VALUES (1265476890672672769, 1265476890651701250, '[0],[1265476890651701250],', '华夏集团乌鲁木齐分公司', 'hxjt_wlmq', 100, '华夏集团乌鲁木齐分公司', 0, '2020-03-26 16:55:42', 1265476890672672808, '2021-12-16 20:29:38', 1265476890672672808);
INSERT INTO `sys_org` VALUES (1265476890672672770, 1265476890651701250, '[0],[1265476890651701250],', '华夏集团成都分公司', 'hxjt_cd', 100, '华夏集团成都分公司', 0, '2020-03-26 16:56:02', 1265476890672672808, NULL, NULL); INSERT INTO `sys_org` VALUES (1265476890672672770, 1265476890651701250, '[0],[1265476890651701250],', '华夏集团成都分公司', 'hxjt_cd', 100, '华夏集团成都分公司', 0, '2020-03-26 16:56:02', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_org` VALUES (1265476890672672771, 1265476890672672769, '[0],[1265476890651701250],[1265476890672672769],', '研发部', 'hxjt_bj_yfb', 100, '华夏集团北京分公司研发部', 0, '2020-03-26 16:56:36', 1265476890672672808, NULL, NULL); INSERT INTO `sys_org` VALUES (1265476890672672771, 1265476890672672769, '[0],[1265476890651701250],[1265476890672672769],', '研发部', 'hxjt_wlmq_yfb', 100, '华夏集团乌鲁木齐分公司研发部', 0, '2020-03-26 16:56:36', 1265476890672672808, '2021-12-16 20:29:38', 1265476890672672808);
INSERT INTO `sys_org` VALUES (1265476890672672772, 1265476890672672769, '[0],[1265476890651701250],[1265476890672672769],', '企划部', 'hxjt_bj_qhb', 100, '华夏集团北京分公司企划部', 0, '2020-03-26 16:57:06', 1265476890672672808, NULL, NULL); INSERT INTO `sys_org` VALUES (1265476890672672772, 1265476890672672769, '[0],[1265476890651701250],[1265476890672672769],', '企划部', 'hxjt_wlmq_qhb', 100, '华夏集团乌鲁木齐分公司企划部', 0, '2020-03-26 16:57:06', 1265476890672672808, '2021-12-16 20:29:38', 1265476890672672808);
INSERT INTO `sys_org` VALUES (1265476890672672773, 1265476890672672770, '[0],[1265476890651701250],[1265476890672672770],', '市场部', 'hxjt_cd_scb', 100, '华夏集团成都分公司市场部', 0, '2020-03-26 16:57:35', 1265476890672672808, NULL, NULL); INSERT INTO `sys_org` VALUES (1265476890672672773, 1265476890672672770, '[0],[1265476890651701250],[1265476890672672770],', '市场部', 'hxjt_cd_scb', 100, '华夏集团成都分公司市场部', 0, '2020-03-26 16:57:35', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_org` VALUES (1265476890672672774, 1265476890672672770, '[0],[1265476890651701250],[1265476890672672770],', '财务部', 'hxjt_cd_cwb', 100, '华夏集团成都分公司财务部', 0, '2020-03-26 16:58:01', 1265476890672672808, NULL, NULL); INSERT INTO `sys_org` VALUES (1265476890672672774, 1265476890672672770, '[0],[1265476890651701250],[1265476890672672770],', '财务部', 'hxjt_cd_cwb', 100, '华夏集团成都分公司财务部', 0, '2020-03-26 16:58:01', 1265476890672672808, NULL, NULL);
INSERT INTO `sys_org` VALUES (1265476890672672775, 1265476890672672773, '[0],[1265476890651701250],[1265476890672672770],[1265476890672672773],', '市场部二部', 'hxjt_cd_scb_2b', 100, '华夏集团成都分公司市场部二部', 0, '2020-04-06 15:36:50', 1265476890672672808, NULL, NULL); INSERT INTO `sys_org` VALUES (1265476890672672775, 1265476890672672773, '[0],[1265476890651701250],[1265476890672672770],[1265476890672672773],', '市场部二部', 'hxjt_cd_scb_2b', 100, '华夏集团成都分公司市场部二部', 0, '2020-04-06 15:36:50', 1265476890672672808, NULL, NULL);
@ -736,16 +714,16 @@ INSERT INTO `sys_org` VALUES (1265476890672672775, 1265476890672672773, '[0],[12
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_pos`; DROP TABLE IF EXISTS `sys_pos`;
CREATE TABLE `sys_pos` ( CREATE TABLE `sys_pos` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
`code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码',
`sort` int(0) NOT NULL COMMENT '排序', `sort` int(11) NOT NULL COMMENT '排序',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`status` tinyint(0) NOT NULL DEFAULT 0 COMMENT '状态(字典 0正常 1停用 2删除', `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '状态(字典 0正常 1停用 2删除',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '更新人', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `CODE_UNI`(`code`) USING BTREE UNIQUE INDEX `CODE_UNI`(`code`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统职位表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统职位表' ROW_FORMAT = Compact;
@ -763,24 +741,24 @@ INSERT INTO `sys_pos` VALUES (1265476890672672790, '工作人员', 'gzry', 100,
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_role`; DROP TABLE IF EXISTS `sys_role`;
CREATE TABLE `sys_role` ( CREATE TABLE `sys_role` (
`id` bigint(0) NOT NULL COMMENT '主键id', `id` bigint(20) NOT NULL COMMENT '主键id',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
`code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码', `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码',
`sort` int(0) NOT NULL COMMENT '序号', `sort` int(11) NOT NULL COMMENT '序号',
`data_scope_type` tinyint(0) NOT NULL DEFAULT 1 COMMENT '数据范围类型(字典 1全部数据 2本部门及以下数据 3本部门数据 4仅本人数据 5自定义数据', `data_scope_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '数据范围类型(字典 1全部数据 2本部门及以下数据 3本部门数据 4仅本人数据 5自定义数据',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`status` tinyint(0) NOT NULL DEFAULT 0 COMMENT '状态(字典 0正常 1停用 2删除', `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '状态(字典 0正常 1停用 2删除',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '更新人', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统角色表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统角色表' ROW_FORMAT = Compact;
-- ---------------------------- -- ----------------------------
-- Records of sys_role -- Records of sys_role
-- ---------------------------- -- ----------------------------
INSERT INTO `sys_role` VALUES (1265476890672672817, '组织架构管理员', 'ent_manager_role', 100, 1, '组织架构管理员', 0, '2020-04-02 19:27:26', 1265476890672672808, '2020-09-12 15:54:07', 1265476890672672808); INSERT INTO `sys_role` VALUES (1265476890672672817, '组织架构管理员', 'ent_manager_role', 100, 1, '组织架构管理员', 0, '2020-04-02 19:27:26', 1265476890672672808, '2021-07-07 19:44:03', 1265476890672672808);
INSERT INTO `sys_role` VALUES (1265476890672672818, '权限管理员', 'auth_role', 101, 5, '权限管理员', 0, '2020-04-02 19:28:40', 1265476890672672808, '2020-07-16 10:52:21', 1265476890672672808); INSERT INTO `sys_role` VALUES (1265476890672672818, '权限管理员', 'auth_role', 101, 5, '权限管理员', 0, '2020-04-02 19:28:40', 1265476890672672808, '2020-07-16 10:52:21', 1265476890672672808);
-- ---------------------------- -- ----------------------------
@ -788,9 +766,9 @@ INSERT INTO `sys_role` VALUES (1265476890672672818, '权限管理员', 'auth_rol
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_role_data_scope`; DROP TABLE IF EXISTS `sys_role_data_scope`;
CREATE TABLE `sys_role_data_scope` ( CREATE TABLE `sys_role_data_scope` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`role_id` bigint(0) NOT NULL COMMENT '角色id', `role_id` bigint(20) NOT NULL COMMENT '角色id',
`org_id` bigint(0) NOT NULL COMMENT '机构id', `org_id` bigint(20) NOT NULL COMMENT '机构id',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统角色数据范围表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统角色数据范围表' ROW_FORMAT = Compact;
@ -812,9 +790,9 @@ INSERT INTO `sys_role_data_scope` VALUES (1292060127645429762, 12654768906726728
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_role_menu`; DROP TABLE IF EXISTS `sys_role_menu`;
CREATE TABLE `sys_role_menu` ( CREATE TABLE `sys_role_menu` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`role_id` bigint(0) NOT NULL COMMENT '角色id', `role_id` bigint(20) NOT NULL COMMENT '角色id',
`menu_id` bigint(0) NOT NULL COMMENT '菜单id', `menu_id` bigint(20) NOT NULL COMMENT '菜单id',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统角色菜单表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统角色菜单表' ROW_FORMAT = Compact;
@ -977,40 +955,36 @@ INSERT INTO `sys_role_menu` VALUES (1307864962504564737, 1265476890672672817, 12
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_sms`; DROP TABLE IF EXISTS `sys_sms`;
CREATE TABLE `sys_sms` ( CREATE TABLE `sys_sms` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`phone_numbers` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '手机号', `phone_numbers` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '手机号',
`validate_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '短信验证码', `validate_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '短信验证码',
`template_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '短信模板ID', `template_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '短信模板ID',
`biz_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回执id可根据该id查询具体的发送状态', `biz_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '回执id可根据该id查询具体的发送状态',
`status` tinyint(0) NOT NULL COMMENT '发送状态(字典 0 未发送1 发送成功2 发送失败3 失效)', `status` tinyint(4) NOT NULL COMMENT '发送状态(字典 0 未发送1 发送成功2 发送失败3 失效)',
`source` tinyint(0) NOT NULL COMMENT '来源(字典 1 app 2 pc 3 其他)', `source` tinyint(4) NOT NULL COMMENT '来源(字典 1 app 2 pc 3 其他)',
`invalid_time` datetime(0) NULL DEFAULT NULL COMMENT '失效时间', `invalid_time` datetime(0) NULL DEFAULT NULL COMMENT '失效时间',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '更新人', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '短信信息发送表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '短信信息发送表' ROW_FORMAT = Compact;
-- ----------------------------
-- Records of sys_sms
-- ----------------------------
-- ---------------------------- -- ----------------------------
-- Table structure for sys_timers -- Table structure for sys_timers
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_timers`; DROP TABLE IF EXISTS `sys_timers`;
CREATE TABLE `sys_timers` ( CREATE TABLE `sys_timers` (
`id` bigint(0) NOT NULL COMMENT '定时器id', `id` bigint(20) NOT NULL COMMENT '定时器id',
`timer_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '任务名称', `timer_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '任务名称',
`action_class` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行任务的class的类名实现了TimerTaskRunner接口的类的全称', `action_class` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行任务的class的类名实现了TimerTaskRunner接口的类的全称',
`cron` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '定时任务表达式', `cron` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '定时任务表达式',
`job_status` tinyint(0) NULL DEFAULT 0 COMMENT '状态(字典 1运行 2停止', `job_status` tinyint(4) NULL DEFAULT 0 COMMENT '状态(字典 1运行 2停止',
`remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注信息', `remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注信息',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '更新人', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务' ROW_FORMAT = Compact;
@ -1025,43 +999,44 @@ INSERT INTO `sys_timers` VALUES (1304971718170832898, '定时打印一句话', '
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_user`; DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` ( CREATE TABLE `sys_user` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '账号', `account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '账号',
`password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码', `pwd_hash_value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
`nick_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称', `nick_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '姓名', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '姓名',
`avatar` bigint(0) NULL DEFAULT NULL COMMENT '头像', `avatar` bigint(20) NULL DEFAULT NULL COMMENT '头像',
`birthday` date NULL DEFAULT NULL COMMENT '生日', `birthday` date NULL DEFAULT NULL COMMENT '生日',
`sex` tinyint(0) NOT NULL COMMENT '性别(字典 1男 2女 3未知)', `sex` tinyint(4) NOT NULL COMMENT '性别(字典 1男 2女 3未知)',
`email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱', `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
`phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机', `phone` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机',
`tel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电话', `tel` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电话',
`last_login_ip` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '最后登陆IP', `last_login_ip` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '最后登陆IP',
`last_login_time` datetime(0) NULL DEFAULT NULL COMMENT '最后登陆时间', `last_login_time` datetime(0) NULL DEFAULT NULL COMMENT '最后登陆时间',
`admin_type` tinyint(0) NOT NULL DEFAULT 0 COMMENT '管理员类型0超级管理员 1非管理员', `admin_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '管理员类型0超级管理员 1非管理员',
`status` tinyint(0) NOT NULL DEFAULT 0 COMMENT '状态(字典 0正常 1冻结 2删除', `status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '状态(字典 0正常 1冻结 2删除',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人', `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '更新人', `update_user` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统用户表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统用户表' ROW_FORMAT = Compact;
-- ---------------------------- -- ----------------------------
-- Records of sys_user -- Records of sys_user
-- ---------------------------- -- ----------------------------
INSERT INTO `sys_user` VALUES (1265476890672672808, 'superAdmin', '$2a$09$PiCiFNspSlTBE9CakVs8ZOqx0xa03X9wOm01gMasHch4929TpEWCC', '超级管理员', '超级管理员', NULL, '2020-03-18', 1, 'superAdmin@qq.com', '15228937093', '1234567890', '127.0.0.1', '2020-12-25 20:24:27', 1, 0, '2020-05-29 16:39:28', -1, '2020-12-25 20:24:27', -1); INSERT INTO `sys_user` VALUES (1265476890672672808, 'superAdmin', '207cf410532f92a47dee245ce9b11ff71f578ebd763eb3bbea44ebd043d018fb', '超级管理员', '超级管理员', NULL, '2020-03-18', 1, 'superAdmin@qq.com', '001757f43bd02871093cd7cbfed021f5', '1234567890', '127.0.0.1', '2021-12-16 20:00:36', 1, 0, '2020-05-29 16:39:28', -1, '2021-12-16 20:00:36', -1);
INSERT INTO `sys_user` VALUES (1275735541155614721, 'yubaoshan', '$2a$09$PiCiFNspSlTBE9CakVs8ZOqx0xa03X9wOm01gMasHch4929TpEWCC', '俞宝山', '俞宝山', NULL, '1992-10-03', 1, 'await183@qq.com', '18200001102', '', '127.0.0.1', '2020-09-23 10:15:10', 2, 0, '2020-06-24 18:20:30', 1265476890672672808, '2020-09-23 10:15:10', -1); INSERT INTO `sys_user` VALUES (1275735541155614721, 'yubaoshan', '207cf410532f92a47dee245ce9b11ff71f578ebd763eb3bbea44ebd043d018fb', '俞宝山', '俞宝山', NULL, '1992-10-03', 1, 'await183@qq.com', '001757f43bd02871093cd7cbfed021f5', '', '127.0.0.1', '2020-09-23 10:15:10', 2, 0, '2020-06-24 18:20:30', 1265476890672672808, '2021-12-16 19:42:40', 1265476890672672808);
INSERT INTO `sys_user` VALUES (1280709549107552257, 'xuyuxiang', '$2a$09$PiCiFNspSlTBE9CakVs8ZOqx0xa03X9wOm01gMasHch4929TpEWCC', '就是那个锅', '徐玉祥', NULL, '2020-07-01', 1, NULL, '18200001100', NULL, '127.0.0.1', '2020-09-23 10:16:54', 2, 0, '2020-07-08 11:45:26', 1265476890672672808, '2020-09-23 10:16:54', -1); INSERT INTO `sys_user` VALUES (1280709549107552257, 'xuyuxiang', '207cf410532f92a47dee245ce9b11ff71f578ebd763eb3bbea44ebd043d018fb', '就是那个锅', '徐玉祥', NULL, '2020-07-01', 1, NULL, 'd5437be867777b7e27893bac3a3605a2', NULL, '127.0.0.1', '2020-09-23 10:16:54', 2, 0, '2020-07-08 11:45:26', 1265476890672672808, '2021-12-16 20:30:42', 1265476890672672808);
INSERT INTO `sys_user` VALUES (1471457941179072513, 'dongxiayu', '207cf410532f92a47dee245ce9b11ff71f578ebd763eb3bbea44ebd043d018fb', '阿董', '董夏雨', NULL, '2021-12-16', 1, NULL, '24c5ce408af1c56078c4d58098ebc218', NULL, NULL, NULL, 2, 0, '2021-12-16 20:31:26', 1265476890672672808, NULL, NULL);
-- ---------------------------- -- ----------------------------
-- Table structure for sys_user_data_scope -- Table structure for sys_user_data_scope
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_user_data_scope`; DROP TABLE IF EXISTS `sys_user_data_scope`;
CREATE TABLE `sys_user_data_scope` ( CREATE TABLE `sys_user_data_scope` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`user_id` bigint(0) NOT NULL COMMENT '用户id', `user_id` bigint(20) NOT NULL COMMENT '用户id',
`org_id` bigint(0) NOT NULL COMMENT '机构id', `org_id` bigint(20) NOT NULL COMMENT '机构id',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统用户数据范围表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统用户数据范围表' ROW_FORMAT = Compact;
@ -1072,33 +1047,24 @@ INSERT INTO `sys_user_data_scope` VALUES (1277459951742840834, 12662770994556354
INSERT INTO `sys_user_data_scope` VALUES (1277459952577507330, 1266277099455635457, 1265476890672672773); INSERT INTO `sys_user_data_scope` VALUES (1277459952577507330, 1266277099455635457, 1265476890672672773);
INSERT INTO `sys_user_data_scope` VALUES (1277459953424756737, 1266277099455635457, 1265476890672672775); INSERT INTO `sys_user_data_scope` VALUES (1277459953424756737, 1266277099455635457, 1265476890672672775);
INSERT INTO `sys_user_data_scope` VALUES (1277459954267811841, 1266277099455635457, 1265476890672672774); INSERT INTO `sys_user_data_scope` VALUES (1277459954267811841, 1266277099455635457, 1265476890672672774);
INSERT INTO `sys_user_data_scope` VALUES (1280712071570366466, 1275735541155614721, 1265476890672672769);
INSERT INTO `sys_user_data_scope` VALUES (1280712071570366467, 1275735541155614721, 1265476890672672771);
INSERT INTO `sys_user_data_scope` VALUES (1280712071578755074, 1275735541155614721, 1265476890672672772);
-- ---------------------------- -- ----------------------------
-- Table structure for sys_user_role -- Table structure for sys_user_role
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_user_role`; DROP TABLE IF EXISTS `sys_user_role`;
CREATE TABLE `sys_user_role` ( CREATE TABLE `sys_user_role` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`user_id` bigint(0) NOT NULL COMMENT '用户id', `user_id` bigint(20) NOT NULL COMMENT '用户id',
`role_id` bigint(0) NOT NULL COMMENT '角色id', `role_id` bigint(20) NOT NULL COMMENT '角色id',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统用户角色表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统用户角色表' ROW_FORMAT = Compact;
-- ----------------------------
-- Records of sys_user_role
-- ----------------------------
INSERT INTO `sys_user_role` VALUES (1283596900713574402, 1275735541155614721, 1265476890672672817);
INSERT INTO `sys_user_role` VALUES (1283596949627547649, 1280709549107552257, 1265476890672672818);
-- ---------------------------- -- ----------------------------
-- Table structure for sys_vis_log -- Table structure for sys_vis_log
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `sys_vis_log`; DROP TABLE IF EXISTS `sys_vis_log`;
CREATE TABLE `sys_vis_log` ( CREATE TABLE `sys_vis_log` (
`id` bigint(0) NOT NULL COMMENT '主键', `id` bigint(20) NOT NULL COMMENT '主键',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称',
`success` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否执行成功Y-是N-否)', `success` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否执行成功Y-是N-否)',
`message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '具体消息', `message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '具体消息',
@ -1106,14 +1072,11 @@ CREATE TABLE `sys_vis_log` (
`location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地址', `location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地址',
`browser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浏览器', `browser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浏览器',
`os` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作系统', `os` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作系统',
`vis_type` tinyint(0) NOT NULL COMMENT '操作类型(字典 1登入 2登出', `vis_type` tinyint(4) NOT NULL COMMENT '操作类型(字典 1登入 2登出',
`vis_time` datetime(0) NULL DEFAULT NULL COMMENT '访问时间', `vis_time` datetime(0) NULL DEFAULT NULL COMMENT '访问时间',
`account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '访问账号', `account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '访问账号',
`sign_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '签名数据除ID外',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问日志表' ROW_FORMAT = Compact; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问日志表' ROW_FORMAT = Compact;
-- ----------------------------
-- Records of sys_vis_log
-- ----------------------------
SET FOREIGN_KEY_CHECKS = 1; SET FOREIGN_KEY_CHECKS = 1;

View File

@ -32,6 +32,7 @@
"print-js": "^1.0.63", "print-js": "^1.0.63",
"raphael": "^2.3.0", "raphael": "^2.3.0",
"screenfull": "^5.1.0", "screenfull": "^5.1.0",
"sm-crypto": "^0.3.6",
"viser-vue": "^2.4.6", "viser-vue": "^2.4.6",
"vue": "2.6.10", "vue": "2.6.10",
"vue-clipboard2": "^0.2.1", "vue-clipboard2": "^0.2.1",

View File

@ -13,6 +13,12 @@ import { axios } from '@/utils/request'
* @date 2020/5/26 19:06 * @date 2020/5/26 19:06
*/ */
export function login (parameter) { export function login (parameter) {
// 密码采用sm2加密传输密码
const sm2 = require('sm-crypto').sm2
const publicKey = '04298364ec840088475eae92a591e01284d1abefcda348b47eb324bb521bb03b0b2a5bc393f6b71dabb8f15c99a0050818b56b23f31743b93df9cf8948f15ddb54'
const encryptData = sm2.doEncrypt(parameter.password, publicKey, 1)
parameter.password = encryptData
return axios({ return axios({
url: '/login', url: '/login',
method: 'post', method: 'post',

View File

@ -3,7 +3,7 @@
<div class="links"> <div class="links">
</div> </div>
<div class="copyright"> <div class="copyright">
Copyright © 2020 <a target="_blank" href="https://www.xiaonuo.vip/">小诺</a> All rights reserved. Snowy 1.3 Copyright © 2020 <a target="_blank" href="https://www.xiaonuo.vip/">小诺开源技术</a> All rights reserved. Snowy 1.8
</div> </div>
</div> </div>
</template> </template>

View File

@ -77,19 +77,6 @@ export const constantRouterMap = [
] ]
}, },
{
path: '/test',
component: BlankLayout,
redirect: '/test/home',
children: [
{
path: 'home',
name: 'TestHome',
component: () => import('@/views/Home')
}
]
},
{ {
path: '/404', path: '/404',
component: () => import(/* webpackChunkName: "fail" */ '@/views/system/exception/404') component: () => import(/* webpackChunkName: "fail" */ '@/views/system/exception/404')

View File

@ -22,7 +22,7 @@
<a href="_self">条款</a> <a href="_self">条款</a>
</div> </div>
<div class="copyright"> <div class="copyright">
Copyright © 2020 <a target="_blank" href="https://www.xiaonuo.vip/">小诺</a> All rights reserved. Snowy 1.3 Copyright © 2020 <a target="_blank" href="https://www.xiaonuo.vip/">小诺开源技术</a> All rights reserved. Snowy 1.8
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,215 +0,0 @@
<template>
<div class="home">
<div class="banner">
<img alt="Vue logo" style="width: 64px; height: 64px" src="../assets/logo.png">
<h3 style="margin-top: 1rem">Welcome to Your Vue.js App</h3>
</div>
<br/>
<h2># Trend 组件 </h2>
<a-divider> 正常 </a-divider>
<a-card>
<trend flag="up" style="margin-right: 16px;">
<span slot="term">工资</span>
5%
</trend>
<trend flag="up" style="margin-right: 16px;">
<span slot="term">工作量</span>
50%
</trend>
<trend flag="down">
<span slot="term">身体状态</span>
50%
</trend>
</a-card>
<a-divider> 颜色反转 </a-divider>
<a-card style="margin-bottom: 3rem">
<trend flag="up" :reverse-color="true" style="margin-right: 16px;">
<span slot="term">工资</span>
5%
</trend>
<trend flag="down" :reverse-color="true" style="margin-right: 16px;">
<span slot="term">工作量</span>
50%
</trend>
</a-card>
<h2># AvatarList 组件 </h2>
<a-divider> AvatarList </a-divider>
<a-card style="margin-bottom: 3rem">
<avatar-list :max-length="3">
<avatar-list-item tips="Jake" src="https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png" />
<avatar-list-item tips="Andy" src="https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png" />
<avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
<avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
<avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
<avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
<avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
</avatar-list>
<a-divider type="vertical" style="margin: 0 16px" />
<avatar-list size="mini">
<avatar-list-item tips="Jake" src="https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png" />
<avatar-list-item tips="Andy" src="https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png" />
<avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png" />
</avatar-list>
</a-card>
<h2># CountDown 组件 </h2>
<a-divider> CountDown </a-divider>
<a-card style="margin-bottom: 3rem">
<count-down
style="font-size: 2rem"
:target="new Date().getTime() + 3000000"
:on-end="onEndHandle">
</count-down>
<a-divider type="vertical" style="margin: 0 16px" />
<count-down
style="font-size: 2rem"
:target="new Date().getTime() + 10000"
:on-end="onEndHandle2">
</count-down>
</a-card>
<h2># Ellipsis 组件 </h2>
<a-divider> Ellipsis </a-divider>
<a-card style="margin-bottom: 3rem">
<ellipsis :length="100" tooltip>
There were injuries alleged in three cases in 2015, and a
fourth incident in September, according to the safety recall report. After meeting with US regulators in October, the firm decided to issue a voluntary recall.
</ellipsis>
</a-card>
<h2># NumberInfo 组件 </h2>
<a-divider> NumberInfo </a-divider>
<a-card style="margin-bottom: 3rem">
<number-info
:sub-title="() => { return 'Visits this week' }"
:total="12321"
status="up"
:sub-total="17.1"></number-info>
</a-card>
<h2># TagSelect 组件 </h2>
<a-divider> TagSelect </a-divider>
<a-card style="margin-bottom: 3rem">
<tag-select>
<tag-select-option value="cat1">类目1</tag-select-option>
<tag-select-option value="cat2">类目2</tag-select-option>
<tag-select-option value="cat3">类目3</tag-select-option>
<tag-select-option value="cat4">类目4</tag-select-option>
<tag-select-option value="cat5">类目5</tag-select-option>
<tag-select-option value="cat6">类目6</tag-select-option>
<tag-select-option value="cat7">类目7</tag-select-option>
</tag-select>
</a-card>
<h2># DescriptionList 组件 </h2>
<a-divider> DescriptionList </a-divider>
<a-card style="margin-bottom: 3rem">
<description-list title="组名称" size="small">
<description-list-item term="负责人">林东东</description-list-item>
<description-list-item term="角色码">1234567</description-list-item>
<description-list-item term="所属部门">XX公司-YY部</description-list-item>
<description-list-item term="过期时间">2018-08-08</description-list-item>
<description-list-item term="描述">这段描述很长很长很长很长很长很长很长很长很长很长很长很长很长很长...</description-list-item>
</description-list>
</a-card>
<a-divider> TagCloud </a-divider>
<a-card style="margin-bottom: 3rem">
<tag-cloud :tag-list="tagCloudData"></tag-cloud>
</a-card>
</div>
</template>
<script>
// @ is an alias to /src
import Trend from '@/components/Trend'
import AvatarList from '@/components/AvatarList'
import CountDown from '@/components/CountDown/CountDown'
import Ellipsis from '@/components/Ellipsis'
import NumberInfo from '@/components/NumberInfo'
import TagSelect from '@/components/TagSelect'
import { DescriptionList, TagCloud } from '@/components/'
const AvatarListItem = AvatarList.AvatarItem
const TagSelectOption = TagSelect.Option
const DescriptionListItem = DescriptionList.Item
export default {
name: 'Home',
components: {
NumberInfo,
Ellipsis,
CountDown,
Trend,
AvatarList,
AvatarListItem,
TagSelect,
TagSelectOption,
TagCloud,
DescriptionList,
DescriptionListItem
},
data () {
return {
targetTime: new Date().getTime() + 3900000,
tagCloudData: []
}
},
created () {
this.getTagCloudData()
},
methods: {
onEndHandle () {
this.$message.success('CountDown callback!!!')
},
onEndHandle2 () {
this.$notification.open({
message: 'Notification Title',
description: 'This is the content of the notification. This is the content of the notification. This is the content of the notification.'
})
},
getTagCloudData () {
this.$http.get('/data/antv/tag-cloud').then(res => {
this.tagCloudData = res.result
})
}
}
}
</script>
<style scoped>
.home {
width: 900px;
margin: 0 auto;
padding: 25px 0;
}
.home > .banner {
text-align: center;
padding: 25px 0;
margin: 25px 0;
}
</style>

View File

@ -23,7 +23,7 @@
<a-row :gutter="48"> <a-row :gutter="48">
<a-col :md="8" :sm="24"> <a-col :md="8" :sm="24">
<a-form-item label="关键词" > <a-form-item label="关键词" >
<a-input v-model="queryParam.searchValue" allow-clear placeholder="请输入姓名、账号、手机号"/> <a-input v-model="queryParam.searchValue" allow-clear placeholder="请输入姓名或账号"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="8" :sm="24"> <a-col :md="8" :sm="24">

View File

@ -230,11 +230,12 @@ export default {
} }
const loginParams = { ...values } const loginParams = { ...values }
delete loginParams.account delete loginParams.account
loginParams[!state.loginType ? 'email' : 'account'] = values.account loginParams.account = values.account
loginParams.password = values.password
if (this.tenantOpen) { if (this.tenantOpen) {
loginParams.tenantCode = values.tenantCode loginParams.tenantCode = values.tenantCode
} }
Login(loginParams) Login(loginParams)
.then((res) => this.loginSuccess(res)) .then((res) => this.loginSuccess(res))
.catch(err => this.requestFailed(err)) .catch(err => this.requestFailed(err))
@ -253,6 +254,7 @@ export default {
*/ */
verifySuccess(params) { verifySuccess(params) {
this.loginParams.code = params.captchaVerification this.loginParams.code = params.captchaVerification
console.log(JSON.stringify(this.loginParams))
this.Login(this.loginParams).then((res) => this.loginSuccess(res)) this.Login(this.loginParams).then((res) => this.loginSuccess(res))
.catch(err => this.requestFailed(err)) .catch(err => this.requestFailed(err))
.finally(() => { .finally(() => {

View File

@ -71,6 +71,12 @@
<artifactId>h2</artifactId> <artifactId>h2</artifactId>
</dependency>--> </dependency>-->
<dependency>
<groupId>com.antherd</groupId>
<artifactId>sm-crypto</artifactId>
<version>0.3.2</version>
</dependency>
<!-- redis,使用jedis客户端排除lettuce --> <!-- redis,使用jedis客户端排除lettuce -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>

View File

@ -33,6 +33,7 @@ import cn.hutool.log.Log;
import vip.xiaonuo.core.consts.CommonConstant; import vip.xiaonuo.core.consts.CommonConstant;
import vip.xiaonuo.core.consts.SymbolConstant; import vip.xiaonuo.core.consts.SymbolConstant;
import vip.xiaonuo.core.exception.ServiceException; import vip.xiaonuo.core.exception.ServiceException;
import vip.xiaonuo.core.pojo.cryptogram.CryptogramConfigs;
import vip.xiaonuo.core.pojo.email.EmailConfigs; import vip.xiaonuo.core.pojo.email.EmailConfigs;
import vip.xiaonuo.core.pojo.oauth.OauthConfigs; import vip.xiaonuo.core.pojo.oauth.OauthConfigs;
import vip.xiaonuo.core.pojo.sms.AliyunSmsConfigs; import vip.xiaonuo.core.pojo.sms.AliyunSmsConfigs;
@ -389,4 +390,24 @@ public class ConstantContextHolder {
public static Boolean getCaptchaOpenFlag() { public static Boolean getCaptchaOpenFlag() {
return getSysConfigWithDefault("SNOWY_CAPTCHA_OPEN", Boolean.class, true); return getSysConfigWithDefault("SNOWY_CAPTCHA_OPEN", Boolean.class, true);
} }
/**
* 获取加解密的配置
*
* @author yubaoshan
*/
public static CryptogramConfigs getCryptogramConfigs() {
boolean snowyTokenEncDec = getSysConfigWithDefault("SNOWY_TOKEN_ENCRYPTION_OPEN", Boolean.class, true);
boolean snowyVisLogEnc = getSysConfigWithDefault("SNOWY_VISLOG_ENCRYPTION_OPEN", Boolean.class, true);
boolean snowyOpLogEnc = getSysConfigWithDefault("SNOWY_OPLOG_ENCRYPTION_OPEN", Boolean.class, true);
boolean snowyFieldEncDec = getSysConfigWithDefault("SNOWY_FIELD_ENC_DEC_OPEN", Boolean.class, true);
CryptogramConfigs cryptogramConfigs = new CryptogramConfigs();
cryptogramConfigs.setTokenEncDec(snowyTokenEncDec);
cryptogramConfigs.setVisLogEnc(snowyVisLogEnc);
cryptogramConfigs.setOpLogEnc(snowyOpLogEnc);
cryptogramConfigs.setFieldEncDec(snowyFieldEncDec);
return cryptogramConfigs;
}
} }

View File

@ -0,0 +1,51 @@
/*
Copyright [2020] [https://www.xiaonuo.vip]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Snowy采用APACHE LICENSE 2.0开源协议您在使用过程中需要注意以下几点
1.请不要删除和修改根目录下的LICENSE文件
2.请不要删除和修改Snowy源码头部的版权声明
3.请保留源码和相关描述文件的项目出处作者声明等
4.分发源码时候请注明软件出处 https://gitee.com/xiaonuobase/snowy
5.在修改包名模块名称项目代码等时请注明软件出处 https://gitee.com/xiaonuobase/snowy
6.若您的项目无法满足以上几点可申请商业授权获取Snowy商业授权许可请在官网购买授权地址为 https://www.xiaonuo.vip
*/
package vip.xiaonuo.core.cryptogram;
/**
* 基于SM2的秘钥对
* 本项目中配置的自己使用可根据自己的需求进行更换
*
* @author yubaoshan
*/
public class keypair {
/**
* 公钥
*/
public static String PUBLIC_KEY = "04298364ec840088475eae92a591e01284d1abefcda348b47eb324bb521bb03b0b2a5bc393f6b71dabb8f15c99a0050818b56b23f31743b93df9cf8948f15ddb54";
/**
* 私钥
*/
public static String PRIVATE_KEY = "3037723d47292171677ec8bd7dc9af696c7472bc5f251b2cec07e65fdef22e25";
/**
* SM4的对称秘钥生产环境需要改成自己使用的
* 16 进制字符串要求为 128 比特
*/
public static String KEY = "0123456789abcdeffedcba9876543210";
}

View File

@ -0,0 +1,57 @@
/*
Copyright [2020] [https://www.xiaonuo.vip]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Snowy采用APACHE LICENSE 2.0开源协议您在使用过程中需要注意以下几点
1.请不要删除和修改根目录下的LICENSE文件
2.请不要删除和修改Snowy源码头部的版权声明
3.请保留源码和相关描述文件的项目出处作者声明等
4.分发源码时候请注明软件出处 https://gitee.com/xiaonuobase/snowy
5.在修改包名模块名称项目代码等时请注明软件出处 https://gitee.com/xiaonuobase/snowy
6.若您的项目无法满足以上几点可申请商业授权获取Snowy商业授权许可请在官网购买授权地址为 https://www.xiaonuo.vip
*/
package vip.xiaonuo.core.pojo.cryptogram;
import lombok.Data;
/**
* 框架中加解密配置
*
* @author yubaoshan
**/
@Data
public class CryptogramConfigs {
/**
* token是否加解密
*/
private Boolean tokenEncDec;
/**
* 操作日志是否加密
*/
private Boolean opLogEnc;
/**
* 登录登出日志是否加密
*/
private Boolean visLogEnc;
/**
* 铭感字段值是否加解密
*/
private Boolean fieldEncDec;
}

View File

@ -0,0 +1,139 @@
/*
Copyright [2020] [https://www.xiaonuo.vip]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Snowy采用APACHE LICENSE 2.0开源协议您在使用过程中需要注意以下几点
1.请不要删除和修改根目录下的LICENSE文件
2.请不要删除和修改Snowy源码头部的版权声明
3.请保留源码和相关描述文件的项目出处作者声明等
4.分发源码时候请注明软件出处 https://gitee.com/xiaonuobase/snowy
5.在修改包名模块名称项目代码等时请注明软件出处 https://gitee.com/xiaonuobase/snowy
6.若您的项目无法满足以上几点可申请商业授权获取Snowy商业授权许可请在官网购买授权地址为 https://www.xiaonuo.vip
*/
package vip.xiaonuo.core.util;
import cn.hutool.log.Log;
import com.antherd.smcrypto.sm2.Sm2;
import com.antherd.smcrypto.sm3.Sm3;
import com.antherd.smcrypto.sm4.Sm4;
import com.antherd.smcrypto.sm4.Sm4Options;
import vip.xiaonuo.core.cryptogram.keypair;
/**
* 加密工具类本框架目前使用 https://github.com/antherd/sm-crypto 项目中一些加解密方式
* 使用小伙伴需要过等保密评相关请在此处更改为自己的加密方法或加密机使用加密机同时需要替换公钥私钥在内部无法导出提供加密的方法
*
* @author yubaoshan
*/
public class CryptogramUtil {
private static final Log log = Log.get();
/**
* 加密方法Sm2 的专门针对前后端分离非对称秘钥对的方式暴露出去的公钥对传输过程中的密码加个密
*
* @author yubaoshan
* @param str 待加密数据
* @return 加密后的密文
*/
public static String doSm2Encrypt (String str) {
return Sm2.doEncrypt(str, keypair.PUBLIC_KEY);
}
/**
* 解密方法
* 如果采用加密机的方法用try catch 捕捉异常返回原文值即可
*
* @author yubaoshan
* @param str 密文
* @return 解密后的明文
*/
public static String doSm2Decrypt (String str) {
// 解密
return Sm2.doDecrypt(str, keypair.PRIVATE_KEY);
}
/**
* 加密方法
*
* @author yubaoshan
* @param str 待加密数据
* @return 加密后的密文
*/
public static String doEncrypt (String str) {
// SM4 加密 cbc模式
Sm4Options sm4Options4 = new Sm4Options();
sm4Options4.setMode("cbc");
sm4Options4.setIv("fedcba98765432100123456789abcdef");
return Sm4.encrypt(str, keypair.KEY, sm4Options4);
}
/**
* 解密方法
* 如果采用加密机的方法用try catch 捕捉异常返回原文值即可
*
* @author yubaoshan
* @param str 密文
* @return 解密后的明文
*/
public static String doDecrypt (String str) {
// 解密cbc 模式输出 utf8 字符串
Sm4Options sm4Options8 = new Sm4Options();
sm4Options8.setMode("cbc");
sm4Options8.setIv("fedcba98765432100123456789abcdef");
String docString = Sm4.decrypt(str, keypair.KEY, sm4Options8);
if (docString.equals("")) {
log.warn(">>> 字段解密失败,返回原文值:{}", str);
return str;
} else {
return docString;
}
}
/**
* 纯签名
*
* @author yubaoshan
* @param str 待签名数据
* @return 签名结果
*/
public static String doSignature (String str) {
return Sm2.doSignature(str, keypair.PRIVATE_KEY);
}
/**
* 验证签名结果
*
* @author yubaoshan
* @param originalStr 签名原文数据
* @param str 签名结果
* @return 是否通过
*/
public static boolean doVerifySignature (String originalStr, String str) {
return Sm2.doVerifySignature(originalStr, str, keypair.PUBLIC_KEY);
}
/**
* 通过杂凑算法取得hash值用于做数据完整性保护
*
* @author yubaoshan
* @param str 字符串
* @return hash
*/
public static String doHashValue (String str) {
return Sm3.sm3(str);
}
}

View File

@ -30,7 +30,7 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import io.jsonwebtoken.*; import io.jsonwebtoken.*;
import vip.xiaonuo.core.context.constant.ConstantContextHolder; import vip.xiaonuo.core.context.constant.ConstantContextHolder;
import vip.xiaonuo.core.util.CryptogramUtil;
import java.util.Date; import java.util.Date;
/** /**
@ -50,13 +50,18 @@ public class JwtTokenUtil {
public static String generateToken(JwtPayLoad jwtPayLoad) { public static String generateToken(JwtPayLoad jwtPayLoad) {
DateTime expirationDate = DateUtil.offsetSecond(new Date(), Convert.toInt(ConstantContextHolder.getTokenExpireSec())); DateTime expirationDate = DateUtil.offsetSecond(new Date(), Convert.toInt(ConstantContextHolder.getTokenExpireSec()));
return Jwts.builder() String jwtToken = Jwts.builder()
.setClaims(BeanUtil.beanToMap(jwtPayLoad)) .setClaims(BeanUtil.beanToMap(jwtPayLoad))
.setSubject(jwtPayLoad.getUserId().toString()) .setSubject(jwtPayLoad.getUserId().toString())
.setIssuedAt(new Date()) .setIssuedAt(new Date())
.setExpiration(expirationDate) .setExpiration(expirationDate)
.signWith(SignatureAlgorithm.HS512, ConstantContextHolder.getJwtSecret()) .signWith(SignatureAlgorithm.HS512, ConstantContextHolder.getJwtSecret())
.compact(); .compact();
if (ConstantContextHolder.getCryptogramConfigs().getTokenEncDec()) {
// 加密token
return CryptogramUtil.doEncrypt(jwtToken);
}
return jwtToken;
} }
/** /**

View File

@ -28,6 +28,8 @@ import cn.hutool.core.date.DateTime;
import org.aspectj.lang.JoinPoint; import org.aspectj.lang.JoinPoint;
import vip.xiaonuo.core.annotion.BusinessLog; import vip.xiaonuo.core.annotion.BusinessLog;
import vip.xiaonuo.core.consts.SymbolConstant; import vip.xiaonuo.core.consts.SymbolConstant;
import vip.xiaonuo.core.context.constant.ConstantContextHolder;
import vip.xiaonuo.core.util.CryptogramUtil;
import vip.xiaonuo.core.util.JoinPointUtil; import vip.xiaonuo.core.util.JoinPointUtil;
import vip.xiaonuo.sys.core.enums.LogSuccessStatusEnum; import vip.xiaonuo.sys.core.enums.LogSuccessStatusEnum;
import vip.xiaonuo.sys.core.enums.VisLogTypeEnum; import vip.xiaonuo.sys.core.enums.VisLogTypeEnum;
@ -65,6 +67,9 @@ public class LogFactory {
sysVisLog.setMessage(VisLogTypeEnum.LOGIN.getMessage() + sysVisLog.setMessage(VisLogTypeEnum.LOGIN.getMessage() +
LogSuccessStatusEnum.FAIL.getMessage() + SymbolConstant.COLON + failMessage); LogSuccessStatusEnum.FAIL.getMessage() + SymbolConstant.COLON + failMessage);
} }
if (ConstantContextHolder.getCryptogramConfigs().getVisLogEnc()) {
SysVisLogSign(sysVisLog);
}
} }
/** /**
@ -80,6 +85,9 @@ public class LogFactory {
sysVisLog.setVisType(VisLogTypeEnum.EXIT.getCode()); sysVisLog.setVisType(VisLogTypeEnum.EXIT.getCode());
sysVisLog.setVisTime(DateTime.now()); sysVisLog.setVisTime(DateTime.now());
sysVisLog.setAccount(account); sysVisLog.setAccount(account);
if (ConstantContextHolder.getCryptogramConfigs().getVisLogEnc()) {
SysVisLogSign(sysVisLog);
}
} }
/** /**
@ -93,6 +101,9 @@ public class LogFactory {
sysOpLog.setSuccess(LogSuccessStatusEnum.SUCCESS.getCode()); sysOpLog.setSuccess(LogSuccessStatusEnum.SUCCESS.getCode());
sysOpLog.setResult(result); sysOpLog.setResult(result);
sysOpLog.setMessage(LogSuccessStatusEnum.SUCCESS.getMessage()); sysOpLog.setMessage(LogSuccessStatusEnum.SUCCESS.getMessage());
if (ConstantContextHolder.getCryptogramConfigs().getOpLogEnc()) {
SysOpLogSign(sysOpLog);
}
} }
/** /**
@ -105,6 +116,9 @@ public class LogFactory {
fillCommonSysOpLog(sysOpLog, account, businessLog, joinPoint); fillCommonSysOpLog(sysOpLog, account, businessLog, joinPoint);
sysOpLog.setSuccess(LogSuccessStatusEnum.FAIL.getCode()); sysOpLog.setSuccess(LogSuccessStatusEnum.FAIL.getCode());
sysOpLog.setMessage(Arrays.toString(exception.getStackTrace())); sysOpLog.setMessage(Arrays.toString(exception.getStackTrace()));
if (ConstantContextHolder.getCryptogramConfigs().getOpLogEnc()) {
SysOpLogSign(sysOpLog);
}
} }
/** /**
@ -161,4 +175,22 @@ public class LogFactory {
return sysOpLog; return sysOpLog;
} }
/**
* 构建登录登出日志完整性保护数据签名
*/
private static SysVisLog SysVisLogSign (SysVisLog sysVisLog) {
String sysVisLogStr = sysVisLog.toString().replaceAll(" +","");
sysVisLog.setSignValue(CryptogramUtil.doSignature(sysVisLogStr));
return sysVisLog;
}
/**
* 构建操作日志完整性保护摘要
*/
private static SysOpLog SysOpLogSign (SysOpLog sysOpLog) {
String sysVisLogStr = sysOpLog.toString();
sysOpLog.setSignValue(CryptogramUtil.doHashValue(sysVisLogStr));
return sysOpLog;
}
} }

View File

@ -35,7 +35,6 @@ import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.bcrypt.BCrypt;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
@ -54,6 +53,7 @@ import vip.xiaonuo.core.tenant.entity.TenantInfo;
import vip.xiaonuo.core.tenant.exception.TenantException; import vip.xiaonuo.core.tenant.exception.TenantException;
import vip.xiaonuo.core.tenant.exception.enums.TenantExceptionEnum; import vip.xiaonuo.core.tenant.exception.enums.TenantExceptionEnum;
import vip.xiaonuo.core.tenant.service.TenantInfoService; import vip.xiaonuo.core.tenant.service.TenantInfoService;
import vip.xiaonuo.core.util.CryptogramUtil;
import vip.xiaonuo.core.util.HttpServletUtil; import vip.xiaonuo.core.util.HttpServletUtil;
import vip.xiaonuo.core.util.IpAddressUtil; import vip.xiaonuo.core.util.IpAddressUtil;
import vip.xiaonuo.sys.core.cache.UserCache; import vip.xiaonuo.sys.core.cache.UserCache;
@ -101,10 +101,13 @@ public class AuthServiceImpl implements AuthService, UserDetailsService {
throw new AuthException(AuthExceptionEnum.ACCOUNT_PWD_ERROR); throw new AuthException(AuthExceptionEnum.ACCOUNT_PWD_ERROR);
} }
String passwordBcrypt = sysUser.getPassword(); String passwordHashValue = sysUser.getPwdHashValue();
// 解密密码这里是前端传来的如果不需要可将其干掉这里不做开关
password = CryptogramUtil.doSm2Decrypt(password);
//验证账号密码是否正确 //验证账号密码是否正确
if (ObjectUtil.isEmpty(passwordBcrypt) || !BCrypt.checkpw(password, passwordBcrypt)) { if (ObjectUtil.isEmpty(passwordHashValue) || !passwordHashValue.equals(CryptogramUtil.doHashValue(password))) {
LogManager.me().executeLoginLog(sysUser.getAccount(), LogSuccessStatusEnum.FAIL.getCode(), AuthExceptionEnum.ACCOUNT_PWD_ERROR.getMessage()); LogManager.me().executeLoginLog(sysUser.getAccount(), LogSuccessStatusEnum.FAIL.getCode(), AuthExceptionEnum.ACCOUNT_PWD_ERROR.getMessage());
throw new AuthException(AuthExceptionEnum.ACCOUNT_PWD_ERROR); throw new AuthException(AuthExceptionEnum.ACCOUNT_PWD_ERROR);
} }
@ -186,6 +189,11 @@ public class AuthServiceImpl implements AuthService, UserDetailsService {
} catch (StringIndexOutOfBoundsException e) { } catch (StringIndexOutOfBoundsException e) {
throw new AuthException(AuthExceptionEnum.NOT_VALID_TOKEN_TYPE); throw new AuthException(AuthExceptionEnum.NOT_VALID_TOKEN_TYPE);
} }
// 判断是否开启了加密
if (ConstantContextHolder.getCryptogramConfigs().getTokenEncDec()) {
// 解密token
authToken = CryptogramUtil.doDecrypt(authToken);
}
} }
return authToken; return authToken;

View File

@ -144,4 +144,21 @@ public class SysOpLog {
* 操作人 * 操作人
*/ */
private String account; private String account;
/**
* 签名数据ID除外
*/
private String signValue;
/**
* 重写tostring方法 并去除所有空格
*/
@Override
public String toString () {
String toStr = name + opType + success + message + ip + location + browser
+ os + url + className + methodName + reqMethod + param + result
+ opTime + account;
return toStr.replaceAll(" +","");
}
} }

View File

@ -108,4 +108,19 @@ public class SysVisLog {
* 访问人 * 访问人
*/ */
private String account; private String account;
/**
* 签名数据ID除外
*/
private String signValue;
/**
* 重写tostring方法
*/
@Override
public String toString(){
String toStr = name + success + message + ip + location + browser
+ os + visType + visTime + account;
return toStr.replaceAll(" +","");
}
} }

View File

@ -32,12 +32,13 @@ import org.springframework.web.bind.annotation.RestController;
import vip.xiaonuo.core.annotion.BusinessLog; import vip.xiaonuo.core.annotion.BusinessLog;
import vip.xiaonuo.core.annotion.DataScope; import vip.xiaonuo.core.annotion.DataScope;
import vip.xiaonuo.core.annotion.Permission; import vip.xiaonuo.core.annotion.Permission;
import vip.xiaonuo.core.annotion.Wrapper;
import vip.xiaonuo.core.enums.LogAnnotionOpTypeEnum; import vip.xiaonuo.core.enums.LogAnnotionOpTypeEnum;
import vip.xiaonuo.core.pojo.response.ResponseData; import vip.xiaonuo.core.pojo.response.ResponseData;
import vip.xiaonuo.core.pojo.response.SuccessResponseData; import vip.xiaonuo.core.pojo.response.SuccessResponseData;
import vip.xiaonuo.sys.modular.user.param.SysUserParam; import vip.xiaonuo.sys.modular.user.param.SysUserParam;
import vip.xiaonuo.sys.modular.user.service.SysUserService; import vip.xiaonuo.sys.modular.user.service.SysUserService;
import vip.xiaonuo.sys.modular.user.wrapper.SysUserWrapper;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
@ -63,6 +64,7 @@ public class SysUserController {
@DataScope @DataScope
@GetMapping("/sysUser/page") @GetMapping("/sysUser/page")
@BusinessLog(title = "系统用户_查询", opType = LogAnnotionOpTypeEnum.QUERY) @BusinessLog(title = "系统用户_查询", opType = LogAnnotionOpTypeEnum.QUERY)
@Wrapper(SysUserWrapper.class)
public ResponseData page(SysUserParam sysUserParam) { public ResponseData page(SysUserParam sysUserParam) {
return new SuccessResponseData(sysUserService.page(sysUserParam)); return new SuccessResponseData(sysUserService.page(sysUserParam));
} }
@ -121,6 +123,7 @@ public class SysUserController {
@Permission @Permission
@GetMapping("/sysUser/detail") @GetMapping("/sysUser/detail")
@BusinessLog(title = "系统用户_查看", opType = LogAnnotionOpTypeEnum.DETAIL) @BusinessLog(title = "系统用户_查看", opType = LogAnnotionOpTypeEnum.DETAIL)
@Wrapper(SysUserWrapper.class)
public ResponseData detail(@Validated(SysUserParam.detail.class) SysUserParam sysUserParam) { public ResponseData detail(@Validated(SysUserParam.detail.class) SysUserParam sysUserParam) {
return new SuccessResponseData(sysUserService.detail(sysUserParam)); return new SuccessResponseData(sysUserService.detail(sysUserParam));
} }
@ -274,4 +277,5 @@ public class SysUserController {
public ResponseData selector(SysUserParam sysUserParam) { public ResponseData selector(SysUserParam sysUserParam) {
return new SuccessResponseData(sysUserService.selector(sysUserParam)); return new SuccessResponseData(sysUserService.selector(sysUserParam));
} }
} }

View File

@ -56,9 +56,9 @@ public class SysUser extends BaseEntity {
private String account; private String account;
/** /**
* 密码 * 密码哈希值
*/ */
private String password; private String pwdHashValue;
/** /**
* 昵称 * 昵称

View File

@ -51,7 +51,7 @@ public enum SysUserExceptionEnum implements AbstractBaseExceptionEnum {
/** /**
* 原密码错误 * 原密码错误
*/ */
USER_PWD_ERROR(3, "原密码错误,请检查password参数"), USER_PWD_ERROR(3, "原密码错误,完整性校验失败,请检查password参数"),
/** /**
* 新密码与原密码相同 * 新密码与原密码相同

View File

@ -25,9 +25,9 @@ Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意
package vip.xiaonuo.sys.modular.user.factory; package vip.xiaonuo.sys.modular.user.factory;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import org.springframework.security.crypto.bcrypt.BCrypt;
import vip.xiaonuo.core.context.constant.ConstantContextHolder; import vip.xiaonuo.core.context.constant.ConstantContextHolder;
import vip.xiaonuo.core.enums.CommonStatusEnum; import vip.xiaonuo.core.enums.CommonStatusEnum;
import vip.xiaonuo.core.util.CryptogramUtil;
import vip.xiaonuo.sys.core.enums.AdminTypeEnum; import vip.xiaonuo.sys.core.enums.AdminTypeEnum;
import vip.xiaonuo.sys.core.enums.SexEnum; import vip.xiaonuo.sys.core.enums.SexEnum;
import vip.xiaonuo.sys.modular.user.entity.SysUser; import vip.xiaonuo.sys.modular.user.entity.SysUser;
@ -59,12 +59,12 @@ public class SysUserFactory {
* @date 2020/3/23 16:50 * @date 2020/3/23 16:50
*/ */
public static void fillBaseUserInfo(SysUser sysUser) { public static void fillBaseUserInfo(SysUser sysUser) {
//密码为空则设置密码 //密码为空则设置密码密码都为哈希值哦
if (ObjectUtil.isEmpty(sysUser.getPassword())) { if (ObjectUtil.isEmpty(sysUser.getPwdHashValue())) {
//没有密码则设置默认密码 //没有密码则设置默认密码
String password = ConstantContextHolder.getDefaultPassWord(); String password = ConstantContextHolder.getDefaultPassWord();
//设置密码为Md5加密后的密码 //设置密码为Sm3的哈希值这里代表保护密码的完整性
sysUser.setPassword(BCrypt.hashpw(password, BCrypt.gensalt())); sysUser.setPwdHashValue(CryptogramUtil.doHashValue(password));
} }
if (ObjectUtil.isEmpty(sysUser.getAvatar())) { if (ObjectUtil.isEmpty(sysUser.getAvatar())) {

View File

@ -26,9 +26,11 @@ package vip.xiaonuo.sys.modular.user.result;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import vip.xiaonuo.core.pojo.base.wrapper.BaseWrapper;
import vip.xiaonuo.sys.modular.emp.result.SysEmpInfo; import vip.xiaonuo.sys.modular.emp.result.SysEmpInfo;
import java.util.Date; import java.util.Date;
import java.util.Map;
/** /**
* 系统用户结果 * 系统用户结果
@ -37,7 +39,7 @@ import java.util.Date;
* @date 2020/4/2 9:19 * @date 2020/4/2 9:19
*/ */
@Data @Data
public class SysUserResult { public class SysUserResult implements BaseWrapper {
/** /**
* 主键 * 主键
@ -99,4 +101,9 @@ public class SysUserResult {
* 状态字典 0正常 1停用 2删除 * 状态字典 0正常 1停用 2删除
*/ */
private Integer status; private Integer status;
@Override
public Map<String, Object> doWrap(Object beWrappedModel) {
return null;
}
} }

View File

@ -36,7 +36,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import me.zhyd.oauth.enums.AuthUserGender; import me.zhyd.oauth.enums.AuthUserGender;
import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.model.AuthUser;
import org.springframework.security.crypto.bcrypt.BCrypt;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import vip.xiaonuo.core.consts.CommonConstant; import vip.xiaonuo.core.consts.CommonConstant;
@ -50,6 +49,7 @@ import vip.xiaonuo.core.exception.enums.PermissionExceptionEnum;
import vip.xiaonuo.core.exception.enums.StatusExceptionEnum; import vip.xiaonuo.core.exception.enums.StatusExceptionEnum;
import vip.xiaonuo.core.factory.PageFactory; import vip.xiaonuo.core.factory.PageFactory;
import vip.xiaonuo.core.pojo.page.PageResult; import vip.xiaonuo.core.pojo.page.PageResult;
import vip.xiaonuo.core.util.CryptogramUtil;
import vip.xiaonuo.core.util.PoiUtil; import vip.xiaonuo.core.util.PoiUtil;
import vip.xiaonuo.sys.core.enums.AdminTypeEnum; import vip.xiaonuo.sys.core.enums.AdminTypeEnum;
import vip.xiaonuo.sys.core.enums.OauthSexEnum; import vip.xiaonuo.sys.core.enums.OauthSexEnum;
@ -67,10 +67,8 @@ import vip.xiaonuo.sys.modular.user.result.SysUserResult;
import vip.xiaonuo.sys.modular.user.service.SysUserDataScopeService; import vip.xiaonuo.sys.modular.user.service.SysUserDataScopeService;
import vip.xiaonuo.sys.modular.user.service.SysUserRoleService; import vip.xiaonuo.sys.modular.user.service.SysUserRoleService;
import vip.xiaonuo.sys.modular.user.service.SysUserService; import vip.xiaonuo.sys.modular.user.service.SysUserService;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.*;
import java.util.Set;
/** /**
* 系统用户service接口实现类 * 系统用户service接口实现类
@ -108,8 +106,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
//根据关键字模糊查询姓名账号手机号 //根据关键字模糊查询姓名账号手机号
if (ObjectUtil.isNotEmpty(sysUserParam.getSearchValue())) { if (ObjectUtil.isNotEmpty(sysUserParam.getSearchValue())) {
queryWrapper.and(q -> q.like("sys_user.account", sysUserParam.getSearchValue()) queryWrapper.and(q -> q.like("sys_user.account", sysUserParam.getSearchValue())
.or().like("sys_user.name", sysUserParam.getSearchValue()) .or().like("sys_user.name", sysUserParam.getSearchValue()));
.or().like("sys_user.phone", sysUserParam.getSearchValue()));
} }
//根据员工所属机构查询 //根据员工所属机构查询
if (ObjectUtil.isNotEmpty(sysUserParam.getSysEmpParam())) { if (ObjectUtil.isNotEmpty(sysUserParam.getSysEmpParam())) {
@ -140,6 +137,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
queryWrapper.in("sys_emp.org_id", dataScopeSet); queryWrapper.in("sys_emp.org_id", dataScopeSet);
} }
} }
return new PageResult<>(this.baseMapper.page(PageFactory.defaultPage(), queryWrapper)); return new PageResult<>(this.baseMapper.page(PageFactory.defaultPage(), queryWrapper));
} }
@ -189,7 +187,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
BeanUtil.copyProperties(sysUserParam, sysUser); BeanUtil.copyProperties(sysUserParam, sysUser);
SysUserFactory.fillAddCommonUserInfo(sysUser); SysUserFactory.fillAddCommonUserInfo(sysUser);
if(ObjectUtil.isNotEmpty(sysUserParam.getPassword())) { if(ObjectUtil.isNotEmpty(sysUserParam.getPassword())) {
sysUser.setPassword(BCrypt.hashpw(sysUserParam.getPassword(), BCrypt.gensalt())); sysUser.setPwdHashValue(CryptogramUtil.doHashValue(sysUserParam.getPassword()));
}
// 对铭感字段手机号进行加密保护
if (ConstantContextHolder.getCryptogramConfigs().getFieldEncDec()) {
sysUser.setPhone(CryptogramUtil.doEncrypt(sysUserParam.getPhone()));
} }
this.save(sysUser); this.save(sysUser);
Long sysUserId = sysUser.getId(); Long sysUserId = sysUser.getId();
@ -263,8 +265,15 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
//设置密码 //设置密码
SysUserFactory.fillBaseUserInfo(sysUser); SysUserFactory.fillBaseUserInfo(sysUser);
if(ObjectUtil.isNotEmpty(sysUserParam.getPassword())) { if(ObjectUtil.isNotEmpty(sysUserParam.getPassword())) {
sysUser.setPassword(BCrypt.hashpw(sysUserParam.getPassword(), BCrypt.gensalt())); // 将其哈希掉存进去
sysUser.setPwdHashValue(CryptogramUtil.doHashValue(sysUserParam.getPassword()));
} }
// 对铭感字段手机号进行加密保护
if (ConstantContextHolder.getCryptogramConfigs().getFieldEncDec()) {
sysUser.setPhone(CryptogramUtil.doEncrypt(sysUserParam.getPhone()));
}
this.updateById(sysUser); this.updateById(sysUser);
Long sysUserId = sysUser.getId(); Long sysUserId = sysUser.getId();
//编辑员工信息 //编辑员工信息
@ -371,10 +380,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
throw new ServiceException(SysUserExceptionEnum.USER_PWD_REPEAT); throw new ServiceException(SysUserExceptionEnum.USER_PWD_REPEAT);
} }
//原密码错误 //原密码错误
if (!BCrypt.checkpw(sysUserParam.getPassword(), sysUser.getPassword())) { if (!sysUser.getPwdHashValue().equals(CryptogramUtil.doHashValue(sysUserParam.getPassword()))) {
throw new ServiceException(SysUserExceptionEnum.USER_PWD_ERROR); throw new ServiceException(SysUserExceptionEnum.USER_PWD_ERROR);
} }
sysUser.setPassword(BCrypt.hashpw(sysUserParam.getNewPassword(), BCrypt.gensalt())); sysUser.setPwdHashValue(CryptogramUtil.doHashValue(sysUserParam.getNewPassword()));
this.updateById(sysUser); this.updateById(sysUser);
} }
@ -420,7 +429,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
public void resetPwd(SysUserParam sysUserParam) { public void resetPwd(SysUserParam sysUserParam) {
SysUser sysUser = this.querySysUser(sysUserParam); SysUser sysUser = this.querySysUser(sysUserParam);
String password = ConstantContextHolder.getDefaultPassWord(); String password = ConstantContextHolder.getDefaultPassWord();
sysUser.setPassword(BCrypt.hashpw(password, BCrypt.gensalt())); sysUser.setPwdHashValue(CryptogramUtil.doHashValue(password));
this.updateById(sysUser); this.updateById(sysUser);
} }

View File

@ -0,0 +1,36 @@
package vip.xiaonuo.sys.modular.user.wrapper;
import cn.hutool.core.util.ObjectUtil;
import vip.xiaonuo.core.context.constant.ConstantContextHolder;
import vip.xiaonuo.core.pojo.base.wrapper.BaseWrapper;
import vip.xiaonuo.core.util.CryptogramUtil;
import vip.xiaonuo.sys.modular.user.result.SysUserResult;
import java.util.HashMap;
import java.util.Map;
/**
* 用户管理的包装类
*
* @author yubaoshan
*/
public class SysUserWrapper implements BaseWrapper<SysUserResult> {
@Override
public Map<String, Object> doWrap(SysUserResult sysUserResult) {
Map<String, Object> map = new HashMap<>();
// 是否开启用户表字段加解密如果是被加密的返回列表时需要脱敏
if (ConstantContextHolder.getCryptogramConfigs().getFieldEncDec()) {
if (ObjectUtil.isNotEmpty(sysUserResult.getPhone())) {
map.put("phone", CryptogramUtil.doDecrypt(sysUserResult.getPhone()));
}
}
// 下面这里其他的字段需要做翻译脱敏的下面处理即可
return map;
}
}