feat(content): 短剧类型与内容类型支持多选

This commit is contained in:
Zhou Weidong committed 2026-10-21 17:01:12 +08:00
1 parent 030df5c5dc
commit 4c614a5ece
13 files changed
+665 -50

No files matched your search

+56
View File
@@ -23947,3 +23947,59 @@ dev 构建保留既有 `element-plus` circular chunk 警告,不影响成功退
门禁已独立完成。
- 本任务无数据库迁移;未修改 specs、Flutter 客户端、K91 评论列表与观看记录接口;
未安装或操作真机,等待用户验收。
## 2026-10-21 K93 短剧类型与内容类型多选
- 已完整读取 K93 `docs/plans/INBOX.md` 及项目协作、编码、Git 规范。
- 已创建 FruitServer `feat/k93-drama-multi-tag` 与 ReelShortWeb
`feat/k93-drama-multi-tag-ui`,均基于最新 `origin/develop`。
- 已先写计划 `docs/plans/2026-10-21-K93-drama-multi-tag.md`,明确双列存储、
主值兼容、token 整词匹配、feed 游标与 Web 多选交互。
- 本任务迁移仅写文件,不执行数据库;不改 specs 与 Flutter 客户端。
- 已完成 A 主体代码:`Drama` / 保存、分页、响应 VO 增加双列与数组字段;
`DramaService.apply` 支持多值去重、顺序保留和单值兜底;响应装配分类名顺序。
- 后台分页、App feed 与 App 分类列表已改用逗号列整词匹配;feed 游标会校验 marker
的多内容类型是否与筛选类型相交。
- 已新增迁移 `sql/migrate-k93-drama-multi-tag.sql` 并同步 `sql/schema.sql`,迁移未执行;
`docs/api-phase1.md` 已补多选保存、过滤与响应说明。
- 已新增 `DramaServiceMultiTagTest`,覆盖多值去重/顺序/主值、单值兼容、后台 token 条件、
feed 多标签游标、App 分类 token 条件与响应分类名顺序。
- K93 定向后端测试已通过:
```text
$ JAVA_HOME=<jdk21> mvn -pl fruitshorts-app-api -am \
-Dtest=DramaServiceMultiTagTest,DramaServiceK88Test,DramaServiceFeedTest \
-Dsurefire.failIfNoSpecifiedTests=false test
[INFO] fruitshorts-app-api ... SUCCESS
[INFO] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0
[INFO] BUILD SUCCESS
```
解读:多值保存、单值兼容、后台分页、feed 多标签游标和分类分区匹配均通过。
- 已完成 B:Web 类型与分页参数扩展;表单两个下拉改为多选并至少 1 项;编辑优先回填数组,
缺失回退单值;筛选传数组;表格显示多分类名与多个内容类型标签。
- ReelShortWeb `pnpm ts:check`、定向 ESLint 已通过;dev 构建已通过:
```text
$ pnpm build:dev
> fruitshorts-admin@1.0.0 build:dev
> VITE_CJS_IGNORE_WARNING=1 vite build --mode dev
Build successful. Please see dist-dev directory
```
解读:多选表单、筛选与展示通过类型检查、Lint 和构建;构建仅有既有 circular chunk 警告。
- 规范复核发现 `DramaService` 增至 618 行,超过 500 行红线;已将多标签存储、解析与
Wrapper token 条件抽到同包 `DramaMultiTagSupport`,`DramaService` 回落至 440 行,
新工具类 204 行。重构后定向测试再次通过:12 项,`BUILD SUCCESS`。
- FruitServer 全模块门禁已通过:
```text
$ JAVA_HOME=<jdk21> mvn test
[INFO] fruitshorts-admin-api .............................. SUCCESS
[INFO] fruitshorts-app-api ................................ SUCCESS
[INFO] fruitshorts-transcode-worker ....................... SUCCESS
[INFO] BUILD SUCCESS
[INFO] Total time: 15.119 s
```
解读:全部 14 个 Reactor 模块通过;app-api 共 95 项测试全过,含新增多标签测试。