docs(plans): 留痕 K30-A 详情互动数量

This commit is contained in:
Zhou Weidong committed 2026-10-20 12:02:36 +08:00
1 parent f19d21ef96
commit 0877b1bb0f
2 files changed
+39 -3

No files matched your search

+36
View File
@@ -19997,3 +19997,39 @@ Running Gradle task 'assembleDebug'...
```
解读:静态检查零告警,390 条测试全部通过(较 K29.8 新增 2 条底部排版用例),debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。
## 2026-10-20 FruitServer:K30-A 详情接口补互动数量
- 分支:`feature/backend-drama-counts`
- 功能提交:`671953b feat(app-api): 详情补充互动数量字段`
- develop 合并提交:`f19d21e merge: 合并 K30-A 详情互动数量`,已推送。
- 契约先行:先在 `docs/api-phase1.md` 的 1.3 内容浏览补上 `/app/dramas/{id}` 完整响应示例与互动数量字段表,再改代码;明确 `Long` 计数按全局约定以 JSON 字符串下发,与既有 `viewCount` 一致。
- `AppDramaDetailVO` 新增 `likeCount`、`favoriteCount`、`commentCount`(Long),JSON 字段同名,既有字段语义未动。
- `AppCatalogService.dramaDetail` 装配:`likeCount` 取 `drama.like_count`、`favoriteCount` 取 `drama.favorite_count`、`commentCount` 调互动域 `CommentService.countByDrama(dramaId)`。
- `CommentService.countByDrama`:按 `drama_id` 统计 `content_comment`,排除 `status = 'deleted'`;数据库逻辑删除记录由 MyBatis-Plus `@TableLogic` 自动过滤;`dramaId` 为空直接返回 0,不查库。
- 未改管理端接口与管理端 VO;未改表结构(`drama.like_count` / `drama.favorite_count` 原已存在)。
测试补充:
- `AppCatalogControllerContractTest` 详情用例新增 `viewCount/likeCount/favoriteCount/commentCount` 断言,验证契约里的字符串序列化形态。
- 新增 `AppCatalogServiceTest`:用替身依赖验证详情 VO 三个数量来源正确、调用 `countByDrama`。
- 新增 `CommentServiceCountTest`:捕获查询条件验证按剧过滤且排除 deleted,同时覆盖空剧 ID 不查库。
门禁原始输出:
```text
$ mvn test
[INFO] Reactor Summary for fruitshorts 1.0.0-SNAPSHOT:
[INFO] fruitshorts-module-commerce ......................... SUCCESS
[INFO] fruitshorts-admin-api .............................. SUCCESS (Tests run: 21)
[INFO] fruitshorts-app-api ................................ SUCCESS (Tests run: 59)
[INFO] fruitshorts-transcode-worker ....................... SUCCESS (Tests run: 12)
[INFO] BUILD SUCCESS
[INFO] Total time: 11.338 s
$ mvn -pl fruitshorts-app-api -am package -DskipTests
[INFO] fruitshorts-app-api ................................ SUCCESS
[INFO] BUILD SUCCESS
[INFO] Total time: 5.545 s
```
解读:全量后端测试 125 条(commerce 33 + admin-api 21 + app-api 59 + worker 12)全部通过,0 失败 0 错误;app-api 及其依赖模块打包成功。管理端未改动,表结构未改动。