worklog/doc/CHANGELOG.md

91 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 功能更新日志
## 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<LogVO>`
- **影响**:前端需同步更新
#### 新增字段
- **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 端和移动端支持