From 37c8d4127e64677402fb6dff8dbc2cc77a3b056f Mon Sep 17 00:00:00 2001 From: yumoqing Date: Sat, 13 Jun 2026 14:30:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0=E6=95=B0=E5=AD=97?= =?UTF-8?q?=E4=BA=BA=E6=A8=A1=E5=9E=8B=E5=AE=9A=E4=BB=B7=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?SQL=EF=BC=88wan2.6-i2v-flash=20+=20wan2.2-s2v=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/fix_digital_human_pricing.sql | 83 +++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 scripts/fix_digital_human_pricing.sql diff --git a/scripts/fix_digital_human_pricing.sql b/scripts/fix_digital_human_pricing.sql new file mode 100644 index 0000000..ccaeacd --- /dev/null +++ b/scripts/fix_digital_human_pricing.sql @@ -0,0 +1,83 @@ +-- ============================================================ +-- 修复数字人模型显示错误 — pricing timing缺失 +-- 问题: get_ppid_pricing 找不到有效timing记录导致"data not found" +-- 影响: +-- 1. orNSwYIFP0HFv2UnY-9EW (wan2.6-i2v-flash) — 有program无timing +-- 2. 0B6aldoAej1PpZ4ydtrEZ (wan2.2-s2v数字人) — program和timing都缺 +-- 生成时间: 2026-06-13 +-- 执行用户: sword (bugfix模块) 或 root (mysql直接执行) +-- ============================================================ + +-- ============================================================ +-- 1. 修复 wan2.6-i2v-flash: 设置discount + 创建timing记录 +-- ============================================================ + +-- 1a. 修复 discount (当前为null) +UPDATE pricing_program +SET discount = 1.0 +WHERE id = 'orNSwYIFP0HFv2UnY-9EW'; + +-- 1b. 创建 pricing_program_timing 记录 +-- 官方定价: 有声720P=0.3元/秒, 1080P=0.5元/秒; 无声720P=0.15元/秒, 1080P=0.25元/秒 +INSERT INTO pricing_program_timing (id, ppid, name, enabled_date, expired_date, pricing_data) +VALUES ( + 'orNSwYIFP0HFv2UnY-t1', + 'orNSwYIFP0HFv2UnY-9EW', + NULL, + '2026-06-13', + '9999-12-31', + 'unit_values:\n 秒: 1\nfields:\n price_factors:\n type: string\n role: factor\n label: 计价因子\n unit_prices:\n type: float\n role: factor\n label: 单位定价\n unit:\n type: string\n role: factor\n label: 计价单位\n size:\n type: string\n role: filter\n label: 分辨率\n audio:\n type: string\n role: filter\n label: 音频\npricings:\n- price_factors: duration\n unit_prices: 0.3\n unit: 秒\n filters:\n - size: 720P\n - audio: true\n- price_factors: duration\n unit_prices: 0.5\n unit: 秒\n filters:\n - size: 1080P\n - audio: true\n- price_factors: duration\n unit_prices: 0.15\n unit: 秒\n filters:\n - size: 720P\n - audio: false\n- price_factors: duration\n unit_prices: 0.25\n unit: 秒\n filters:\n - size: 1080P\n - audio: false' +); + +-- ============================================================ +-- 2. 创建 wan2.2-s2v 数字人定价 (program + timing) +-- ============================================================ + +-- 2a. 创建 pricing_program +INSERT INTO pricing_program (id, name, ownerid, providerid, pricing_belong, discount, description, pricing_spec) +VALUES ( + '0B6aldoAej1PpZ4ydtrEZ', + '通义万象-数字人 wan2.2-s2v', + '0', + '6fadgewjraOyvxC_EkHou', + 'provider', + 1.0, + '万相数字人视频生成定价,按输出视频秒数计费', + 'fields:\n model:\n type: str\n label: 模型\n options:\n - wan2.2-s2v\n size:\n type: str\n label: 分辨率\n options:\n - 480P\n - 720P\n duration:\n type: factor\n label: 时长(秒)' +); + +-- 2b. 创建 pricing_program_timing +-- 官方定价: 480P=0.5元/秒, 720P=0.9元/秒 +INSERT INTO pricing_program_timing (id, ppid, name, enabled_date, expired_date, pricing_data) +VALUES ( + '0B6aldoAej1PpZ4ydtrE-t1', + '0B6aldoAej1PpZ4ydtrEZ', + NULL, + '2026-06-13', + '9999-12-31', + 'unit_values:\n 秒: 1\nfields:\n price_factors:\n type: string\n role: factor\n label: 计价因子\n unit_prices:\n type: float\n role: factor\n label: 单位定价\n unit:\n type: string\n role: factor\n label: 计价单位\n size:\n type: string\n role: filter\n label: 分辨率\npricings:\n- price_factors: duration\n unit_prices: 0.5\n unit: 秒\n filters:\n - size: 480P\n- price_factors: duration\n unit_prices: 0.9\n unit: 秒\n filters:\n - size: 720P' +); + + +-- ============================================================ +-- 验证 (执行后运行以下查询确认) +-- ============================================================ +-- SELECT pp.id, pp.name, pp.discount, COUNT(ppt.id) as timing_count +-- FROM pricing_program pp +-- LEFT JOIN pricing_program_timing ppt ON pp.id = ppt.ppid +-- WHERE pp.id IN ('orNSwYIFP0HFv2UnY-9EW', '0B6aldoAej1PpZ4ydtrEZ') +-- GROUP BY pp.id, pp.name, pp.discount; +-- +-- 预期结果: +-- | id | name | discount | timing_count | +-- |-------------------------|----------------------------|----------|--------------| +-- | orNSwYIFP0HFv2UnY-9EW | wan2.6-i2v-flash | 1.0 | 1 | +-- | 0B6aldoAej1PpZ4ydtrEZ | 通义万象-数字人 wan2.2-s2v | 1.0 | 1 | + + +-- ============================================================ +-- 回滚 (如需回滚) +-- ============================================================ +-- DELETE FROM pricing_program_timing WHERE id IN ('orNSwYIFP0HFv2UnY-t1', '0B6aldoAej1PpZ4ydtrE-t1'); +-- DELETE FROM pricing_program WHERE id = '0B6aldoAej1PpZ4ydtrEZ'; +-- UPDATE pricing_program SET discount = NULL WHERE id = 'orNSwYIFP0HFv2UnY-9EW';