fix(backend): 修复上传转码与短剧发布链路(multipart 上限、转码防重、剧集发布、schema 字段)

This commit is contained in:
Zhou Weidong committed 2026-10-19 18:38:48 +08:00
1 parent 1bf74bdd4c
commit 212834d59d
4 files changed
+13 -16

No files matched your search

+3 -14
View File
@@ -11,7 +11,7 @@
-- 具体的月分区由 sql/partition-maintenance.sql 创建(并把已存在的普通表转成分区表)。
--
-- 命名与类型约定(与 sql/schema.sql 保持一致):
-- BIGINT PRIMARY KEY(不设默认值;主键由应用侧雪花算法生成:MyBatis-Plus IdType.ASSIGN_ID)
-- BIGINT PRIMARY KEY
-- 布尔语义用 SMALLINT(1/0),时间用 TIMESTAMP(3),默认 CURRENT_TIMESTAMP
-- 逻辑删除 deleted SMALLINT NOT NULL DEFAULT 0
-- updated_at 由 set_updated_at() 触发器维护
@@ -748,7 +748,7 @@ CREATE TABLE IF NOT EXISTS transcode_task (
status VARCHAR(16) NOT NULL DEFAULT 'QUEUED', -- QUEUED/RUNNING/SUCCESS/FAILED/CANCELED
progress INT NOT NULL DEFAULT 0,
retry_count INT NOT NULL DEFAULT 0,
error_msg VARCHAR(500) NOT NULL DEFAULT '',
error_msg TEXT NOT NULL DEFAULT '',
started_at TIMESTAMP(3),
finished_at TIMESTAMP(3),
created_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
@@ -780,7 +780,7 @@ CREATE TABLE IF NOT EXISTS media_rendition (
updated_at TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted SMALLINT NOT NULL DEFAULT 0
);
CREATE UNIQUE INDEX IF NOT EXISTS uk_rendition ON media_rendition (episode_id, quality, format);
CREATE UNIQUE INDEX IF NOT EXISTS uk_rendition ON media_rendition (media_asset_id, quality, format);
CREATE INDEX IF NOT EXISTS idx_rendition_episode ON media_rendition (episode_id);
COMMENT ON TABLE media_rendition IS '多码率产物;播放票据按此生成 master playlist';
@@ -933,14 +933,3 @@ COMMENT ON COLUMN sys_admin_user.must_change_password IS '1 = 首登强制改密
-- 默认 1(超管照旧看到),置 0 表示"不给超管显示"。
ALTER TABLE sys_menu ADD COLUMN IF NOT EXISTS super_admin_visible SMALLINT NOT NULL DEFAULT 1;
COMMENT ON COLUMN sys_menu.super_admin_visible IS '0 = 不给超管显示(角色专属菜单用;超管的菜单是全量兜底,不走 sys_role_menu)';
-- ============================================================
-- 十、B1-2 对账:商店侧指标与说明
-- ============================================================
-- 对账要区分"本地口径"和"商店口径",而商店的结算金额/手续费/税只能从 Play Console 财务报告取,
-- Developer API 不提供。契约强制:**取不到的指标一律 null 并在 notes 说明缺什么,不许用 0 冒充**,
-- 所以这两列必须可空(0 与 null 在对账语境里含义完全不同:0 是"确实是 0",null 是"没有数据源")。
ALTER TABLE reconcile_task ADD COLUMN IF NOT EXISTS store_amount_sum NUMERIC(14,2);
ALTER TABLE reconcile_task ADD COLUMN IF NOT EXISTS notes TEXT;
COMMENT ON COLUMN reconcile_task.store_amount_sum IS '商店侧结算金额;无数据源时为 NULL(不要用 0 冒充)';
COMMENT ON COLUMN reconcile_task.notes IS '对账说明:差异构成、缺哪些数据源、本次退款回收情况';