91 lines
2.6 KiB
Markdown
91 lines
2.6 KiB
Markdown
# 功能更新日志
|
||
|
||
## 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 端和移动端支持
|