feat: 07 创作者中心批 1(账号绑定 + 我的作品 / 审核进度 / 通知)

为什么:创作者要在 Web 端(做进后台管理)看到自己的作品与审核进度,但 creator 模块
此前只有「后台审核视角」的服务,创作者本人没有任何入口;更要紧的是,全项目没有任何
地方把「后台账号」和「创作者主体」关联起来 —— 缺这层映射,横向越权就只能靠每个接口
自觉加 where 过滤,迟早会漏。所以批 1 先把归属判定的地基打好,再给工作台接口。

- creator 增加 admin_user_id(幂等 ALTER + 部分唯一索引,0 = 未绑定,多条 0 不冲突)
- 新增角色 creator 与权限点 creator-center:view(创作者角色 + 超管各授权一条),菜单等页面做好再挂
- 新增 CreatorCenterService:requireCurrentCreator() 是归属判定的唯一入口,requireMyDrama() 供后续批次复用
- 新增 /admin/creator-center 四个接口(profile / dramas/page / dramas/{id} / notices),
  一律不接收 creatorId,查询强制 where creator_id = 当前创作者,访问他人作品统一 403
- 通知不新建表:由入驻审核结果 + 内容提交审核结果派生(ops_notice 无产出方,等有公告功能再接)
- 顺手接通 drama.trailer_url:DDL 与实体早就有,但保存 VO / 响应 VO 都没带,预告片存不进也读不出
- ContentSubmissionService 补 typeText + TYPE_* 常量(通知文案与批 2 的提交都要用)
This commit is contained in:
Vicky committed 2026-10-15 13:45:32 +08:00
1 parent 8b261b71de
commit ea875c3e2b
14 files changed
+454

No files matched your search

+10
View File
@@ -903,3 +903,13 @@ COMMENT ON TABLE download_task IS '离线下载任务与断点续传进度(分
DROP TRIGGER IF EXISTS trg_download_task_updated_at ON download_task;
CREATE TRIGGER trg_download_task_updated_at BEFORE UPDATE ON download_task
FOR EACH ROW EXECUTE FUNCTION set_updated_at();
-- ============================================================
-- 九、07 创作者中心(Web 端):后台账号 ↔ 创作者主体
-- ============================================================
-- 第一阶段创作者直接登后台,身份复用 sys_admin_user / sys_role / sys_menu,
-- 所以 creator 需要一列账号映射;用「部分唯一索引」:
-- admin_user_id = 0 表示尚未绑定账号,多条 0 不冲突;绑定之后一账号只能对应一个创作者主体。
ALTER TABLE creator ADD COLUMN IF NOT EXISTS admin_user_id BIGINT NOT NULL DEFAULT 0;
CREATE UNIQUE INDEX IF NOT EXISTS uk_creator_admin_user ON creator (admin_user_id) WHERE admin_user_id > 0;
COMMENT ON COLUMN creator.admin_user_id IS '绑定的后台账号 sys_admin_user.id,0 表示未绑定(创作者中心据此判定归属)';