library-picturebook-activity/backend-java/src/main/resources/db/migration/V5__leai_integration.sql
En 922f650365 feat: 添加乐读派(leai)集成模块及E2E测试基础设施
后端:
- 新增 leai 模块:认证、Webhook、数据同步、定时对账
- 新增 LeaiConfig/RestTemplateConfig/SchedulingConfig 配置
- 新增 FlywayRepairConfig 处理迁移修复
- 新增 V5__leai_integration.sql 迁移脚本
- 扩展所有实体类添加 tenantId 等字段
- 更新 SecurityConfig 放行 leai 公开接口
- 添加 application-test.yml 测试环境配置

前端:
- 添加乐读派认证 API (public.ts)
- 优化 Generating.vue 生成页
- 添加 Playwright E2E 测试配置及依赖
- 添加测试 fixtures、utils、mock-h5.html
- 添加 leai 模块完整 E2E 测试套件

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 21:52:32 +08:00

49 lines
2.7 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ============================================================
-- V5: 乐读派 AI 绘本创作系统集成
-- 1. t_ugc_workstatus VARCHAR → INT先转换旧数据再改类型
-- 2. 新增乐读派关联字段
-- 3. 新增索引
-- 4. Webhook 幂等去重表
-- ============================================================
-- 1. t_ugc_workstatus VARCHAR → INT
-- 先将旧字符串状态值转换为整数值
UPDATE t_ugc_work SET status = '0' WHERE status = 'draft';
UPDATE t_ugc_work SET status = '1' WHERE status = 'pending_review';
UPDATE t_ugc_work SET status = '2' WHERE status = 'processing';
UPDATE t_ugc_work SET status = '3' WHERE status = 'published';
UPDATE t_ugc_work SET status = '-1' WHERE status = 'rejected';
UPDATE t_ugc_work SET status = '-2' WHERE status = 'taken_down';
-- 其他未识别的值统一设为 0(DRAFT)
UPDATE t_ugc_work SET status = '0' WHERE status NOT REGEXP '^-?[0-9]+$';
ALTER TABLE t_ugc_work MODIFY COLUMN status INT NOT NULL DEFAULT 0
COMMENT '创作状态:-1=FAILED, 0=DRAFT, 1=PENDING, 2=PROCESSING, 3=COMPLETED, 4=CATALOGED, 5=DUBBED';
-- 2. 新增乐读派关联字段
ALTER TABLE t_ugc_work ADD COLUMN remote_work_id VARCHAR(64) DEFAULT NULL COMMENT '乐读派远程作品ID' AFTER user_id;
ALTER TABLE t_ugc_work ADD COLUMN progress INT DEFAULT 0 COMMENT 'AI创作进度百分比' AFTER ai_meta;
ALTER TABLE t_ugc_work ADD COLUMN progress_message VARCHAR(200) DEFAULT NULL COMMENT '进度描述' AFTER progress;
ALTER TABLE t_ugc_work ADD COLUMN style VARCHAR(100) DEFAULT NULL COMMENT '创作风格' AFTER progress_message;
ALTER TABLE t_ugc_work ADD COLUMN author_name VARCHAR(100) DEFAULT NULL COMMENT '作者' AFTER style;
ALTER TABLE t_ugc_work ADD COLUMN fail_reason VARCHAR(500) DEFAULT NULL COMMENT '失败原因' AFTER author_name;
-- 3. 新增索引
ALTER TABLE t_ugc_work ADD UNIQUE INDEX uk_remote_work_id (remote_work_id);
ALTER TABLE t_ugc_work ADD INDEX idx_user_status (user_id, status);
-- 4. Webhook 幂等去重表
CREATE TABLE IF NOT EXISTS t_leai_webhook_event (
id BIGINT NOT NULL AUTO_INCREMENT,
event_id VARCHAR(128) NOT NULL COMMENT '事件唯一ID (X-Webhook-Id)',
event_type VARCHAR(64) NOT NULL COMMENT '事件类型',
remote_work_id VARCHAR(64) DEFAULT NULL COMMENT '乐读派作品ID',
payload JSON DEFAULT NULL COMMENT '事件原始载荷',
processed TINYINT NOT NULL DEFAULT 1 COMMENT '是否已处理',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE INDEX uk_event_id (event_id),
INDEX idx_remote_work_id (remote_work_id),
INDEX idx_create_time (create_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='乐读派Webhook事件去重表';