# 功能更新日志 ## V1.1 版本 (2026-02-26) ### 新增功能 #### 1. 日志类型管理 - **日志分类**:新增日志类型字段,支持 4 种类型 - 1 - 工作计划 - 2 - 工作日志(默认) - 3 - 个人日志 - 9 - 其他 #### 2. 业务规则优化 - **唯一性约束**:工作计划和工作日志,同一天只能各创建一条 - **灵活性支持**:个人日志和其他类型,同一天可以创建多条 #### 3. 日历交互升级 - **原交互**:点击日期直接显示单条日志详情 - **新交互**:点击日期显示日志列表弹窗 - 列表按类型排序显示(工作计划 → 工作日志 → 个人日志 → 其他) - 点击列表项查看详情 - 详情页支持返回列表 ### 数据库变更 #### work_log 表 - 新增字段:`log_type TINYINT(1) NOT NULL DEFAULT 2` - 新增索引:`idx_user_date_type (user_id, log_date, log_type)` ### API 变更 #### 破坏性变更 - **接口**:`GET /api/v1/log/by-date` - **变更**:返回值从单个 `LogVO` 改为 `List` - **影响**:前端需同步更新 #### 新增字段 - **LogCreateDTO**:新增 `logType` 字段(可选,默认值2) - **LogVO**:新增 `logType` 和 `logTypeDesc` 字段 ### 前端变更 #### 管理后台 (worklog-web) 1. 日志管理页面:增加类型选择下拉框和类型列显示 2. 首页日历:重构为列表+详情双层弹窗交互 3. 首页人员查询:新增“添加日志”按钮,跳转日志管理并打开新建弹窗 #### 移动端 (worklog-mobile) 1. 首页日历:重构为列表模式+详情模式切换 2. 日志创建:增加类型选择器 ### 测试覆盖 - 单元测试:新增 15 个测试用例,覆盖类型创建、唯一性约束、列表排序等 - 测试通过率:35/36 (97.2%) - 跳过测试:1 个(deleteLog_success,原因:MyBatis Plus Lambda缓存在Mock环境下的限制) ### 文档更新 - ✅ 产品需求文档 PRD (V1.0 → V1.1) - ✅ 数据库初始化脚本注释 - ✅ 数据库迁移脚本 (v1.1_add_log_type.sql) - ✅ 功能更新日志 ### 兼容性说明 - 现有日志数据的 `log_type` 字段自动设置为默认值 2(工作日志) - 前后端需同步部署,API 接口有破坏性变更 ### 回滚方案 如需回滚到 V1.0 版本: ```sql -- 删除日志类型字段和索引 ALTER TABLE work_log DROP INDEX idx_user_date_type; ALTER TABLE work_log DROP COLUMN log_type; ``` 然后部署 V1.0 版本的前后端代码。 --- ## V1.0 版本 (初始版本) - 基础的工作日志管理功能 - 用户管理 - 日志模板管理 - PC 端和移动端支持