Files
freedom-admin/sql/public_todo.sql
T
张家训 02dda2d597
CI/CD Deploy (Admin) / 构建后端镜像并部署 (push) Successful in 14s
feat(public-todo): 新增免登录公开待办看板后端
- 新增表 t_public_todo 及 Entity/Mapper/Service/Controller 四个类
- 对外接口 7 个:list/add/update/updateStatus/remove/removeDone/stats
- Controller 不继承 BaseController,不依赖登录态
- WebSecurityConfig 放行 /public-todo/**,与个人待办 /todo/** 隔离
- 落库脚本 sql/public_todo.sql(幂等建表 + 示例数据)
2026-10-19 18:45:49 +08:00

41 lines
2.3 KiB
SQL

-- =============================================================
-- 公开待办看板(无需登录)增量脚本
-- 用途: 对外分享的待办清单页面数据源,独立于个人待办表 t_todo
-- 特性: 幂等,可重复执行
-- 执行: freedom_db
-- =============================================================
-- 1. 公开待办表
CREATE TABLE IF NOT EXISTS `t_public_todo` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
`title` VARCHAR(200) NOT NULL COMMENT '标题',
`remark` VARCHAR(1000) DEFAULT NULL COMMENT '备注',
`priority` TINYINT DEFAULT 2 COMMENT '优先级:1低 2中 3高',
`category` VARCHAR(50) DEFAULT NULL COMMENT '分类',
`due_date` DATE DEFAULT NULL COMMENT '截止日期',
`status` TINYINT DEFAULT 0 COMMENT '状态:0未完成 1已完成',
`create_by` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`create_date` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`update_date` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` TINYINT DEFAULT 0 COMMENT '删除标记:0正常 1已删除',
PRIMARY KEY (`id`),
KEY `idx_public_todo_status` (`status`, `del_flag`),
KEY `idx_public_todo_due` (`due_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='公开待办看板表';
-- 2. 示例数据(仅当表为空时插入,便于首次打开不空白)
INSERT INTO `t_public_todo` (`title`, `remark`, `priority`, `category`, `due_date`, `status`, `create_by`)
SELECT * FROM (
SELECT '欢迎使用公开待办看板' AS title,
'这个页面无需登录,链接发给谁都能用。点左侧圆圈可以勾选完成。' AS remark,
2 AS priority, '想法' AS category, NULL AS due_date, 0 AS status, 'system' AS create_by
UNION ALL
SELECT '试试按 N 快速新建、按 / 搜索', '快捷键在底部有提示,手机端会自动隐藏。',
1, '想法', NULL, 0, 'system'
UNION ALL
SELECT '数据保存在服务器数据库', '所有人看到的是同一份清单,支持导出/导入 JSON 备份。',
3, '工作', DATE_ADD(CURDATE(), INTERVAL 3 DAY), 0, 'system'
) t
WHERE NOT EXISTS (SELECT 1 FROM `t_public_todo`);