From edc13f6fa0862a7f55a1f6ff5afc580485766672 Mon Sep 17 00:00:00 2001 From: Quella <2892744389@qq.com> Date: Sat, 7 Mar 2026 10:23:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0BSD=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 607ITEM电子交互手册/sql/ietm.sql | 316 ++++++++++++++ BSD/BSD数据表/BSDDB.sql | 475 ++++++++++++++++++++++ BSD/特种车辆AI智能防碰撞系统使用文档.docx | Bin 52657 -> 52778 bytes 3 files changed, 791 insertions(+) create mode 100644 607ITEM电子交互手册/sql/ietm.sql create mode 100644 BSD/BSD数据表/BSDDB.sql diff --git a/607ITEM电子交互手册/sql/ietm.sql b/607ITEM电子交互手册/sql/ietm.sql new file mode 100644 index 0000000..83d0857 --- /dev/null +++ b/607ITEM电子交互手册/sql/ietm.sql @@ -0,0 +1,316 @@ +/* + Navicat Premium Data Transfer + + Source Server : 607ietm + Source Server Type : MySQL + Source Server Version : 80405 (8.4.5) + Source Host : 101.35.140.199:13306 + Source Schema : ietm + + Target Server Type : MySQL + Target Server Version : 80405 (8.4.5) + File Encoding : 65001 + + Date: 13/01/2026 15:42:23 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for course +-- ---------------------------- +DROP TABLE IF EXISTS `course`; +CREATE TABLE `course` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '课程ID', + `course_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '课程名称', + `course_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '课程编码', + `course_desc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '课程描述', + `course_category` int NULL DEFAULT NULL COMMENT '课程分类', + `course_ico` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '课程封面', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `course_code`(`course_code` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '课程表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of course +-- ---------------------------- +INSERT INTO `course` VALUES (1, 'ico1.jpg', 'csgo', 'csgo', 1, '/home/quella/src/img/ico'); + +-- ---------------------------- +-- Table structure for course_type +-- ---------------------------- +DROP TABLE IF EXISTS `course_type`; +CREATE TABLE `course_type` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', + `typeName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型名称', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of course_type +-- ---------------------------- +INSERT INTO `course_type` VALUES (1, '游戏'); + +-- ---------------------------- +-- Table structure for dept +-- ---------------------------- +DROP TABLE IF EXISTS `dept`; +CREATE TABLE `dept` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '部门唯一标识', + `dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '部门名称', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `dept_name`(`dept_name` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of dept +-- ---------------------------- +INSERT INTO `dept` VALUES (1, '动漫部'); +INSERT INTO `dept` VALUES (4, '商场逛街讨论部'); +INSERT INTO `dept` VALUES (2, '电子竞技部门'); +INSERT INTO `dept` VALUES (3, '电视剧观赏部'); + +-- ---------------------------- +-- Table structure for device +-- ---------------------------- +DROP TABLE IF EXISTS `device`; +CREATE TABLE `device` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '设备唯一标识', + `device_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '设备编码', + `device_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '设备名称', + `device_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备状态', + `model` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备型号', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `device_code`(`device_code` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '设备表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of device +-- ---------------------------- + +-- ---------------------------- +-- Table structure for exam_paper +-- ---------------------------- +DROP TABLE IF EXISTS `exam_paper`; +CREATE TABLE `exam_paper` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '试卷ID', + `paper_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '试卷名称', + `paper_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '试卷编码', + `paper_desc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '试卷描述', + `total_score` int NOT NULL DEFAULT 100 COMMENT '总分', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `paper_code`(`paper_code` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '试卷表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of exam_paper +-- ---------------------------- + +-- ---------------------------- +-- Table structure for fault_event +-- ---------------------------- +DROP TABLE IF EXISTS `fault_event`; +CREATE TABLE `fault_event` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '故障事件ID', + `event_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '事件编码', + `device_id` bigint NOT NULL COMMENT '设备ID', + `part_id` bigint NULL DEFAULT NULL COMMENT '部件ID', + `fault_item_id` bigint NULL DEFAULT NULL COMMENT '故障条目ID', + `occur_time` datetime NOT NULL COMMENT '发生时间', + `phenomenon_desc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '故障现象', + `reason_analysis` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '原因分析', + `processing_measures` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '处理措施', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `event_code`(`event_code` ASC) USING BTREE, + INDEX `fk_event_device`(`device_id` ASC) USING BTREE, + INDEX `fk_event_part`(`part_id` ASC) USING BTREE, + INDEX `fk_event_fault`(`fault_item_id` ASC) USING BTREE, + CONSTRAINT `fk_event_device` FOREIGN KEY (`device_id`) REFERENCES `device` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_event_fault` FOREIGN KEY (`fault_item_id`) REFERENCES `fault_item` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_event_part` FOREIGN KEY (`part_id`) REFERENCES `part` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '故障事件表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of fault_event +-- ---------------------------- + +-- ---------------------------- +-- Table structure for fault_item +-- ---------------------------- +DROP TABLE IF EXISTS `fault_item`; +CREATE TABLE `fault_item` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '故障条目ID', + `fault_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '故障代码', + `fault_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '故障名称', + `fault_desc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '故障描述', + `device_id` bigint NOT NULL COMMENT '设备ID', + `part_id` bigint NULL DEFAULT NULL COMMENT '部件ID', + `creator_id` bigint NOT NULL COMMENT '创建人ID', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `fault_code`(`fault_code` ASC) USING BTREE, + INDEX `fk_fault_device`(`device_id` ASC) USING BTREE, + INDEX `fk_fault_part`(`part_id` ASC) USING BTREE, + INDEX `fk_fault_user`(`creator_id` ASC) USING BTREE, + CONSTRAINT `fk_fault_device` FOREIGN KEY (`device_id`) REFERENCES `device` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_fault_part` FOREIGN KEY (`part_id`) REFERENCES `part` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_fault_user` FOREIGN KEY (`creator_id`) REFERENCES `user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '故障条目表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of fault_item +-- ---------------------------- + +-- ---------------------------- +-- Table structure for model_file +-- ---------------------------- +DROP TABLE IF EXISTS `model_file`; +CREATE TABLE `model_file` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '模型文件ID', + `part_id` bigint NOT NULL COMMENT '关联部件ID', + `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件名', + `file_path` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件路径', + PRIMARY KEY (`id`) USING BTREE, + INDEX `fk_model_part`(`part_id` ASC) USING BTREE, + CONSTRAINT `fk_model_part` FOREIGN KEY (`part_id`) REFERENCES `part` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '模型文件表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of model_file +-- ---------------------------- + +-- ---------------------------- +-- Table structure for part +-- ---------------------------- +DROP TABLE IF EXISTS `part`; +CREATE TABLE `part` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '部件唯一标识', + `part_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '部件编码', + `part_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '部件名称', + `device_id` bigint NOT NULL COMMENT '所属设备ID', + `part_desc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '部件描述', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `part_code`(`part_code` ASC) USING BTREE, + INDEX `fk_part_device`(`device_id` ASC) USING BTREE, + CONSTRAINT `fk_part_device` FOREIGN KEY (`device_id`) REFERENCES `device` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部件表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of part +-- ---------------------------- + +-- ---------------------------- +-- Table structure for training_resource +-- ---------------------------- +DROP TABLE IF EXISTS `training_resource`; +CREATE TABLE `training_resource` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '资源ID', + `resource_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '资源名称', + `resource_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '资源类型', + `file_path` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件路径', + `course_id` bigint NOT NULL COMMENT '课程ID', + PRIMARY KEY (`id`) USING BTREE, + INDEX `fk_resource_course`(`course_id` ASC) USING BTREE, + CONSTRAINT `fk_resource_course` FOREIGN KEY (`course_id`) REFERENCES `course` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '培训资源表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of training_resource +-- ---------------------------- + +-- ---------------------------- +-- Table structure for troubleshoot_node +-- ---------------------------- +DROP TABLE IF EXISTS `troubleshoot_node`; +CREATE TABLE `troubleshoot_node` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '流程节点ID', + `fault_item_id` bigint NOT NULL COMMENT '故障条目ID', + `step_order` int NOT NULL COMMENT '步骤顺序号', + `step_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '步骤名称', + `step_desc` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '步骤描述', + `check_items` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '检查项', + `measurement_point` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '测量点参考值', + `judge_standard` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '判断标准', + `next_node_id` bigint NULL DEFAULT NULL COMMENT '下一节点ID', + `branch_condition` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分支条件', + `is_leaf` tinyint NOT NULL DEFAULT 0 COMMENT '是否叶子节点', + PRIMARY KEY (`id`) USING BTREE, + INDEX `fk_node_fault`(`fault_item_id` ASC) USING BTREE, + INDEX `fk_node_next`(`next_node_id` ASC) USING BTREE, + CONSTRAINT `fk_node_fault` FOREIGN KEY (`fault_item_id`) REFERENCES `fault_item` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_node_next` FOREIGN KEY (`next_node_id`) REFERENCES `troubleshoot_node` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '排故流程节点表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of troubleshoot_node +-- ---------------------------- + +-- ---------------------------- +-- Table structure for user +-- ---------------------------- +DROP TABLE IF EXISTS `user`; +CREATE TABLE `user` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户唯一标识', + `username` 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 '登录密码', + `real_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户真实姓名', + `dept_id` int NULL DEFAULT NULL COMMENT '部门id', + `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号', + `role` int NOT NULL COMMENT ' 用户角色:1--管理员,2--普通用户', + `status` tinyint NOT NULL DEFAULT 1 COMMENT '用户状态(1启用 0禁用)', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `last_login_time` datetime NULL DEFAULT NULL COMMENT '最后登录时间', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `username`(`username` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of user +-- ---------------------------- +INSERT INTO `user` VALUES (8, 'ttk', '$2a$10$m2LFIGpEqrlnj6Oy/rI6W.2I5hb0Fnxui.baK2a/LY.12.f3Hows6', 'ttk', 1, '19850166220', 2, 1, '2026-01-13 13:01:38', '2026-01-13 13:17:34'); + +-- ---------------------------- +-- Table structure for user_exam_score +-- ---------------------------- +DROP TABLE IF EXISTS `user_exam_score`; +CREATE TABLE `user_exam_score` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '成绩ID', + `user_id` bigint NOT NULL COMMENT '用户ID', + `paper_id` bigint NOT NULL COMMENT '试卷ID', + `score` int NOT NULL COMMENT '考试得分', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `uk_user_paper`(`user_id` ASC, `paper_id` ASC) USING BTREE, + INDEX `fk_score_paper`(`paper_id` ASC) USING BTREE, + CONSTRAINT `fk_score_paper` FOREIGN KEY (`paper_id`) REFERENCES `exam_paper` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_score_user` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户考试成绩表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of user_exam_score +-- ---------------------------- + +-- ---------------------------- +-- Table structure for user_learning_record +-- ---------------------------- +DROP TABLE IF EXISTS `user_learning_record`; +CREATE TABLE `user_learning_record` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '学习记录ID', + `user_id` bigint NOT NULL COMMENT '用户ID', + `course_id` bigint NOT NULL COMMENT '课程ID', + `resource_id` bigint NOT NULL COMMENT '资源ID', + `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '学习状态', + PRIMARY KEY (`id`) USING BTREE, + INDEX `fk_lr_user`(`user_id` ASC) USING BTREE, + INDEX `fk_lr_course`(`course_id` ASC) USING BTREE, + INDEX `fk_lr_resource`(`resource_id` ASC) USING BTREE, + CONSTRAINT `fk_lr_course` FOREIGN KEY (`course_id`) REFERENCES `course` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_lr_resource` FOREIGN KEY (`resource_id`) REFERENCES `training_resource` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `fk_lr_user` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户学习记录表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of user_learning_record +-- ---------------------------- + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/BSD/BSD数据表/BSDDB.sql b/BSD/BSD数据表/BSDDB.sql new file mode 100644 index 0000000..c2df50d --- /dev/null +++ b/BSD/BSD数据表/BSDDB.sql @@ -0,0 +1,475 @@ +/* + Navicat Premium Data Transfer + + Source Server : BSD + Source Server Type : MySQL + Source Server Version : 80039 (8.0.39) + Source Host : 116.147.36.110:13306 + Source Schema : mqtt + + Target Server Type : MySQL + Target Server Version : 80039 (8.0.39) + File Encoding : 65001 + + Date: 10/01/2026 16:40:47 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for equipment +-- ---------------------------- +DROP TABLE IF EXISTS `equipment`; +CREATE TABLE `equipment` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT 'id', + `card_no` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '设备sim卡号', + `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '设备型号', + `birthday` datetime NULL DEFAULT NULL COMMENT '出厂日期', + `note` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '备注', + `state` int NULL DEFAULT NULL COMMENT '状态 0出厂 1激活', + `qrcode` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '唯一识别号', + `activate_time` datetime NULL DEFAULT NULL COMMENT '激活时间', + `activate_by` int NULL DEFAULT NULL COMMENT '激活者', + `del_flag` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表停用)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 87 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '设备表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for gen_table +-- ---------------------------- +DROP TABLE IF EXISTS `gen_table`; +CREATE TABLE `gen_table` ( + `table_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号', + `table_name` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '表名称', + `table_comment` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '表描述', + `sub_table_name` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '关联子表的表名', + `sub_table_fk_name` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '子表关联的外键名', + `class_name` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '实体类名称', + `tpl_category` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT 'crud' COMMENT '使用的模板(crud单表操作 tree树表操作)', + `tpl_web_type` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '前端模板类型(element-ui模版 element-plus模版)', + `package_name` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '生成包路径', + `module_name` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '生成模块名', + `business_name` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '生成业务名', + `function_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '生成功能名', + `function_author` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '生成功能作者', + `gen_type` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '生成代码方式(0zip压缩包 1自定义路径)', + `gen_path` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '/' COMMENT '生成路径(不填默认项目路径)', + `options` varchar(1000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '其它生成选项', + `create_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`table_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '代码生成业务表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for gen_table_column +-- ---------------------------- +DROP TABLE IF EXISTS `gen_table_column`; +CREATE TABLE `gen_table_column` ( + `column_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号', + `table_id` bigint NULL DEFAULT NULL COMMENT '归属表编号', + `column_name` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '列名称', + `column_comment` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '列描述', + `column_type` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '列类型', + `java_type` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT 'JAVA类型', + `java_field` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT 'JAVA字段名', + `is_pk` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '是否主键(1是)', + `is_increment` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '是否自增(1是)', + `is_required` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '是否必填(1是)', + `is_insert` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '是否为插入字段(1是)', + `is_edit` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '是否编辑字段(1是)', + `is_list` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '是否列表字段(1是)', + `is_query` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '是否查询字段(1是)', + `query_type` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)', + `html_type` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)', + `dict_type` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '字典类型', + `sort` int NULL DEFAULT NULL COMMENT '排序', + `create_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`column_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for mqtt_messages +-- ---------------------------- +DROP TABLE IF EXISTS `mqtt_messages`; +CREATE TABLE `mqtt_messages` ( + `id` int NOT NULL AUTO_INCREMENT, + `topic` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '主题', + `payload` mediumblob NULL COMMENT '发布内容', + `lon` double NULL DEFAULT NULL COMMENT '经度', + `lat` double NULL DEFAULT NULL COMMENT '维度', + `card_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备id', + `create_time` datetime NULL DEFAULT NULL COMMENT '报警时间', + `flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '是否标记(0未标记 1已标记)', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 14807 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for mqtt_user +-- ---------------------------- +DROP TABLE IF EXISTS `mqtt_user`; +CREATE TABLE `mqtt_user` ( + `id` int UNSIGNED NOT NULL AUTO_INCREMENT, + `username` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `salt` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `is_superuser` tinyint(1) NULL DEFAULT 0, + `created` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `mqtt_username`(`username`) USING BTREE +) ENGINE = MyISAM AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for notify +-- ---------------------------- +DROP TABLE IF EXISTS `notify`; +CREATE TABLE `notify` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', + `carName` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '设备名称', + `notifyTime` datetime NULL DEFAULT NULL COMMENT '告警时间', + `notifyPic` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '告警图片地址', + `coordinate` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL COMMENT '告警坐标', + `location` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '地点', + `username` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '使用者', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '告警信息' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for path +-- ---------------------------- +DROP TABLE IF EXISTS `path`; +CREATE TABLE `path` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', + `carName` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '设备名称', + `uploadTime` datetime NULL DEFAULT NULL COMMENT '轨迹时间', + `startTime` datetime NULL DEFAULT NULL COMMENT '开始时间', + `startLoc` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '开始位置', + `endTime` datetime NULL DEFAULT NULL COMMENT '结束时间', + `endLoc` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '结束位置', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '设备轨迹表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_config`; +CREATE TABLE `sys_config` ( + `config_id` int NOT NULL AUTO_INCREMENT COMMENT '参数主键', + `config_name` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '参数名称', + `config_key` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '参数键名', + `config_value` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '参数键值', + `config_type` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT 'N' COMMENT '系统内置(Y是 N否)', + `create_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`config_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '参数配置表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_dept +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dept`; +CREATE TABLE `sys_dept` ( + `dept_id` bigint NOT NULL AUTO_INCREMENT COMMENT '部门id', + `parent_id` bigint NULL DEFAULT 0 COMMENT '父部门id', + `ancestors` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '祖级列表', + `dept_name` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '部门名称', + `order_num` int NULL DEFAULT 0 COMMENT '显示顺序', + `leader` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '负责人', + `phone` varchar(11) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '联系电话', + `email` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '邮箱', + `status` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '部门状态(0正常 1停用)', + `del_flag` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`dept_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 110 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '部门表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_dict_data +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_data`; +CREATE TABLE `sys_dict_data` ( + `dict_code` bigint NOT NULL AUTO_INCREMENT COMMENT '字典编码', + `dict_sort` int NULL DEFAULT 0 COMMENT '字典排序', + `dict_label` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '字典标签', + `dict_value` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '字典键值', + `dict_type` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '字典类型', + `css_class` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '样式属性(其他样式扩展)', + `list_class` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '表格回显样式', + `is_default` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT 'N' COMMENT '是否默认(Y是 N否)', + `status` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_code`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 39 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '字典数据表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_dict_type +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_type`; +CREATE TABLE `sys_dict_type` ( + `dict_id` bigint NOT NULL AUTO_INCREMENT COMMENT '字典主键', + `dict_name` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '字典类型', + `status` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_id`) USING BTREE, + UNIQUE INDEX `dict_type`(`dict_type` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '字典类型表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_job +-- ---------------------------- +DROP TABLE IF EXISTS `sys_job`; +CREATE TABLE `sys_job` ( + `job_id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务ID', + `job_name` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '' COMMENT '任务名称', + `job_group` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名', + `invoke_target` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '调用目标字符串', + `cron_expression` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT 'cron执行表达式', + `misfire_policy` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '3' COMMENT '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', + `concurrent` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '1' COMMENT '是否并发执行(0允许 1禁止)', + `status` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1暂停)', + `create_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '备注信息', + PRIMARY KEY (`job_id`, `job_name`, `job_group`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '定时任务调度表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_job_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_job_log`; +CREATE TABLE `sys_job_log` ( + `job_log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务日志ID', + `job_name` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '任务名称', + `job_group` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '任务组名', + `invoke_target` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '调用目标字符串', + `job_message` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '日志信息', + `status` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '执行状态(0正常 1失败)', + `exception_info` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '异常信息', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`job_log_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '定时任务调度日志表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_logininfor +-- ---------------------------- +DROP TABLE IF EXISTS `sys_logininfor`; +CREATE TABLE `sys_logininfor` ( + `info_id` bigint NOT NULL AUTO_INCREMENT COMMENT '访问ID', + `user_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '用户账号', + `ipaddr` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '登录地点', + `browser` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '浏览器类型', + `os` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '操作系统', + `status` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '登录状态(0成功 1失败)', + `msg` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '提示消息', + `login_time` datetime NULL DEFAULT NULL COMMENT '访问时间', + PRIMARY KEY (`info_id`) USING BTREE, + INDEX `idx_sys_logininfor_s`(`status` ASC) USING BTREE, + INDEX `idx_sys_logininfor_lt`(`login_time` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 943 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '系统访问记录' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_menu`; +CREATE TABLE `sys_menu` ( + `menu_id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单ID', + `menu_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '菜单名称', + `parent_id` bigint NULL DEFAULT 0 COMMENT '父菜单ID', + `order_num` int NULL DEFAULT 0 COMMENT '显示顺序', + `path` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '路由地址', + `component` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '组件路径', + `query` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '路由参数', + `route_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '路由名称', + `is_frame` int NULL DEFAULT 1 COMMENT '是否为外链(0是 1否)', + `is_cache` int NULL DEFAULT 0 COMMENT '是否缓存(0缓存 1不缓存)', + `menu_type` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', + `visible` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)', + `status` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '菜单状态(0正常 1停用)', + `perms` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '权限标识', + `icon` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '#' COMMENT '菜单图标', + `create_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '备注', + PRIMARY KEY (`menu_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2034 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '菜单权限表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_notice +-- ---------------------------- +DROP TABLE IF EXISTS `sys_notice`; +CREATE TABLE `sys_notice` ( + `notice_id` int NOT NULL AUTO_INCREMENT COMMENT '公告ID', + `notice_title` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '公告标题', + `notice_type` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '公告类型(1通知 2公告)', + `notice_content` longblob NULL COMMENT '公告内容', + `status` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '公告状态(0正常 1关闭)', + `create_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`notice_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '通知公告表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_oper_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oper_log`; +CREATE TABLE `sys_oper_log` ( + `oper_id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键', + `title` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '模块标题', + `business_type` int NULL DEFAULT 0 COMMENT '业务类型(0其它 1新增 2修改 3删除)', + `method` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '方法名称', + `request_method` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '请求方式', + `operator_type` int NULL DEFAULT 0 COMMENT '操作类别(0其它 1后台用户 2手机端用户)', + `oper_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '操作人员', + `dept_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '部门名称', + `oper_url` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '请求URL', + `oper_ip` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '主机地址', + `oper_location` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '操作地点', + `oper_param` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '请求参数', + `json_result` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '返回参数', + `status` int NULL DEFAULT 0 COMMENT '操作状态(0正常 1异常)', + `error_msg` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '错误消息', + `oper_time` datetime NULL DEFAULT NULL COMMENT '操作时间', + `cost_time` bigint NULL DEFAULT 0 COMMENT '消耗时间', + PRIMARY KEY (`oper_id`) USING BTREE, + INDEX `idx_sys_oper_log_bt`(`business_type` ASC) USING BTREE, + INDEX `idx_sys_oper_log_s`(`status` ASC) USING BTREE, + INDEX `idx_sys_oper_log_ot`(`oper_time` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 536 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '操作日志记录' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_post`; +CREATE TABLE `sys_post` ( + `post_id` bigint NOT NULL AUTO_INCREMENT COMMENT '岗位ID', + `post_code` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '岗位编码', + `post_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '岗位名称', + `post_sort` int NOT NULL COMMENT '显示顺序', + `status` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`post_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '岗位信息表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role`; +CREATE TABLE `sys_role` ( + `role_id` bigint NOT NULL AUTO_INCREMENT COMMENT '角色ID', + `role_name` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '角色名称', + `role_key` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '角色权限字符串', + `role_sort` int NOT NULL COMMENT '显示顺序', + `data_scope` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', + `menu_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '菜单树选择项是否关联显示', + `dept_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '部门树选择项是否关联显示', + `status` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '角色状态(0正常 1停用)', + `del_flag` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`role_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 102 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '角色信息表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_role_dept +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_dept`; +CREATE TABLE `sys_role_dept` ( + `role_id` bigint NOT NULL COMMENT '角色ID', + `dept_id` bigint NOT NULL COMMENT '部门ID', + PRIMARY KEY (`role_id`, `dept_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '角色和部门关联表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_role_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_menu`; +CREATE TABLE `sys_role_menu` ( + `role_id` bigint NOT NULL COMMENT '角色ID', + `menu_id` bigint NOT NULL COMMENT '菜单ID', + PRIMARY KEY (`role_id`, `menu_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_user +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user`; +CREATE TABLE `sys_user` ( + `user_id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID', + `dept_id` bigint NULL DEFAULT NULL COMMENT '部门ID', + `user_name` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '用户账号', + `nick_name` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '用户昵称', + `user_type` varchar(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '00' COMMENT '用户类型(00系统用户)', + `email` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '用户邮箱', + `phonenumber` varchar(11) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '手机号码', + `sex` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)', + `avatar` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '头像地址', + `password` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '密码', + `status` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '帐号状态(0正常 1未审核)', + `del_flag` char(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `login_ip` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '最后登录IP', + `login_date` datetime NULL DEFAULT NULL COMMENT '最后登录时间', + `create_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '创建者', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT '' COMMENT '更新者', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`user_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 122 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_user_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_post`; +CREATE TABLE `sys_user_post` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `post_id` bigint NOT NULL COMMENT '岗位ID', + PRIMARY KEY (`user_id`, `post_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '用户与岗位关联表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Table structure for sys_user_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_role`; +CREATE TABLE `sys_user_role` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `role_id` bigint NOT NULL COMMENT '角色ID', + PRIMARY KEY (`user_id`, `role_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = DYNAMIC; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/BSD/特种车辆AI智能防碰撞系统使用文档.docx b/BSD/特种车辆AI智能防碰撞系统使用文档.docx index 976a3a3eb89782f5af802eac532a997f86a2e540..62fbcc4230afcde3238075290da2dd60346a3c12 100644 GIT binary patch delta 34159 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 F0{~F?^1=WB delta 34066 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