feat: 公众端广场按标签ID筛选作品并补充设计说明
Made-with: Cursor
This commit is contained in:
parent
7240c543fc
commit
d7dddd3058
@ -36,6 +36,9 @@ public class PublicGalleryService {
|
||||
|
||||
/**
|
||||
* 获取广场作品列表
|
||||
*
|
||||
* @param tagId 可选,按 {@code t_ugc_work_tag} 关联筛选;与超管维护的标签 ID 一致
|
||||
* @param category 预留(按标签大类筛选),当前未接前端传参,忽略
|
||||
*/
|
||||
public PageResult<Map<String, Object>> getGalleryList(int page, int pageSize, Long tagId,
|
||||
String category, String sortBy, String keyword) {
|
||||
@ -43,6 +46,9 @@ public class PublicGalleryService {
|
||||
wrapper.in(UgcWork::getStatus, ST_COMPLETED, ST_CATALOGED, ST_DUBBED)
|
||||
.eq(UgcWork::getVisibility, Visibility.PUBLIC.getValue())
|
||||
.eq(UgcWork::getIsDeleted, 0);
|
||||
if (tagId != null) {
|
||||
wrapper.apply("EXISTS (SELECT 1 FROM t_ugc_work_tag r WHERE r.work_id = t_ugc_work.id AND r.tag_id = {0})", tagId);
|
||||
}
|
||||
if (StringUtils.hasText(keyword)) {
|
||||
wrapper.like(UgcWork::getTitle, keyword);
|
||||
}
|
||||
|
||||
@ -120,6 +120,8 @@ UserWork(用户作品)
|
||||
|
||||
**实现说明(与库表对齐)**:当前后端表 `t_ugc_work.status` 为 **整型**(如 `0` 草稿、`1` 待审、`3` 生成完成、`4` 已编目、`5` 已配音、`-1` 已拒绝、`-2` 已下架)。产品文档中的 **`published`(已发布/可对外展示)** 在查询与 API 筛选语义上对应 **`status ∈ {3, 4, 5}`**,且需配合 `visibility=public`、未删除;公众端广场与推荐接口按此过滤。勿与竞赛/作业等业务里使用的字符串型 `PublishStatus` 混用于 UGC 作品表。
|
||||
|
||||
**广场标签筛选**:`GET /public/gallery` 支持查询参数 **`tagId`**,后端通过表 **`t_ugc_work_tag`**(作品—标签关联)过滤,仅返回绑定了该标签 ID 的公开已上架作品;与超管「标签管理」中的标签主键一致。
|
||||
|
||||
### 2.3 社区互动模型(新增)
|
||||
|
||||
```
|
||||
|
||||
@ -389,5 +389,7 @@ POST /api/tags/batch-sort — 标签批量排序
|
||||
|
||||
**公众端广场与 `status`(实现约定)**:`t_ugc_work.status` 为整型;管理端筛选参数里的 `published` 语义对应 **`status ∈ {3, 4, 5}`**(生成完成 / 已编目 / 已配音)。公众端 `GET /public/gallery`、`/public/gallery/recommended` 仅查询上述状态且 `visibility=public`、未删除;**不得**复用赛事/作业等模块的 `PublishStatus.PUBLISHED`(字符串 `"published"`)与整型列比较。
|
||||
|
||||
**标签筛选**:`GET /public/gallery` 查询参数 **`tagId`**(可选,对应 `t_ugc_tag.id`)表示仅返回在 **`t_ugc_work_tag`** 中与该标签有关联的公开已上架作品;`category` 参数预留,按标签大类筛选可后续与 `t_ugc_tag.category` 对齐。
|
||||
|
||||
#### 数据库变更
|
||||
- `work_tags` 表新增 `color` 字段(VARCHAR(20),标签颜色)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user