后端: - 新增 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>
49 lines
2.7 KiB
SQL
49 lines
2.7 KiB
SQL
-- ============================================================
|
||
-- V5: 乐读派 AI 绘本创作系统集成
|
||
-- 1. t_ugc_work:status VARCHAR → INT(先转换旧数据再改类型)
|
||
-- 2. 新增乐读派关联字段
|
||
-- 3. 新增索引
|
||
-- 4. Webhook 幂等去重表
|
||
-- ============================================================
|
||
|
||
-- 1. t_ugc_work:status 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事件去重表';
|