|
|
/*
|
|
|
Navicat Premium Dump SQL
|
|
|
|
|
|
Source Server : JavaProjects
|
|
|
Source Server Type : MySQL
|
|
|
Source Server Version : 80040 (8.0.40)
|
|
|
Source Host : localhost:3306
|
|
|
Source Schema : registration
|
|
|
|
|
|
Target Server Type : MySQL
|
|
|
Target Server Version : 80040 (8.0.40)
|
|
|
File Encoding : 65001
|
|
|
|
|
|
Date: 15/05/2026 10:33:13
|
|
|
*/
|
|
|
|
|
|
SET NAMES utf8mb4;
|
|
|
SET FOREIGN_KEY_CHECKS = 0;
|
|
|
|
|
|
-- ----------------------------
|
|
|
-- Table structure for training_registration
|
|
|
-- ----------------------------
|
|
|
DROP TABLE IF EXISTS `training_registration`;
|
|
|
CREATE TABLE `training_registration` (
|
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
|
|
|
`bm_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '报名编号,格式:BMYYYYMMxxxx',
|
|
|
`random_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '随机唯一编号(隐藏)',
|
|
|
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '姓名(真实姓名)',
|
|
|
`company` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '所在单位(学校/企业全称)',
|
|
|
`department` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所在部门(院系/部门名称)',
|
|
|
`referrer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '推荐人',
|
|
|
`referrer_company` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '推荐人单位',
|
|
|
`title` enum('教授','副教授','讲师','工程师','其他') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '职务/职称',
|
|
|
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '手机号码',
|
|
|
`email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '电子邮箱',
|
|
|
`id_card` varchar(18) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '身份证号',
|
|
|
`period` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '报名期次',
|
|
|
`fee` decimal(10, 2) NOT NULL DEFAULT 2500.00 COMMENT '培训费用(元)',
|
|
|
`remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '备注说明(饮食禁忌、特殊需求等)',
|
|
|
`sms_code` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '短信验证码',
|
|
|
`is_verified` tinyint(1) NULL DEFAULT 0 COMMENT '短信是否已验证:0-未验证,1-已验证',
|
|
|
`verification_time` datetime NULL DEFAULT NULL COMMENT '验证时间',
|
|
|
`status` enum('draft','submitted','reviewing','approved','rejected','paid','completed','cancelled') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT 'draft' COMMENT '状态:草稿/已提交/审核中/已通过/已拒绝/已支付/已完成/已取消',
|
|
|
`submit_time` datetime NULL DEFAULT NULL COMMENT '提交时间',
|
|
|
`create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
`update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
`create_ip` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建IP',
|
|
|
`create_user_agent` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建用户代理',
|
|
|
PRIMARY KEY (`id`) USING BTREE,
|
|
|
UNIQUE INDEX `bm_id`(`bm_id` ASC) USING BTREE,
|
|
|
UNIQUE INDEX `random_code`(`random_code` ASC) USING BTREE,
|
|
|
INDEX `idx_bm_id`(`bm_id` ASC) USING BTREE,
|
|
|
INDEX `idx_phone`(`phone` ASC) USING BTREE,
|
|
|
INDEX `idx_email`(`email` ASC) USING BTREE,
|
|
|
INDEX `idx_id_card`(`id_card` ASC) USING BTREE,
|
|
|
INDEX `idx_status`(`status` ASC) USING BTREE,
|
|
|
INDEX `idx_create_time`(`create_time` ASC) USING BTREE,
|
|
|
INDEX `idx_period`(`period` ASC) USING BTREE,
|
|
|
INDEX `idx_company`(`company`(20) ASC) USING BTREE,
|
|
|
INDEX `idx_random_code`(`random_code` ASC) USING BTREE
|
|
|
) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '培训报名表' ROW_FORMAT = Dynamic;
|
|
|
|
|
|
-- ----------------------------
|
|
|
-- Records of training_registration
|
|
|
-- ----------------------------
|
|
|
|
|
|
-- ----------------------------
|
|
|
-- Table structure for user
|
|
|
-- ----------------------------
|
|
|
DROP TABLE IF EXISTS `user`;
|
|
|
CREATE TABLE `user` (
|
|
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
|
|
|
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户名(唯一)',
|
|
|
`email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱(唯一)',
|
|
|
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '手机号(唯一,可选)',
|
|
|
`password_hash` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码哈希值',
|
|
|
`password_salt` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码盐值',
|
|
|
`real_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '真实姓名',
|
|
|
`nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '昵称',
|
|
|
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '头像URL',
|
|
|
`gender` enum('male','female','unknown') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT 'unknown' COMMENT '性别:男/女/未知',
|
|
|
`birthday` date NULL DEFAULT NULL COMMENT '出生日期',
|
|
|
`status` enum('active','inactive','locked','deleted') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT 'active' COMMENT '账号状态:激活/未激活/锁定/已删除',
|
|
|
`email_verified` tinyint(1) NULL DEFAULT 0 COMMENT '邮箱是否已验证:0-未验证,1-已验证',
|
|
|
`phone_verified` tinyint(1) NULL DEFAULT 0 COMMENT '手机号是否已验证:0-未验证,1-已验证',
|
|
|
`last_login_ip` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '最后登录IP',
|
|
|
`last_login_time` datetime NULL DEFAULT NULL COMMENT '最后登录时间',
|
|
|
`login_count` int NULL DEFAULT 0 COMMENT '登录次数',
|
|
|
`failed_login_attempts` int NULL DEFAULT 0 COMMENT '连续登录失败次数',
|
|
|
`account_locked_until` datetime NULL DEFAULT NULL COMMENT '账号锁定至',
|
|
|
`password_changed_at` datetime NULL DEFAULT NULL COMMENT '密码最后修改时间',
|
|
|
`password_expires_at` datetime NULL DEFAULT NULL COMMENT '密码过期时间',
|
|
|
`role` enum('user','admin','super_admin') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT 'user' COMMENT '用户角色',
|
|
|
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
`deleted_at` datetime NULL DEFAULT NULL COMMENT '删除时间(软删除)',
|
|
|
PRIMARY KEY (`id`) USING BTREE,
|
|
|
UNIQUE INDEX `username`(`username` ASC) USING BTREE,
|
|
|
UNIQUE INDEX `email`(`email` ASC) USING BTREE,
|
|
|
UNIQUE INDEX `phone`(`phone` ASC) USING BTREE,
|
|
|
INDEX `idx_username`(`username` ASC) USING BTREE,
|
|
|
INDEX `idx_email`(`email` ASC) USING BTREE,
|
|
|
INDEX `idx_phone`(`phone` ASC) USING BTREE,
|
|
|
INDEX `idx_status`(`status` ASC) USING BTREE,
|
|
|
INDEX `idx_role`(`role` ASC) USING BTREE,
|
|
|
INDEX `idx_created`(`created_at` ASC) USING BTREE,
|
|
|
INDEX `idx_login_time`(`last_login_time` ASC) USING BTREE,
|
|
|
INDEX `idx_status_created`(`status` ASC, `created_at` ASC) USING BTREE
|
|
|
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户表' ROW_FORMAT = Dynamic;
|
|
|
|
|
|
-- ----------------------------
|
|
|
-- Records of user
|
|
|
-- ----------------------------
|
|
|
INSERT INTO `user` VALUES (1, 'admin', '1', '1', 'a3c2b756aae43be93802ed8dda4f9c06', '1234', NULL, NULL, NULL, 'unknown', NULL, 'active', 0, 0, NULL, '2026-05-15 10:03:43', 7, 0, NULL, NULL, NULL, 'super_admin', '2026-04-30 15:08:28', '2026-04-30 15:26:32', NULL);
|
|
|
|
|
|
SET FOREIGN_KEY_CHECKS = 1;
|