/*
 Navicat Premium Dump SQL

 Source Server         : pt_station
 Source Server Type    : MySQL
 Source Server Version : 80041 (8.0.41-0ubuntu0.22.04.1)
 Source Host           : 49.233.215.144:3306
 Source Schema         : pt_station

 Target Server Type    : MySQL
 Target Server Version : 80041 (8.0.41-0ubuntu0.22.04.1)
 File Encoding         : 65001

 Date: 21/04/2025 21:18:55
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for QRTZ_BLOB_TRIGGERS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_BLOB_TRIGGERS`;
CREATE TABLE `QRTZ_BLOB_TRIGGERS`  (
  `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调度名称',
  `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
  `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
  `blob_data` blob NULL COMMENT '存放持久化Trigger对象',
  PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE,
  CONSTRAINT `QRTZ_BLOB_TRIGGERS_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'Blob类型的触发器表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of QRTZ_BLOB_TRIGGERS
-- ----------------------------

-- ----------------------------
-- Table structure for QRTZ_CALENDARS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_CALENDARS`;
CREATE TABLE `QRTZ_CALENDARS`  (
  `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调度名称',
  `calendar_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '日历名称',
  `calendar` blob NOT NULL COMMENT '存放持久化calendar对象',
  PRIMARY KEY (`sched_name`, `calendar_name`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '日历信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of QRTZ_CALENDARS
-- ----------------------------

-- ----------------------------
-- Table structure for QRTZ_CRON_TRIGGERS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_CRON_TRIGGERS`;
CREATE TABLE `QRTZ_CRON_TRIGGERS`  (
  `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调度名称',
  `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
  `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
  `cron_expression` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'cron表达式',
  `time_zone_id` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '时区',
  PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE,
  CONSTRAINT `QRTZ_CRON_TRIGGERS_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'Cron类型的触发器表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of QRTZ_CRON_TRIGGERS
-- ----------------------------

-- ----------------------------
-- Table structure for QRTZ_FIRED_TRIGGERS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_FIRED_TRIGGERS`;
CREATE TABLE `QRTZ_FIRED_TRIGGERS`  (
  `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调度名称',
  `entry_id` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调度器实例id',
  `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
  `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
  `instance_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调度器实例名',
  `fired_time` bigint NOT NULL COMMENT '触发的时间',
  `sched_time` bigint NOT NULL COMMENT '定时器制定的时间',
  `priority` int NOT NULL COMMENT '优先级',
  `state` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '状态',
  `job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任务名称',
  `job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任务组名',
  `is_nonconcurrent` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否并发',
  `requests_recovery` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否接受恢复执行',
  PRIMARY KEY (`sched_name`, `entry_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '已触发的触发器表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of QRTZ_FIRED_TRIGGERS
-- ----------------------------

-- ----------------------------
-- Table structure for QRTZ_JOB_DETAILS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_JOB_DETAILS`;
CREATE TABLE `QRTZ_JOB_DETAILS`  (
  `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调度名称',
  `job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务名称',
  `job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务组名',
  `description` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '相关介绍',
  `job_class_name` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '执行任务类名称',
  `is_durable` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '是否持久化',
  `is_nonconcurrent` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '是否并发',
  `is_update_data` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '是否更新数据',
  `requests_recovery` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '是否接受恢复执行',
  `job_data` blob NULL COMMENT '存放持久化job对象',
  PRIMARY KEY (`sched_name`, `job_name`, `job_group`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '任务详细信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of QRTZ_JOB_DETAILS
-- ----------------------------

-- ----------------------------
-- Table structure for QRTZ_LOCKS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_LOCKS`;
CREATE TABLE `QRTZ_LOCKS`  (
  `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调度名称',
  `lock_name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '悲观锁名称',
  PRIMARY KEY (`sched_name`, `lock_name`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '存储的悲观锁信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of QRTZ_LOCKS
-- ----------------------------

-- ----------------------------
-- Table structure for QRTZ_PAUSED_TRIGGER_GRPS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_PAUSED_TRIGGER_GRPS`;
CREATE TABLE `QRTZ_PAUSED_TRIGGER_GRPS`  (
  `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调度名称',
  `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
  PRIMARY KEY (`sched_name`, `trigger_group`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '暂停的触发器表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of QRTZ_PAUSED_TRIGGER_GRPS
-- ----------------------------

-- ----------------------------
-- Table structure for QRTZ_SCHEDULER_STATE
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_SCHEDULER_STATE`;
CREATE TABLE `QRTZ_SCHEDULER_STATE`  (
  `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调度名称',
  `instance_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '实例名称',
  `last_checkin_time` bigint NOT NULL COMMENT '上次检查时间',
  `checkin_interval` bigint NOT NULL COMMENT '检查间隔时间',
  PRIMARY KEY (`sched_name`, `instance_name`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '调度器状态表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of QRTZ_SCHEDULER_STATE
-- ----------------------------

-- ----------------------------
-- Table structure for QRTZ_SIMPLE_TRIGGERS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_SIMPLE_TRIGGERS`;
CREATE TABLE `QRTZ_SIMPLE_TRIGGERS`  (
  `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调度名称',
  `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
  `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
  `repeat_count` bigint NOT NULL COMMENT '重复的次数统计',
  `repeat_interval` bigint NOT NULL COMMENT '重复的间隔时间',
  `times_triggered` bigint NOT NULL COMMENT '已经触发的次数',
  PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE,
  CONSTRAINT `QRTZ_SIMPLE_TRIGGERS_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '简单触发器的信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of QRTZ_SIMPLE_TRIGGERS
-- ----------------------------

-- ----------------------------
-- Table structure for QRTZ_SIMPROP_TRIGGERS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_SIMPROP_TRIGGERS`;
CREATE TABLE `QRTZ_SIMPROP_TRIGGERS`  (
  `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调度名称',
  `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
  `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
  `str_prop_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'String类型的trigger的第一个参数',
  `str_prop_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'String类型的trigger的第二个参数',
  `str_prop_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'String类型的trigger的第三个参数',
  `int_prop_1` int NULL DEFAULT NULL COMMENT 'int类型的trigger的第一个参数',
  `int_prop_2` int NULL DEFAULT NULL COMMENT 'int类型的trigger的第二个参数',
  `long_prop_1` bigint NULL DEFAULT NULL COMMENT 'long类型的trigger的第一个参数',
  `long_prop_2` bigint NULL DEFAULT NULL COMMENT 'long类型的trigger的第二个参数',
  `dec_prop_1` decimal(13, 4) NULL DEFAULT NULL COMMENT 'decimal类型的trigger的第一个参数',
  `dec_prop_2` decimal(13, 4) NULL DEFAULT NULL COMMENT 'decimal类型的trigger的第二个参数',
  `bool_prop_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'Boolean类型的trigger的第一个参数',
  `bool_prop_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'Boolean类型的trigger的第二个参数',
  PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE,
  CONSTRAINT `QRTZ_SIMPROP_TRIGGERS_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `QRTZ_TRIGGERS` (`sched_name`, `trigger_name`, `trigger_group`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '同步机制的行锁表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of QRTZ_SIMPROP_TRIGGERS
-- ----------------------------

-- ----------------------------
-- Table structure for QRTZ_TRIGGERS
-- ----------------------------
DROP TABLE IF EXISTS `QRTZ_TRIGGERS`;
CREATE TABLE `QRTZ_TRIGGERS`  (
  `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调度名称',
  `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '触发器的名字',
  `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '触发器所属组的名字',
  `job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'qrtz_job_details表job_name的外键',
  `job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'qrtz_job_details表job_group的外键',
  `description` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '相关介绍',
  `next_fire_time` bigint NULL DEFAULT NULL COMMENT '上一次触发时间（毫秒）',
  `prev_fire_time` bigint NULL DEFAULT NULL COMMENT '下一次触发时间（默认为-1表示不触发）',
  `priority` int NULL DEFAULT NULL COMMENT '优先级',
  `trigger_state` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '触发器状态',
  `trigger_type` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '触发器的类型',
  `start_time` bigint NOT NULL COMMENT '开始时间',
  `end_time` bigint NULL DEFAULT NULL COMMENT '结束时间',
  `calendar_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '日程表名称',
  `misfire_instr` smallint NULL DEFAULT NULL COMMENT '补偿执行的策略',
  `job_data` blob NULL COMMENT '存放持久化job对象',
  PRIMARY KEY (`sched_name`, `trigger_name`, `trigger_group`) USING BTREE,
  INDEX `sched_name`(`sched_name` ASC, `job_name` ASC, `job_group` ASC) USING BTREE,
  CONSTRAINT `QRTZ_TRIGGERS_ibfk_1` FOREIGN KEY (`sched_name`, `job_name`, `job_group`) REFERENCES `QRTZ_JOB_DETAILS` (`sched_name`, `job_name`, `job_group`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '触发器详细信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of QRTZ_TRIGGERS
-- ----------------------------

-- ----------------------------
-- Table structure for bt_torrent
-- ----------------------------
DROP TABLE IF EXISTS `bt_torrent`;
CREATE TABLE `bt_torrent`  (
  `torrent_id` bigint NOT NULL AUTO_INCREMENT COMMENT '种子ID',
  `info_hash` char(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'InfoHash',
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '种子名称',
  `length` bigint NULL DEFAULT 0 COMMENT '总大小（字节）',
  `piece_length` int NULL DEFAULT 0 COMMENT '每个 piece 的长度',
  `pieces_count` int NULL DEFAULT 0 COMMENT 'piece 总数',
  `created_by` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建工具',
  `torrent_create_time` datetime NULL DEFAULT NULL COMMENT '种子内记录的创建时间',
  `uploader_id` bigint NOT NULL COMMENT '上传用户ID（关联 sys_user.user_id）',
  `upload_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
  `file_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '种子文件在服务器的存储路径',
  PRIMARY KEY (`torrent_id`) USING BTREE,
  UNIQUE INDEX `info_hash`(`info_hash` ASC) USING BTREE,
  UNIQUE INDEX `uk_info_hash`(`info_hash` ASC) USING BTREE,
  INDEX `idx_uploader_id`(`uploader_id` ASC) USING BTREE,
  CONSTRAINT `fk_bt_torrent_user` FOREIGN KEY (`uploader_id`) REFERENCES `sys_user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 46 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '种子主表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of bt_torrent
-- ----------------------------
INSERT INTO `bt_torrent` VALUES (42, 'ab570cdd5a17ea1b61e970bb72047de141bce173', 'test.torrent', 307949, 32768, 10, 'admin', '2007-01-22 08:00:00', 1, '2025-04-21 08:00:00', '');
INSERT INTO `bt_torrent` VALUES (43, '60d5d82328b4547511fdeac9bf4d0112daa0ce00', 'ubuntu-9.04-desktop-i386.iso.torrent', 732909568, 524288, 1398, 'admin', '2009-04-23 08:00:00', 1, '2025-04-21 08:00:00', '');
INSERT INTO `bt_torrent` VALUES (44, '336c8713912654327b2871fe20213ebfec0b12d4', 'unicode_filenames.torrent', 443721760, 262144, 1693, 'admin', '2013-01-01 08:00:00', 1, '2025-04-21 08:00:00', '');
INSERT INTO `bt_torrent` VALUES (45, '3899726345c390a8c7f9826b568ccd0701d83524', 'v2_hybrid.torrent', 32768, 16384, 2, 'admin', NULL, 1, '2025-04-21 08:00:00', '');

-- ----------------------------
-- Table structure for bt_torrent_announce
-- ----------------------------
DROP TABLE IF EXISTS `bt_torrent_announce`;
CREATE TABLE `bt_torrent_announce`  (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  `torrent_id` bigint NOT NULL COMMENT '种子ID',
  `announce_url` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'Tracker announce URL',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `idx_torrent_id`(`torrent_id` ASC) USING BTREE,
  CONSTRAINT `fk_bt_announce_torrent` FOREIGN KEY (`torrent_id`) REFERENCES `bt_torrent` (`torrent_id`) ON DELETE CASCADE ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '种子的 Tracker 列表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of bt_torrent_announce
-- ----------------------------
INSERT INTO `bt_torrent_announce` VALUES (6, 42, 'http://tracker.aelitis.com:6969/announce');
INSERT INTO `bt_torrent_announce` VALUES (7, 42, 'http://tracker.aelitis.com:6969/announce');
INSERT INTO `bt_torrent_announce` VALUES (8, 42, 'http://tracker.aelitis.com:16969/announce');
INSERT INTO `bt_torrent_announce` VALUES (9, 43, 'http://torrent.ubuntu.com:6969/announce');
INSERT INTO `bt_torrent_announce` VALUES (10, 45, 'http://example.com/announce');

-- ----------------------------
-- Table structure for bt_torrent_file
-- ----------------------------
DROP TABLE IF EXISTS `bt_torrent_file`;
CREATE TABLE `bt_torrent_file`  (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  `torrent_id` bigint NOT NULL COMMENT '种子ID（关联 bt_torrent）',
  `file_path` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '文件路径',
  `file_size` bigint NULL DEFAULT 0 COMMENT '文件大小（字节）',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `idx_torrent_id`(`torrent_id` ASC) USING BTREE,
  CONSTRAINT `fk_bt_file_torrent` FOREIGN KEY (`torrent_id`) REFERENCES `bt_torrent` (`torrent_id`) ON DELETE CASCADE ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 31 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '种子包含的文件列表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of bt_torrent_file
-- ----------------------------
INSERT INTO `bt_torrent_file` VALUES (20, 42, 'azcvsupdater_2.6.2.jar', 307949);
INSERT INTO `bt_torrent_file` VALUES (21, 43, 'ubuntu-9.04-desktop-i386.iso', 732909568);
INSERT INTO `bt_torrent_file` VALUES (22, 44, 'Alisher ibn G\'iyosiddin Navoiy.mkv', 126158658);
INSERT INTO `bt_torrent_file` VALUES (23, 44, 'Ascii title.mkv', 189321363);
INSERT INTO `bt_torrent_file` VALUES (24, 44, 'Михаил Горбачёв.mkv', 106649699);
INSERT INTO `bt_torrent_file` VALUES (25, 44, 'সুকুমার রায়.mkv', 21590269);
INSERT INTO `bt_torrent_file` VALUES (26, 44, 'テクス・テクサン.mkv', 1771);
INSERT INTO `bt_torrent_file` VALUES (27, 45, 'small.txt', 22);
INSERT INTO `bt_torrent_file` VALUES (28, 45, '.pad/16362', 16362);
INSERT INTO `bt_torrent_file` VALUES (29, 45, '還在一個人無聊嗎~還不趕緊上來聊天美.txt', 32);
INSERT INTO `bt_torrent_file` VALUES (30, 45, '.pad/16352', 16352);

-- ----------------------------
-- Table structure for bt_torrent_tags
-- ----------------------------
DROP TABLE IF EXISTS `bt_torrent_tags`;
CREATE TABLE `bt_torrent_tags`  (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `torrent_id` bigint NOT NULL,
  `tag` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `idx_tag`(`tag` ASC) USING BTREE,
  INDEX `fk_bt_tag_torrent`(`torrent_id` ASC) USING BTREE,
  CONSTRAINT `fk_bt_tag_torrent` FOREIGN KEY (`torrent_id`) REFERENCES `bt_torrent` (`torrent_id`) ON DELETE CASCADE ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '种子标签' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of bt_torrent_tags
-- ----------------------------

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '表名称',
  `table_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '表描述',
  `sub_table_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '关联子表的表名',
  `sub_table_fk_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '子表关联的外键名',
  `class_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '实体类名称',
  `tpl_category` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'crud' COMMENT '使用的模板（crud单表操作 tree树表操作）',
  `tpl_web_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '前端模板类型（element-ui模版 element-plus模版）',
  `package_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成包路径',
  `module_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成模块名',
  `business_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成业务名',
  `function_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成功能名',
  `function_author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成功能作者',
  `gen_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '生成代码方式（0zip压缩包 1自定义路径）',
  `gen_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '/' COMMENT '生成路径（不填默认项目路径）',
  `options` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '其它生成选项',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`table_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '代码生成业务表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of gen_table
-- ----------------------------
INSERT INTO `gen_table` VALUES (1, 'tracker_project', '项目表', NULL, NULL, 'TrackerProject', 'crud', '', 'com.ruoyi.system', 'system', 'project', '项目', 'ruoyi', '0', '/', NULL, 'admin', '2025-04-20 20:33:25', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (2, 'tracker_project_user', '项目与用户关联表', NULL, NULL, 'TrackerProjectUser', 'crud', '', 'com.ruoyi.system', 'system', 'user', '项目与用户关联', 'ruoyi', '0', '/', NULL, 'admin', '2025-04-20 20:33:26', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (3, 'tracker_task', '任务表', NULL, NULL, 'TrackerTask', 'crud', '', 'com.ruoyi.system', 'system', 'task', '任务', 'ruoyi', '0', '/', NULL, 'admin', '2025-04-20 20:33:26', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (4, 'tracker_task_log', '任务日志表', NULL, NULL, 'TrackerTaskLog', 'crud', '', 'com.ruoyi.system', 'system', 'log', '任务日志', 'ruoyi', '0', '/', NULL, 'admin', '2025-04-20 20:33:27', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (5, 'bt_torrent', '种子主表', NULL, NULL, 'BtTorrent', 'crud', '', 'com.ruoyi.system', 'system', 'torrent', '种子主', 'ruoyi', '0', '/', NULL, 'admin', '2025-04-21 10:00:26', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (6, 'bt_torrent_announce', '种子的 Tracker 列表', NULL, NULL, 'BtTorrentAnnounce', 'crud', '', 'com.ruoyi.system', 'system', 'announce', '种子的 Tracker 列', 'ruoyi', '0', '/', NULL, 'admin', '2025-04-21 10:00:26', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (7, 'bt_torrent_file', '种子包含的文件列表', NULL, NULL, 'BtTorrentFile', 'crud', '', 'com.ruoyi.system', 'system', 'file', '种子包含的文件列', 'ruoyi', '0', '/', NULL, 'admin', '2025-04-21 10:00:26', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (8, 'bt_torrent_tags', '种子标签', NULL, NULL, 'BtTorrentTags', 'crud', '', 'com.ruoyi.system', 'system', 'tags', '种子标签', 'ruoyi', '0', '/', NULL, 'admin', '2025-04-21 10:00:27', '', NULL, NULL);

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '列名称',
  `column_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '列描述',
  `column_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '列类型',
  `java_type` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'JAVA类型',
  `java_field` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'JAVA字段名',
  `is_pk` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否主键（1是）',
  `is_increment` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否自增（1是）',
  `is_required` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否必填（1是）',
  `is_insert` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否为插入字段（1是）',
  `is_edit` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否编辑字段（1是）',
  `is_list` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否列表字段（1是）',
  `is_query` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否查询字段（1是）',
  `query_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'EQ' COMMENT '查询方式（等于、不等于、大于、小于、范围）',
  `html_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '显示类型（文本框、文本域、下拉框、复选框、单选框、日期控件）',
  `dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典类型',
  `sort` int NULL DEFAULT NULL COMMENT '排序',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`column_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 49 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of gen_table_column
-- ----------------------------
INSERT INTO `gen_table_column` VALUES (1, 1, 'project_id', '项目ID', 'bigint', 'Long', 'projectId', '1', '1', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-04-20 20:33:25', '', NULL);
INSERT INTO `gen_table_column` VALUES (2, 1, 'project_name', '项目名称', 'varchar(100)', 'String', 'projectName', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2025-04-20 20:33:25', '', NULL);
INSERT INTO `gen_table_column` VALUES (3, 1, 'description', '项目描述', 'varchar(255)', 'String', 'description', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2025-04-20 20:33:25', '', NULL);
INSERT INTO `gen_table_column` VALUES (4, 1, 'status', '项目状态（active: 激活, inactive: 不活跃）', 'varchar(50)', 'String', 'status', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'radio', '', 4, 'admin', '2025-04-20 20:33:25', '', NULL);
INSERT INTO `gen_table_column` VALUES (5, 1, 'create_by', '创建者', 'varchar(64)', 'String', 'createBy', '0', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 5, 'admin', '2025-04-20 20:33:25', '', NULL);
INSERT INTO `gen_table_column` VALUES (6, 1, 'create_time', '创建时间', 'datetime', 'Date', 'createTime', '0', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'datetime', '', 6, 'admin', '2025-04-20 20:33:25', '', NULL);
INSERT INTO `gen_table_column` VALUES (7, 1, 'update_by', '更新者', 'varchar(64)', 'String', 'updateBy', '0', '0', '0', '1', '1', NULL, NULL, 'EQ', 'input', '', 7, 'admin', '2025-04-20 20:33:25', '', NULL);
INSERT INTO `gen_table_column` VALUES (8, 1, 'update_time', '更新时间', 'datetime', 'Date', 'updateTime', '0', '0', '0', '1', '1', NULL, NULL, 'EQ', 'datetime', '', 8, 'admin', '2025-04-20 20:33:25', '', NULL);
INSERT INTO `gen_table_column` VALUES (9, 2, 'project_id', '项目ID', 'bigint', 'Long', 'projectId', '1', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-04-20 20:33:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (10, 2, 'user_id', '用户ID', 'bigint', 'Long', 'userId', '1', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 2, 'admin', '2025-04-20 20:33:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (11, 2, 'role', '角色（管理员、成员等）', 'varchar(50)', 'String', 'role', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2025-04-20 20:33:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (12, 2, 'create_time', '加入时间', 'datetime', 'Date', 'createTime', '0', '0', '1', '1', NULL, NULL, NULL, 'EQ', 'datetime', '', 4, 'admin', '2025-04-20 20:33:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (13, 3, 'task_id', '任务ID', 'bigint', 'Long', 'taskId', '1', '1', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-04-20 20:33:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (14, 3, 'project_id', '所属项目ID', 'bigint', 'Long', 'projectId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-04-20 20:33:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (15, 3, 'task_name', '任务名称', 'varchar(100)', 'String', 'taskName', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 3, 'admin', '2025-04-20 20:33:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (16, 3, 'description', '任务描述', 'varchar(255)', 'String', 'description', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-04-20 20:33:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (17, 3, 'assigned_to', '分配给的用户ID', 'bigint', 'Long', 'assignedTo', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2025-04-20 20:33:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (18, 3, 'status', '任务状态（open: 待办, in_progress: 进行中, closed: 完成）', 'varchar(50)', 'String', 'status', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'radio', '', 6, 'admin', '2025-04-20 20:33:27', '', NULL);
INSERT INTO `gen_table_column` VALUES (19, 3, 'priority', '任务优先级（low, medium, high）', 'varchar(20)', 'String', 'priority', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 7, 'admin', '2025-04-20 20:33:27', '', NULL);
INSERT INTO `gen_table_column` VALUES (20, 3, 'create_time', '创建时间', 'datetime', 'Date', 'createTime', '0', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'datetime', '', 8, 'admin', '2025-04-20 20:33:27', '', NULL);
INSERT INTO `gen_table_column` VALUES (21, 3, 'update_time', '更新时间', 'datetime', 'Date', 'updateTime', '0', '0', '0', '1', '1', NULL, NULL, 'EQ', 'datetime', '', 9, 'admin', '2025-04-20 20:33:27', '', NULL);
INSERT INTO `gen_table_column` VALUES (22, 4, 'log_id', '日志ID', 'bigint', 'Long', 'logId', '1', '1', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-04-20 20:33:27', '', NULL);
INSERT INTO `gen_table_column` VALUES (23, 4, 'task_id', '任务ID', 'bigint', 'Long', 'taskId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-04-20 20:33:27', '', NULL);
INSERT INTO `gen_table_column` VALUES (24, 4, 'user_id', '操作用户ID', 'bigint', 'Long', 'userId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2025-04-20 20:33:27', '', NULL);
INSERT INTO `gen_table_column` VALUES (25, 4, 'action', '操作类型（创建、更新、删除）', 'varchar(50)', 'String', 'action', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-04-20 20:33:27', '', NULL);
INSERT INTO `gen_table_column` VALUES (26, 4, 'description', '操作描述', 'varchar(255)', 'String', 'description', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2025-04-20 20:33:27', '', NULL);
INSERT INTO `gen_table_column` VALUES (27, 4, 'create_time', '创建时间', 'datetime', 'Date', 'createTime', '0', '0', '0', '1', NULL, NULL, NULL, 'EQ', 'datetime', '', 6, 'admin', '2025-04-20 20:33:27', '', NULL);
INSERT INTO `gen_table_column` VALUES (28, 5, 'torrent_id', '种子ID', 'bigint', 'Long', 'torrentId', '1', '1', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (29, 5, 'info_hash', 'InfoHash', 'char(40)', 'String', 'infoHash', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (30, 5, 'name', '种子名称', 'varchar(255)', 'String', 'name', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 3, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (31, 5, 'length', '总大小（字节）', 'bigint', 'Long', 'length', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (32, 5, 'piece_length', '每个 piece 的长度', 'int', 'Long', 'pieceLength', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (33, 5, 'pieces_count', 'piece 总数', 'int', 'Long', 'piecesCount', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (34, 5, 'created_by', '创建工具', 'varchar(100)', 'String', 'createdBy', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 7, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (35, 5, 'torrent_create_time', '种子内记录的创建时间', 'datetime', 'Date', 'torrentCreateTime', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 8, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (36, 5, 'uploader_id', '上传用户ID（关联 sys_user.user_id）', 'bigint', 'Long', 'uploaderId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 9, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (37, 5, 'upload_time', '上传时间', 'datetime', 'Date', 'uploadTime', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'datetime', '', 10, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (38, 5, 'file_path', '种子文件在服务器的存储路径', 'varchar(255)', 'String', 'filePath', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 11, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (39, 6, 'id', '主键', 'bigint', 'Long', 'id', '1', '1', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (40, 6, 'torrent_id', '种子ID', 'bigint', 'Long', 'torrentId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (41, 6, 'announce_url', 'Tracker announce URL', 'text', 'String', 'announceUrl', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'textarea', '', 3, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (42, 7, 'id', '主键', 'bigint', 'Long', 'id', '1', '1', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (43, 7, 'torrent_id', '种子ID（关联 bt_torrent）', 'bigint', 'Long', 'torrentId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (44, 7, 'file_path', '文件路径', 'text', 'String', 'filePath', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'textarea', '', 3, 'admin', '2025-04-21 10:00:26', '', NULL);
INSERT INTO `gen_table_column` VALUES (45, 7, 'file_size', '文件大小（字节）', 'bigint', 'Long', 'fileSize', '0', '0', '0', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-04-21 10:00:27', '', NULL);
INSERT INTO `gen_table_column` VALUES (46, 8, 'id', NULL, 'bigint', 'Long', 'id', '1', '1', '0', '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-04-21 10:00:27', '', NULL);
INSERT INTO `gen_table_column` VALUES (47, 8, 'torrent_id', NULL, 'bigint', 'Long', 'torrentId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-04-21 10:00:27', '', NULL);
INSERT INTO `gen_table_column` VALUES (48, 8, 'tag', NULL, 'varchar(50)', 'String', 'tag', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2025-04-21 10:00:27', '', NULL);

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '参数名称',
  `config_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '参数键名',
  `config_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '参数键值',
  `config_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'N' COMMENT '系统内置（Y是 N否）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`config_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '参数配置表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_config
-- ----------------------------
INSERT INTO `sys_config` VALUES (1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', '2025-04-20 16:29:54', '', NULL, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow');
INSERT INTO `sys_config` VALUES (2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2025-04-20 16:29:54', '', NULL, '初始化密码 123456');
INSERT INTO `sys_config` VALUES (3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', '2025-04-20 16:29:54', '', NULL, '深色主题theme-dark，浅色主题theme-light');
INSERT INTO `sys_config` VALUES (4, '账号自助-验证码开关', 'sys.account.captchaEnabled', 'true', 'Y', 'admin', '2025-04-20 16:29:54', '', NULL, '是否开启验证码功能（true开启，false关闭）');
INSERT INTO `sys_config` VALUES (5, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 'admin', '2025-04-20 16:29:54', '', NULL, '是否开启注册用户功能（true开启，false关闭）');
INSERT INTO `sys_config` VALUES (6, '用户登录-黑名单列表', 'sys.login.blackIPList', '', 'Y', 'admin', '2025-04-20 16:29:54', '', NULL, '设置登录IP黑名单限制，多个匹配项以;分隔，支持匹配（*通配、网段）');

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '祖级列表',
  `dept_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '部门名称',
  `order_num` int NULL DEFAULT 0 COMMENT '显示顺序',
  `leader` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '负责人',
  `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系电话',
  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '邮箱',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '部门状态（0正常 1停用）',
  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`dept_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 200 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '部门表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_dept
-- ----------------------------
INSERT INTO `sys_dept` VALUES (100, 0, '0', '若依科技', 0, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2025-04-20 16:29:54', '', NULL);
INSERT INTO `sys_dept` VALUES (101, 100, '0,100', '深圳总公司', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2025-04-20 16:29:54', '', NULL);
INSERT INTO `sys_dept` VALUES (102, 100, '0,100', '长沙分公司', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2025-04-20 16:29:54', '', NULL);
INSERT INTO `sys_dept` VALUES (103, 101, '0,100,101', '研发部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2025-04-20 16:29:54', '', NULL);
INSERT INTO `sys_dept` VALUES (104, 101, '0,100,101', '市场部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2025-04-20 16:29:54', '', NULL);
INSERT INTO `sys_dept` VALUES (105, 101, '0,100,101', '测试部门', 3, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2025-04-20 16:29:54', '', NULL);
INSERT INTO `sys_dept` VALUES (106, 101, '0,100,101', '财务部门', 4, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2025-04-20 16:29:54', '', NULL);
INSERT INTO `sys_dept` VALUES (107, 101, '0,100,101', '运维部门', 5, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2025-04-20 16:29:54', '', NULL);
INSERT INTO `sys_dept` VALUES (108, 102, '0,100,102', '市场部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2025-04-20 16:29:54', '', NULL);
INSERT INTO `sys_dept` VALUES (109, 102, '0,100,102', '财务部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2025-04-20 16:29:54', '', NULL);

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典标签',
  `dict_value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典键值',
  `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典类型',
  `css_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '样式属性（其他样式扩展）',
  `list_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表格回显样式',
  `is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'N' COMMENT '是否默认（Y是 N否）',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`dict_code`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_dict_data
-- ----------------------------
INSERT INTO `sys_dict_data` VALUES (1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '性别男');
INSERT INTO `sys_dict_data` VALUES (2, 2, '女', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '性别女');
INSERT INTO `sys_dict_data` VALUES (3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '性别未知');
INSERT INTO `sys_dict_data` VALUES (4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '显示菜单');
INSERT INTO `sys_dict_data` VALUES (5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '隐藏菜单');
INSERT INTO `sys_dict_data` VALUES (6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '正常状态');
INSERT INTO `sys_dict_data` VALUES (7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '停用状态');
INSERT INTO `sys_dict_data` VALUES (8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '正常状态');
INSERT INTO `sys_dict_data` VALUES (9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '停用状态');
INSERT INTO `sys_dict_data` VALUES (10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '默认分组');
INSERT INTO `sys_dict_data` VALUES (11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '系统分组');
INSERT INTO `sys_dict_data` VALUES (12, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '系统默认是');
INSERT INTO `sys_dict_data` VALUES (13, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '系统默认否');
INSERT INTO `sys_dict_data` VALUES (14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '通知');
INSERT INTO `sys_dict_data` VALUES (15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '公告');
INSERT INTO `sys_dict_data` VALUES (16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '正常状态');
INSERT INTO `sys_dict_data` VALUES (17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '关闭状态');
INSERT INTO `sys_dict_data` VALUES (18, 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '其他操作');
INSERT INTO `sys_dict_data` VALUES (19, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '新增操作');
INSERT INTO `sys_dict_data` VALUES (20, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '修改操作');
INSERT INTO `sys_dict_data` VALUES (21, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '删除操作');
INSERT INTO `sys_dict_data` VALUES (22, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '授权操作');
INSERT INTO `sys_dict_data` VALUES (23, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '导出操作');
INSERT INTO `sys_dict_data` VALUES (24, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '导入操作');
INSERT INTO `sys_dict_data` VALUES (25, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '强退操作');
INSERT INTO `sys_dict_data` VALUES (26, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '生成操作');
INSERT INTO `sys_dict_data` VALUES (27, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '清空操作');
INSERT INTO `sys_dict_data` VALUES (28, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '正常状态');
INSERT INTO `sys_dict_data` VALUES (29, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '停用状态');

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典名称',
  `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典类型',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '状态（0正常 1停用）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`dict_id`) USING BTREE,
  UNIQUE INDEX `dict_type`(`dict_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_dict_type
-- ----------------------------
INSERT INTO `sys_dict_type` VALUES (1, '用户性别', 'sys_user_sex', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '用户性别列表');
INSERT INTO `sys_dict_type` VALUES (2, '菜单状态', 'sys_show_hide', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '菜单状态列表');
INSERT INTO `sys_dict_type` VALUES (3, '系统开关', 'sys_normal_disable', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '系统开关列表');
INSERT INTO `sys_dict_type` VALUES (4, '任务状态', 'sys_job_status', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '任务状态列表');
INSERT INTO `sys_dict_type` VALUES (5, '任务分组', 'sys_job_group', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '任务分组列表');
INSERT INTO `sys_dict_type` VALUES (6, '系统是否', 'sys_yes_no', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '系统是否列表');
INSERT INTO `sys_dict_type` VALUES (7, '通知类型', 'sys_notice_type', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '通知类型列表');
INSERT INTO `sys_dict_type` VALUES (8, '通知状态', 'sys_notice_status', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '通知状态列表');
INSERT INTO `sys_dict_type` VALUES (9, '操作类型', 'sys_oper_type', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '操作类型列表');
INSERT INTO `sys_dict_type` VALUES (10, '系统状态', 'sys_common_status', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '登录状态列表');

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '任务名称',
  `job_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名',
  `invoke_target` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调用目标字符串',
  `cron_expression` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT 'cron执行表达式',
  `misfire_policy` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '3' COMMENT '计划执行错误策略（1立即执行 2执行一次 3放弃执行）',
  `concurrent` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '1' COMMENT '是否并发执行（0允许 1禁止）',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '状态（0正常 1暂停）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注信息',
  PRIMARY KEY (`job_id`, `job_name`, `job_group`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '定时任务调度表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_job
-- ----------------------------
INSERT INTO `sys_job` VALUES (1, '系统默认（无参）', 'DEFAULT', 'ryTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_job` VALUES (2, '系统默认（有参）', 'DEFAULT', 'ryTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_job` VALUES (3, '系统默认（多参）', 'DEFAULT', 'ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', '2025-04-20 16:29:54', '', NULL, '');

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务名称',
  `job_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务组名',
  `invoke_target` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '调用目标字符串',
  `job_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '日志信息',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '执行状态（0正常 1失败）',
  `exception_info` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_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 = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '定时任务调度日志表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_job_log
-- ----------------------------

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '用户账号',
  `ipaddr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '登录IP地址',
  `login_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '登录地点',
  `browser` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '浏览器类型',
  `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '操作系统',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '登录状态（0成功 1失败）',
  `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_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 = 107 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_logininfor
-- ----------------------------
INSERT INTO `sys_logininfor` VALUES (100, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-04-20 17:18:46');
INSERT INTO `sys_logininfor` VALUES (101, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-04-20 21:16:57');
INSERT INTO `sys_logininfor` VALUES (102, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-04-21 08:25:23');
INSERT INTO `sys_logininfor` VALUES (103, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-04-21 13:43:39');
INSERT INTO `sys_logininfor` VALUES (104, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-04-21 16:32:35');
INSERT INTO `sys_logininfor` VALUES (105, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-04-21 17:23:34');
INSERT INTO `sys_logininfor` VALUES (106, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-04-21 19:38:20');

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '菜单名称',
  `parent_id` bigint NULL DEFAULT 0 COMMENT '父菜单ID',
  `order_num` int NULL DEFAULT 0 COMMENT '显示顺序',
  `path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '路由地址',
  `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '组件路径',
  `query` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '路由参数',
  `route_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '菜单类型（M目录 C菜单 F按钮）',
  `visible` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '菜单状态（0显示 1隐藏）',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '菜单状态（0正常 1停用）',
  `perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '权限标识',
  `icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '#' COMMENT '菜单图标',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注',
  PRIMARY KEY (`menu_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2000 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_menu
-- ----------------------------
INSERT INTO `sys_menu` VALUES (1, '系统管理', 0, 1, 'system', NULL, '', '', 1, 0, 'M', '0', '0', '', 'SettingOutlined', 'admin', '2025-04-20 16:29:54', '', NULL, '系统管理目录');
INSERT INTO `sys_menu` VALUES (2, '系统监控', 0, 2, 'monitor', NULL, '', '', 1, 0, 'M', '0', '0', '', 'DashboardOutlined', 'admin', '2025-04-20 16:29:54', '', NULL, '系统监控目录');
INSERT INTO `sys_menu` VALUES (3, '系统工具', 0, 3, 'tool', NULL, '', '', 1, 0, 'M', '0', '0', '', 'ToolOutlined', 'admin', '2025-04-20 16:29:54', '', NULL, '系统工具目录');
INSERT INTO `sys_menu` VALUES (5, '控制台', 0, 0, 'dashboard', NULL, '', '', 1, 0, 'M', '1', '0', '', 'AppstoreOutlined', 'admin', '2025-04-20 16:29:54', '', NULL, '控制台');
INSERT INTO `sys_menu` VALUES (6, '个人', 0, 0, 'account', NULL, '', '', 1, 0, 'M', '1', '0', '', 'ProfileOutlined', 'admin', '2025-04-20 16:29:54', '', NULL, '个人');
INSERT INTO `sys_menu` VALUES (7, 'Tracker项目', 0, 4, 'tracker', 'tracker/projects/index', NULL, '', 1, 0, 'M', '0', '0', NULL, 'ProjectOutlined', 'admin', '2025-04-21 09:43:11', '', NULL, '上传资源');
INSERT INTO `sys_menu` VALUES (8, 'Torrent种子', 0, 5, 'torrent', 'torrent/index', NULL, '', 1, 0, 'M', '0', '0', NULL, 'CloudSyncOutlined', 'admin', '2025-04-21 10:14:02', '', NULL, 'Torrent种子');
INSERT INTO `sys_menu` VALUES (100, '用户管理', 1, 1, 'user', 'system/user/index', '', '', 1, 1, 'C', '0', '0', 'system:user:list', 'user', 'admin', '2025-04-20 16:29:54', '', NULL, '用户管理菜单');
INSERT INTO `sys_menu` VALUES (101, '角色管理', 1, 2, 'role', 'system/role/index', '', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', '2025-04-20 16:29:54', '', NULL, '角色管理菜单');
INSERT INTO `sys_menu` VALUES (102, '菜单管理', 1, 3, 'menu', 'system/menu/index', '', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'tree-table', 'admin', '2025-04-20 16:29:54', '', NULL, '菜单管理菜单');
INSERT INTO `sys_menu` VALUES (103, '部门管理', 1, 4, 'dept', 'system/dept/index', '', '', 1, 0, 'C', '0', '0', 'system:dept:list', 'tree', 'admin', '2025-04-20 16:29:54', '', NULL, '部门管理菜单');
INSERT INTO `sys_menu` VALUES (104, '岗位管理', 1, 5, 'post', 'system/post/index', '', '', 1, 0, 'C', '0', '0', 'system:post:list', 'post', 'admin', '2025-04-20 16:29:54', '', NULL, '岗位管理菜单');
INSERT INTO `sys_menu` VALUES (105, '字典管理', 1, 6, 'dict', 'system/dict/index', '', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'dict', 'admin', '2025-04-20 16:29:54', '', NULL, '字典管理菜单');
INSERT INTO `sys_menu` VALUES (106, '参数设置', 1, 7, 'config', 'system/config/index', '', '', 1, 0, 'C', '0', '0', 'system:config:list', 'edit', 'admin', '2025-04-20 16:29:54', '', NULL, '参数设置菜单');
INSERT INTO `sys_menu` VALUES (107, '通知公告', 1, 8, 'notice', 'system/notice/index', '', '', 1, 0, 'C', '0', '0', 'system:notice:list', 'message', 'admin', '2025-04-20 16:29:54', '', NULL, '通知公告菜单');
INSERT INTO `sys_menu` VALUES (108, '日志管理', 1, 9, 'log', '', '', '', 1, 0, 'M', '0', '0', '', 'log', 'admin', '2025-04-20 16:29:54', '', NULL, '日志管理菜单');
INSERT INTO `sys_menu` VALUES (109, '在线用户', 2, 1, 'online', 'monitor/online/index', '', '', 1, 0, 'C', '0', '0', 'monitor:online:list', 'online', 'admin', '2025-04-20 16:29:54', '', NULL, '在线用户菜单');
INSERT INTO `sys_menu` VALUES (110, '定时任务', 2, 2, 'job', 'monitor/job/index', '', '', 1, 0, 'C', '0', '0', 'monitor:job:list', 'job', 'admin', '2025-04-20 16:29:54', '', NULL, '定时任务菜单');
INSERT INTO `sys_menu` VALUES (111, '数据监控', 2, 3, 'druid', 'monitor/druid/index', '', '', 1, 0, 'C', '0', '0', 'monitor:druid:list', 'druid', 'admin', '2025-04-20 16:29:54', '', NULL, '数据监控菜单');
INSERT INTO `sys_menu` VALUES (112, '服务监控', 2, 4, 'server', 'monitor/server/index', '', '', 1, 0, 'C', '0', '0', 'monitor:server:list', 'server', 'admin', '2025-04-20 16:29:54', '', NULL, '服务监控菜单');
INSERT INTO `sys_menu` VALUES (113, '缓存监控', 2, 5, 'cache', 'monitor/cache/index', '', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis', 'admin', '2025-04-20 16:29:54', '', NULL, '缓存监控菜单');
INSERT INTO `sys_menu` VALUES (114, '缓存列表', 2, 6, 'cacheList', 'monitor/cache/list', '', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis-list', 'admin', '2025-04-20 16:29:54', '', NULL, '缓存列表菜单');
INSERT INTO `sys_menu` VALUES (116, '代码生成', 3, 2, 'gen', 'tool/gen/index', '', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 'admin', '2025-04-20 16:29:54', '', NULL, '代码生成菜单');
INSERT INTO `sys_menu` VALUES (117, '系统接口', 3, 3, 'swagger', 'tool/swagger/index', '', '', 1, 0, 'C', '0', '0', 'tool:swagger:list', 'swagger', 'admin', '2025-04-20 16:29:54', '', NULL, '系统接口菜单');
INSERT INTO `sys_menu` VALUES (500, '操作日志', 108, 1, 'operlog', 'monitor/operlog/index', '', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 'admin', '2025-04-20 16:29:54', '', NULL, '操作日志菜单');
INSERT INTO `sys_menu` VALUES (501, '登录日志', 108, 2, 'logininfor', 'monitor/logininfor/index', '', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 'admin', '2025-04-20 16:29:54', '', NULL, '登录日志菜单');
INSERT INTO `sys_menu` VALUES (1000, '用户查询', 100, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1001, '用户新增', 100, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1002, '用户修改', 100, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1003, '用户删除', 100, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1004, '用户导出', 100, 5, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1005, '用户导入', 100, 6, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1006, '重置密码', 100, 7, '', '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1007, '角色查询', 101, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1008, '角色新增', 101, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1009, '角色修改', 101, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1010, '角色删除', 101, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1011, '角色导出', 101, 5, '', '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1012, '菜单查询', 102, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1013, '菜单新增', 102, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1014, '菜单修改', 102, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1015, '菜单删除', 102, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1016, '部门查询', 103, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1017, '部门新增', 103, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1018, '部门修改', 103, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1019, '部门删除', 103, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1020, '岗位查询', 104, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1021, '岗位新增', 104, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1022, '岗位修改', 104, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1023, '岗位删除', 104, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1024, '岗位导出', 104, 5, '', '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1025, '字典查询', 105, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1026, '字典新增', 105, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1027, '字典修改', 105, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1028, '字典删除', 105, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1029, '字典导出', 105, 5, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1030, '参数查询', 106, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:query', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1031, '参数新增', 106, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:add', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1032, '参数修改', 106, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1033, '参数删除', 106, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1034, '参数导出', 106, 5, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:config:export', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1035, '公告查询', 107, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1036, '公告新增', 107, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1037, '公告修改', 107, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1038, '公告删除', 107, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1039, '操作查询', 500, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:query', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1040, '操作删除', 500, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1041, '日志导出', 500, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1042, '登录查询', 501, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1043, '登录删除', 501, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1044, '日志导出', 501, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1045, '账户解锁', 501, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1046, '在线查询', 109, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1047, '批量强退', 109, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1048, '单条强退', 109, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1049, '任务查询', 110, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:query', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1050, '任务新增', 110, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:add', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1051, '任务修改', 110, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:edit', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1052, '任务删除', 110, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:remove', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1053, '状态修改', 110, 5, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:changeStatus', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1054, '任务导出', 110, 6, '#', '', '', '', 1, 0, 'F', '0', '0', 'monitor:job:export', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1055, '生成查询', 116, 1, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1056, '生成修改', 116, 2, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:edit', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1057, '生成删除', 116, 3, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:remove', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1058, '导入代码', 116, 4, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:import', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1059, '预览代码', 116, 5, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1060, '生成代码', 116, 6, '#', '', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code', '#', 'admin', '2025-04-20 16:29:54', '', NULL, '');

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '公告标题',
  `notice_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '公告类型（1通知 2公告）',
  `notice_content` longblob NULL COMMENT '公告内容',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '公告状态（0正常 1关闭）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`notice_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '通知公告表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_notice
-- ----------------------------
INSERT INTO `sys_notice` VALUES (1, '温馨提醒：2018-07-01 若依新版本发布啦', '2', 0xE696B0E78988E69CACE58685E5AEB9, '0', 'admin', '2025-04-20 16:29:54', '', NULL, '管理员');
INSERT INTO `sys_notice` VALUES (2, '维护通知：2018-07-01 若依系统凌晨维护', '1', 0xE7BBB4E68AA4E58685E5AEB9, '0', 'admin', '2025-04-20 16:29:54', '', NULL, '管理员');

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '模块标题',
  `business_type` int NULL DEFAULT 0 COMMENT '业务类型（0其它 1新增 2修改 3删除）',
  `method` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '方法名称',
  `request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '请求方式',
  `operator_type` int NULL DEFAULT 0 COMMENT '操作类别（0其它 1后台用户 2手机端用户）',
  `oper_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '操作人员',
  `dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '部门名称',
  `oper_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '请求URL',
  `oper_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '主机地址',
  `oper_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '操作地点',
  `oper_param` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '请求参数',
  `json_result` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '返回参数',
  `status` int NULL DEFAULT 0 COMMENT '操作状态（0正常 1异常）',
  `error_msg` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_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 = 210 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '操作日志记录' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_oper_log
-- ----------------------------
INSERT INTO `sys_oper_log` VALUES (100, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', '研发部门', '/code/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"tracker_task_log,tracker_project_user,tracker_task,tracker_project\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-20 20:33:28', 3340);
INSERT INTO `sys_oper_log` VALUES (101, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', '研发部门', '/code/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"tracker_project,tracker_project_user,tracker_task,tracker_task_log\"}', NULL, 0, NULL, '2025-04-20 20:33:35', 504);
INSERT INTO `sys_oper_log` VALUES (102, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', '研发部门', '/code/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"tracker_project\"}', NULL, 0, NULL, '2025-04-21 08:43:32', 165);
INSERT INTO `sys_oper_log` VALUES (103, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', '研发部门', '/code/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":\"bt_torrent_tags,bt_torrent_announce,bt_torrent_file,bt_torrent\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 10:00:27', 1237);
INSERT INTO `sys_oper_log` VALUES (104, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', '研发部门', '/code/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":\"bt_torrent,bt_torrent_announce,bt_torrent_file,bt_torrent_tags\"}', NULL, 0, NULL, '2025-04-21 10:00:38', 257);
INSERT INTO `sys_oper_log` VALUES (105, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Failed to communicate with Flask server\",\"code\":500}', 0, NULL, '2025-04-21 14:06:52', 53);
INSERT INTO `sys_oper_log` VALUES (106, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Failed to communicate with Flask server\",\"code\":500}', 0, NULL, '2025-04-21 14:10:36', 15);
INSERT INTO `sys_oper_log` VALUES (107, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Failed to communicate with Flask server\",\"code\":500}', 0, NULL, '2025-04-21 14:12:40', 13);
INSERT INTO `sys_oper_log` VALUES (108, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Failed to communicate with Flask server\",\"code\":500}', 0, NULL, '2025-04-21 14:12:50', 14);
INSERT INTO `sys_oper_log` VALUES (109, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Failed to communicate with Flask server\",\"code\":500}', 0, NULL, '2025-04-21 14:16:01', 27);
INSERT INTO `sys_oper_log` VALUES (110, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Failed to communicate with Flask server\",\"code\":500}', 0, NULL, '2025-04-21 14:17:21', 15);
INSERT INTO `sys_oper_log` VALUES (111, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Failed to communicate with Flask server\",\"code\":500}', 0, NULL, '2025-04-21 14:17:58', 15);
INSERT INTO `sys_oper_log` VALUES (112, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Failed to communicate with Flask server\",\"code\":500}', 0, NULL, '2025-04-21 14:20:16', 23);
INSERT INTO `sys_oper_log` VALUES (113, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLException: Field \'info_hash\' doesn\'t have a default value\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent          ( name,             length,             piece_length,                          created_by )           values ( ?,             ?,             ?,                          ? )\r\n### Cause: java.sql.SQLException: Field \'info_hash\' doesn\'t have a default value\n; Field \'info_hash\' doesn\'t have a default value', '2025-04-21 14:22:23', 350);
INSERT INTO `sys_oper_log` VALUES (114, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLException: Field \'info_hash\' doesn\'t have a default value\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent          ( name,             length,             piece_length,             pieces_count,             created_by )           values ( ?,             ?,             ?,             ?,             ? )\r\n### Cause: java.sql.SQLException: Field \'info_hash\' doesn\'t have a default value\n; Field \'info_hash\' doesn\'t have a default value', '2025-04-21 14:23:14', 48);
INSERT INTO `sys_oper_log` VALUES (115, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLException: Field \'info_hash\' doesn\'t have a default value\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent          ( name,             length,             piece_length,                          created_by )           values ( ?,             ?,             ?,                          ? )\r\n### Cause: java.sql.SQLException: Field \'info_hash\' doesn\'t have a default value\n; Field \'info_hash\' doesn\'t have a default value', '2025-04-21 14:23:58', 334);
INSERT INTO `sys_oper_log` VALUES (116, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLException: Field \'info_hash\' doesn\'t have a default value\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent          ( name,             length,             piece_length,                          created_by )           values ( ?,             ?,             ?,                          ? )\r\n### Cause: java.sql.SQLException: Field \'info_hash\' doesn\'t have a default value\n; Field \'info_hash\' doesn\'t have a default value', '2025-04-21 14:28:20', 335);
INSERT INTO `sys_oper_log` VALUES (117, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLException: Field \'uploader_id\' doesn\'t have a default value\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent          ( info_hash,             name,             length,             piece_length,                          created_by )           values ( ?,             ?,             ?,             ?,                          ? )\r\n### Cause: java.sql.SQLException: Field \'uploader_id\' doesn\'t have a default value\n; Field \'uploader_id\' doesn\'t have a default value', '2025-04-21 14:29:35', 292);
INSERT INTO `sys_oper_log` VALUES (118, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 14:36:38', 186);
INSERT INTO `sys_oper_log` VALUES (119, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 14:37:16', 56);
INSERT INTO `sys_oper_log` VALUES (120, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\' at line 1\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\' at line 1\n; bad SQL grammar []', '2025-04-21 14:37:31', 191);
INSERT INTO `sys_oper_log` VALUES (121, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:00:42', 257);
INSERT INTO `sys_oper_log` VALUES (122, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'336c8713912654327b2871fe20213ebfec0b12d4\' for key \'bt_torrent.info_hash\'\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent          ( info_hash,             name,             length,             piece_length,             pieces_count,             created_by,                          uploader_id )           values ( ?,             ?,             ?,             ?,             ?,             ?,                          ? )\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'336c8713912654327b2871fe20213ebfec0b12d4\' for key \'bt_torrent.info_hash\'\n; Duplicate entry \'336c8713912654327b2871fe20213ebfec0b12d4\' for key \'bt_torrent.info_hash\'', '2025-04-21 15:00:54', 55);
INSERT INTO `sys_oper_log` VALUES (123, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:01:25', 49);
INSERT INTO `sys_oper_log` VALUES (124, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/1', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:02:35', 62);
INSERT INTO `sys_oper_log` VALUES (125, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/2', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:02:37', 38);
INSERT INTO `sys_oper_log` VALUES (126, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/3', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:02:38', 34);
INSERT INTO `sys_oper_log` VALUES (127, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/5', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:02:40', 36);
INSERT INTO `sys_oper_log` VALUES (128, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:02:45', 47);
INSERT INTO `sys_oper_log` VALUES (129, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\' at line 1\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\' at line 1\n; bad SQL grammar []', '2025-04-21 15:03:01', 28);
INSERT INTO `sys_oper_log` VALUES (130, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:03:15', 52);
INSERT INTO `sys_oper_log` VALUES (131, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'3899726345c390a8c7f9826b568ccd0701d83524\' for key \'bt_torrent.info_hash\'\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent          ( info_hash,             name,             length,             piece_length,             pieces_count,             created_by,                          uploader_id )           values ( ?,             ?,             ?,             ?,             ?,             ?,                          ? )\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'3899726345c390a8c7f9826b568ccd0701d83524\' for key \'bt_torrent.info_hash\'\n; Duplicate entry \'3899726345c390a8c7f9826b568ccd0701d83524\' for key \'bt_torrent.info_hash\'', '2025-04-21 15:03:24', 36);
INSERT INTO `sys_oper_log` VALUES (132, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/6', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:03:42', 39);
INSERT INTO `sys_oper_log` VALUES (133, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/7', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:03:44', 34);
INSERT INTO `sys_oper_log` VALUES (134, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:04:01', 59);
INSERT INTO `sys_oper_log` VALUES (135, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'336c8713912654327b2871fe20213ebfec0b12d4\' for key \'bt_torrent.info_hash\'\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent          ( info_hash,             name,             length,             piece_length,             pieces_count,             created_by,                          uploader_id )           values ( ?,             ?,             ?,             ?,             ?,             ?,                          ? )\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'336c8713912654327b2871fe20213ebfec0b12d4\' for key \'bt_torrent.info_hash\'\n; Duplicate entry \'336c8713912654327b2871fe20213ebfec0b12d4\' for key \'bt_torrent.info_hash\'', '2025-04-21 15:04:12', 52);
INSERT INTO `sys_oper_log` VALUES (136, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\' at line 1\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\' at line 1\n; bad SQL grammar []', '2025-04-21 15:04:33', 40);
INSERT INTO `sys_oper_log` VALUES (137, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:07:20', 74);
INSERT INTO `sys_oper_log` VALUES (138, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'f9365c74cacf335c353a43f5719bd9413b6024ee\' for key \'bt_torrent.info_hash\'\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent          ( info_hash,             name,             length,             piece_length,                          created_by,                          uploader_id )           values ( ?,             ?,             ?,             ?,                          ?,                          ? )\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'f9365c74cacf335c353a43f5719bd9413b6024ee\' for key \'bt_torrent.info_hash\'\n; Duplicate entry \'f9365c74cacf335c353a43f5719bd9413b6024ee\' for key \'bt_torrent.info_hash\'', '2025-04-21 15:07:43', 40);
INSERT INTO `sys_oper_log` VALUES (139, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:07:52', 50);
INSERT INTO `sys_oper_log` VALUES (140, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/13', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:10:58', 46);
INSERT INTO `sys_oper_log` VALUES (141, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/11', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:11:00', 34);
INSERT INTO `sys_oper_log` VALUES (142, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/9', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:11:02', 40);
INSERT INTO `sys_oper_log` VALUES (143, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:11:12', 76);
INSERT INTO `sys_oper_log` VALUES (144, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:12:31', 85);
INSERT INTO `sys_oper_log` VALUES (145, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'3ad0478587f78c15b2a82220cf99c49a2fe80eea\' for key \'bt_torrent.info_hash\'\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent          ( info_hash,             name,             length,             piece_length,             pieces_count,             created_by,                          uploader_id )           values ( ?,             ?,             ?,             ?,             ?,             ?,                          ? )\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'3ad0478587f78c15b2a82220cf99c49a2fe80eea\' for key \'bt_torrent.info_hash\'\n; Duplicate entry \'3ad0478587f78c15b2a82220cf99c49a2fe80eea\' for key \'bt_torrent.info_hash\'', '2025-04-21 15:12:50', 183);
INSERT INTO `sys_oper_log` VALUES (146, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/14', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:13:24', 30);
INSERT INTO `sys_oper_log` VALUES (147, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/15', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:13:26', 39);
INSERT INTO `sys_oper_log` VALUES (148, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:13:37', 44);
INSERT INTO `sys_oper_log` VALUES (149, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/17', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:14:19', 36);
INSERT INTO `sys_oper_log` VALUES (150, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:20:18', 54);
INSERT INTO `sys_oper_log` VALUES (151, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/18', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:21:53', 56);
INSERT INTO `sys_oper_log` VALUES (152, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:21:58', 57);
INSERT INTO `sys_oper_log` VALUES (153, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\' at line 1\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\' at line 1\n; bad SQL grammar []', '2025-04-21 15:22:04', 39);
INSERT INTO `sys_oper_log` VALUES (154, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/19', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:25:35', 52);
INSERT INTO `sys_oper_log` VALUES (155, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:25:40', 77);
INSERT INTO `sys_oper_log` VALUES (156, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:25:45', 44);
INSERT INTO `sys_oper_log` VALUES (157, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:26:13', 56);
INSERT INTO `sys_oper_log` VALUES (158, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/21', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 15:26:16', 39);
INSERT INTO `sys_oper_log` VALUES (159, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:50:20', 35);
INSERT INTO `sys_oper_log` VALUES (160, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 15:53:18', 5);
INSERT INTO `sys_oper_log` VALUES (161, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 16:32:47', 231);
INSERT INTO `sys_oper_log` VALUES (162, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 17:31:34', 212);
INSERT INTO `sys_oper_log` VALUES (163, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 17:31:47', 55);
INSERT INTO `sys_oper_log` VALUES (164, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 17:31:59', 59);
INSERT INTO `sys_oper_log` VALUES (165, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/23', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 17:35:17', 77);
INSERT INTO `sys_oper_log` VALUES (166, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/22', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 17:35:19', 35);
INSERT INTO `sys_oper_log` VALUES (167, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/20', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 17:35:21', 44);
INSERT INTO `sys_oper_log` VALUES (168, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 17:39:22', 63);
INSERT INTO `sys_oper_log` VALUES (169, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 17:51:09', 58);
INSERT INTO `sys_oper_log` VALUES (170, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'Unknown Hash\' for key \'bt_torrent.info_hash\'\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent          ( info_hash,             name,             length,             piece_length,             pieces_count,             created_by,                          uploader_id )           values ( ?,             ?,             ?,             ?,             ?,             ?,                          ? )\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'Unknown Hash\' for key \'bt_torrent.info_hash\'\n; Duplicate entry \'Unknown Hash\' for key \'bt_torrent.info_hash\'', '2025-04-21 17:51:26', 38590);
INSERT INTO `sys_oper_log` VALUES (171, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', NULL, 1, '\r\n### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'Unknown Hash\' for key \'bt_torrent.info_hash\'\r\n### The error may exist in file [E:\\IdeaProjects\\ruoyi-react-master\\ruoyi-admin\\target\\classes\\mapper\\system\\BtTorrentMapper.xml]\r\n### The error may involve com.ruoyi.torrent.mapper.BtTorrentMapper.insertBtTorrent-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into bt_torrent          ( info_hash,             name,             length,             piece_length,             pieces_count,             created_by,                          uploader_id )           values ( ?,             ?,             ?,             ?,             ?,             ?,                          ? )\r\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'Unknown Hash\' for key \'bt_torrent.info_hash\'\n; Duplicate entry \'Unknown Hash\' for key \'bt_torrent.info_hash\'', '2025-04-21 17:51:38', 55);
INSERT INTO `sys_oper_log` VALUES (172, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/27', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 19:38:38', 48);
INSERT INTO `sys_oper_log` VALUES (173, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 19:38:56', 65);
INSERT INTO `sys_oper_log` VALUES (174, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 19:41:22', 15);
INSERT INTO `sys_oper_log` VALUES (175, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 19:52:00', 86);
INSERT INTO `sys_oper_log` VALUES (176, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 19:54:25', 77);
INSERT INTO `sys_oper_log` VALUES (177, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 19:57:44', 100);
INSERT INTO `sys_oper_log` VALUES (178, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:10:42', 28);
INSERT INTO `sys_oper_log` VALUES (179, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:13:00', 21);
INSERT INTO `sys_oper_log` VALUES (180, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:14:14', 22);
INSERT INTO `sys_oper_log` VALUES (181, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:26:20', 419);
INSERT INTO `sys_oper_log` VALUES (182, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/26', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 20:26:46', 46);
INSERT INTO `sys_oper_log` VALUES (183, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/25', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 20:26:48', 42);
INSERT INTO `sys_oper_log` VALUES (184, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/24', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 20:26:49', 45);
INSERT INTO `sys_oper_log` VALUES (185, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:26:59', 104);
INSERT INTO `sys_oper_log` VALUES (186, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:28:52', 445);
INSERT INTO `sys_oper_log` VALUES (187, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:39:54', 345);
INSERT INTO `sys_oper_log` VALUES (188, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/31', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 20:40:48', 44);
INSERT INTO `sys_oper_log` VALUES (189, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/32', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 20:40:50', 61);
INSERT INTO `sys_oper_log` VALUES (190, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/33', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 20:40:51', 40);
INSERT INTO `sys_oper_log` VALUES (191, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:42:48', 172);
INSERT INTO `sys_oper_log` VALUES (192, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:51:16', 19411);
INSERT INTO `sys_oper_log` VALUES (193, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:51:29', 38585);
INSERT INTO `sys_oper_log` VALUES (194, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/35', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 20:51:31', 57);
INSERT INTO `sys_oper_log` VALUES (195, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:51:40', 197);
INSERT INTO `sys_oper_log` VALUES (196, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:52:06', 333);
INSERT INTO `sys_oper_log` VALUES (197, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/37', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 20:52:17', 84);
INSERT INTO `sys_oper_log` VALUES (198, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/38', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 20:52:19', 46);
INSERT INTO `sys_oper_log` VALUES (199, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:52:26', 121);
INSERT INTO `sys_oper_log` VALUES (200, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:52:37', 101);
INSERT INTO `sys_oper_log` VALUES (201, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:52:44', 321);
INSERT INTO `sys_oper_log` VALUES (202, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/39', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 20:53:52', 58);
INSERT INTO `sys_oper_log` VALUES (203, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/40', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 20:53:54', 38);
INSERT INTO `sys_oper_log` VALUES (204, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/41', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 20:53:56', 48);
INSERT INTO `sys_oper_log` VALUES (205, '种子主', 3, 'com.ruoyi.torrent.controller.BtTorrentController.remove()', 'DELETE', 1, 'admin', '研发部门', '/system/torrent/34', '127.0.0.1', '内网IP', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-04-21 20:53:59', 41);
INSERT INTO `sys_oper_log` VALUES (206, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:54:06', 337);
INSERT INTO `sys_oper_log` VALUES (207, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:54:10', 136);
INSERT INTO `sys_oper_log` VALUES (208, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 20:54:15', 320);
INSERT INTO `sys_oper_log` VALUES (209, '种子主', 1, 'com.ruoyi.torrent.controller.BtTorrentController.uploadTorrent()', 'POST', 1, 'admin', '研发部门', '/system/torrent/uploadTorrent', '127.0.0.1', '内网IP', '', '{\"msg\":\"Torrent uploaded and processed successfully\",\"code\":200}', 0, NULL, '2025-04-21 21:00:16', 250);

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '岗位编码',
  `post_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '岗位名称',
  `post_sort` int NOT NULL COMMENT '显示顺序',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '状态（0正常 1停用）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`post_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '岗位信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_post
-- ----------------------------
INSERT INTO `sys_post` VALUES (1, 'ceo', '董事长', 1, '0', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_post` VALUES (2, 'se', '项目经理', 2, '0', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_post` VALUES (3, 'hr', '人力资源', 3, '0', 'admin', '2025-04-20 16:29:54', '', NULL, '');
INSERT INTO `sys_post` VALUES (4, 'user', '普通员工', 4, '0', 'admin', '2025-04-20 16:29:54', '', NULL, '');

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '角色名称',
  `role_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '角色权限字符串',
  `role_sort` int NOT NULL COMMENT '显示顺序',
  `data_scope` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '角色状态（0正常 1停用）',
  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`role_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_role
-- ----------------------------
INSERT INTO `sys_role` VALUES (1, '超级管理员', 'admin', 1, '1', 1, 1, '0', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '超级管理员');
INSERT INTO `sys_role` VALUES (2, '普通角色', 'common', 2, '2', 1, 1, '0', '0', 'admin', '2025-04-20 16:29:54', '', NULL, '普通角色');

-- ----------------------------
-- 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 = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '角色和部门关联表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_role_dept
-- ----------------------------
INSERT INTO `sys_role_dept` VALUES (2, 100);
INSERT INTO `sys_role_dept` VALUES (2, 101);
INSERT INTO `sys_role_dept` VALUES (2, 105);

-- ----------------------------
-- 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 = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_role_menu
-- ----------------------------
INSERT INTO `sys_role_menu` VALUES (2, 1);
INSERT INTO `sys_role_menu` VALUES (2, 2);
INSERT INTO `sys_role_menu` VALUES (2, 3);
INSERT INTO `sys_role_menu` VALUES (2, 4);
INSERT INTO `sys_role_menu` VALUES (2, 100);
INSERT INTO `sys_role_menu` VALUES (2, 101);
INSERT INTO `sys_role_menu` VALUES (2, 102);
INSERT INTO `sys_role_menu` VALUES (2, 103);
INSERT INTO `sys_role_menu` VALUES (2, 104);
INSERT INTO `sys_role_menu` VALUES (2, 105);
INSERT INTO `sys_role_menu` VALUES (2, 106);
INSERT INTO `sys_role_menu` VALUES (2, 107);
INSERT INTO `sys_role_menu` VALUES (2, 108);
INSERT INTO `sys_role_menu` VALUES (2, 109);
INSERT INTO `sys_role_menu` VALUES (2, 110);
INSERT INTO `sys_role_menu` VALUES (2, 111);
INSERT INTO `sys_role_menu` VALUES (2, 112);
INSERT INTO `sys_role_menu` VALUES (2, 113);
INSERT INTO `sys_role_menu` VALUES (2, 114);
INSERT INTO `sys_role_menu` VALUES (2, 115);
INSERT INTO `sys_role_menu` VALUES (2, 116);
INSERT INTO `sys_role_menu` VALUES (2, 117);
INSERT INTO `sys_role_menu` VALUES (2, 500);
INSERT INTO `sys_role_menu` VALUES (2, 501);
INSERT INTO `sys_role_menu` VALUES (2, 1000);
INSERT INTO `sys_role_menu` VALUES (2, 1001);
INSERT INTO `sys_role_menu` VALUES (2, 1002);
INSERT INTO `sys_role_menu` VALUES (2, 1003);
INSERT INTO `sys_role_menu` VALUES (2, 1004);
INSERT INTO `sys_role_menu` VALUES (2, 1005);
INSERT INTO `sys_role_menu` VALUES (2, 1006);
INSERT INTO `sys_role_menu` VALUES (2, 1007);
INSERT INTO `sys_role_menu` VALUES (2, 1008);
INSERT INTO `sys_role_menu` VALUES (2, 1009);
INSERT INTO `sys_role_menu` VALUES (2, 1010);
INSERT INTO `sys_role_menu` VALUES (2, 1011);
INSERT INTO `sys_role_menu` VALUES (2, 1012);
INSERT INTO `sys_role_menu` VALUES (2, 1013);
INSERT INTO `sys_role_menu` VALUES (2, 1014);
INSERT INTO `sys_role_menu` VALUES (2, 1015);
INSERT INTO `sys_role_menu` VALUES (2, 1016);
INSERT INTO `sys_role_menu` VALUES (2, 1017);
INSERT INTO `sys_role_menu` VALUES (2, 1018);
INSERT INTO `sys_role_menu` VALUES (2, 1019);
INSERT INTO `sys_role_menu` VALUES (2, 1020);
INSERT INTO `sys_role_menu` VALUES (2, 1021);
INSERT INTO `sys_role_menu` VALUES (2, 1022);
INSERT INTO `sys_role_menu` VALUES (2, 1023);
INSERT INTO `sys_role_menu` VALUES (2, 1024);
INSERT INTO `sys_role_menu` VALUES (2, 1025);
INSERT INTO `sys_role_menu` VALUES (2, 1026);
INSERT INTO `sys_role_menu` VALUES (2, 1027);
INSERT INTO `sys_role_menu` VALUES (2, 1028);
INSERT INTO `sys_role_menu` VALUES (2, 1029);
INSERT INTO `sys_role_menu` VALUES (2, 1030);
INSERT INTO `sys_role_menu` VALUES (2, 1031);
INSERT INTO `sys_role_menu` VALUES (2, 1032);
INSERT INTO `sys_role_menu` VALUES (2, 1033);
INSERT INTO `sys_role_menu` VALUES (2, 1034);
INSERT INTO `sys_role_menu` VALUES (2, 1035);
INSERT INTO `sys_role_menu` VALUES (2, 1036);
INSERT INTO `sys_role_menu` VALUES (2, 1037);
INSERT INTO `sys_role_menu` VALUES (2, 1038);
INSERT INTO `sys_role_menu` VALUES (2, 1039);
INSERT INTO `sys_role_menu` VALUES (2, 1040);
INSERT INTO `sys_role_menu` VALUES (2, 1041);
INSERT INTO `sys_role_menu` VALUES (2, 1042);
INSERT INTO `sys_role_menu` VALUES (2, 1043);
INSERT INTO `sys_role_menu` VALUES (2, 1044);
INSERT INTO `sys_role_menu` VALUES (2, 1045);
INSERT INTO `sys_role_menu` VALUES (2, 1046);
INSERT INTO `sys_role_menu` VALUES (2, 1047);
INSERT INTO `sys_role_menu` VALUES (2, 1048);
INSERT INTO `sys_role_menu` VALUES (2, 1049);
INSERT INTO `sys_role_menu` VALUES (2, 1050);
INSERT INTO `sys_role_menu` VALUES (2, 1051);
INSERT INTO `sys_role_menu` VALUES (2, 1052);
INSERT INTO `sys_role_menu` VALUES (2, 1053);
INSERT INTO `sys_role_menu` VALUES (2, 1054);
INSERT INTO `sys_role_menu` VALUES (2, 1055);
INSERT INTO `sys_role_menu` VALUES (2, 1056);
INSERT INTO `sys_role_menu` VALUES (2, 1057);
INSERT INTO `sys_role_menu` VALUES (2, 1058);
INSERT INTO `sys_role_menu` VALUES (2, 1059);
INSERT INTO `sys_role_menu` VALUES (2, 1060);

-- ----------------------------
-- 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 utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户账号',
  `nick_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户昵称',
  `user_type` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '00' COMMENT '用户类型（00系统用户）',
  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '用户邮箱',
  `phonenumber` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '手机号码',
  `sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '用户性别（0男 1女 2未知）',
  `avatar` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '头像地址',
  `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '密码',
  `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '帐号状态（0正常 1停用）',
  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '删除标志（0代表存在 2代表删除）',
  `login_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '最后登录IP',
  `login_date` datetime NULL DEFAULT NULL COMMENT '最后登录时间',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO `sys_user` VALUES (1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2025-04-21 19:38:20', 'admin', '2025-04-20 16:29:54', '', '2025-04-21 19:38:20', '管理员');
INSERT INTO `sys_user` VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2025-04-20 16:29:54', 'admin', '2025-04-20 16:29:54', '', NULL, '测试员');

-- ----------------------------
-- 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 = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户与岗位关联表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_user_post
-- ----------------------------
INSERT INTO `sys_user_post` VALUES (1, 1);
INSERT INTO `sys_user_post` VALUES (2, 2);

-- ----------------------------
-- 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 = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户和角色关联表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sys_user_role
-- ----------------------------
INSERT INTO `sys_user_role` VALUES (1, 1);
INSERT INTO `sys_user_role` VALUES (2, 2);

-- ----------------------------
-- Table structure for tracker_project
-- ----------------------------
DROP TABLE IF EXISTS `tracker_project`;
CREATE TABLE `tracker_project`  (
  `project_id` bigint NOT NULL AUTO_INCREMENT COMMENT '项目ID',
  `project_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目名称',
  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '项目描述',
  `status` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'active' COMMENT '项目状态（active: 激活, inactive: 不活跃）',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`project_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 102 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '项目表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of tracker_project
-- ----------------------------
INSERT INTO `tracker_project` VALUES (1, 'project_test1', 'test', 'active', '', NULL, '', NULL);
INSERT INTO `tracker_project` VALUES (101, 'project2', '', 'active', '', NULL, '', NULL);

-- ----------------------------
-- Table structure for tracker_project_user
-- ----------------------------
DROP TABLE IF EXISTS `tracker_project_user`;
CREATE TABLE `tracker_project_user`  (
  `project_id` bigint NOT NULL COMMENT '项目ID',
  `user_id` bigint NOT NULL COMMENT '用户ID',
  `role` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '角色（管理员、成员等）',
  `create_time` datetime NOT NULL COMMENT '加入时间',
  PRIMARY KEY (`project_id`, `user_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '项目与用户关联表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of tracker_project_user
-- ----------------------------
INSERT INTO `tracker_project_user` VALUES (101, 1, 'admin', '2025-04-20 21:58:53');

-- ----------------------------
-- Table structure for tracker_task
-- ----------------------------
DROP TABLE IF EXISTS `tracker_task`;
CREATE TABLE `tracker_task`  (
  `task_id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务ID',
  `project_id` bigint NOT NULL COMMENT '所属项目ID',
  `task_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务名称',
  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '任务描述',
  `assigned_to` bigint NOT NULL COMMENT '分配给的用户ID',
  `status` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'open' COMMENT '任务状态（open: 待办, in_progress: 进行中, closed: 完成）',
  `priority` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'medium' COMMENT '任务优先级（low, medium, high）',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`task_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '任务表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of tracker_task
-- ----------------------------
INSERT INTO `tracker_task` VALUES (1, 1, 'task_1', '', 2, 'open', 'medium', NULL, NULL);

-- ----------------------------
-- Table structure for tracker_task_log
-- ----------------------------
DROP TABLE IF EXISTS `tracker_task_log`;
CREATE TABLE `tracker_task_log`  (
  `log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志ID',
  `task_id` bigint NOT NULL COMMENT '任务ID',
  `user_id` bigint NOT NULL COMMENT '操作用户ID',
  `action` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '操作类型（创建、更新、删除）',
  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '操作描述',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`log_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '任务日志表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of tracker_task_log
-- ----------------------------
INSERT INTO `tracker_task_log` VALUES (1, 1, 1, 'test', '', '2025-04-20 22:02:47');

SET FOREIGN_KEY_CHECKS = 1;
