|
|
@@ -1,5 +1,5 @@
|
|
|
import schedule from 'node-schedule';
|
|
|
-import { AppDataSource, PublishTask, PlatformAccount, AnalyticsData } from '../models/index.js';
|
|
|
+import { AppDataSource, PublishTask, PlatformAccount, AnalyticsData, PublishResult } from '../models/index.js';
|
|
|
import { logger } from '../utils/logger.js';
|
|
|
import { wsManager } from '../websocket/index.js';
|
|
|
import { WS_EVENTS } from '@media-manager/shared';
|
|
|
@@ -202,8 +202,19 @@ export class TaskScheduler {
|
|
|
failCount++;
|
|
|
}
|
|
|
|
|
|
- // 更新发布结果
|
|
|
- // TODO: 更新 publish_results 表
|
|
|
+ // 保存发布结果到数据库
|
|
|
+ const resultRepository = AppDataSource.getRepository(PublishResult);
|
|
|
+ const publishResult = resultRepository.create({
|
|
|
+ taskId: task.id,
|
|
|
+ accountId: account.id,
|
|
|
+ platform: account.platform,
|
|
|
+ status: result.success ? 'success' : 'failed',
|
|
|
+ videoUrl: result.videoUrl || null,
|
|
|
+ platformVideoId: result.platformVideoId || null,
|
|
|
+ errorMessage: result.errorMessage || null,
|
|
|
+ publishedAt: new Date(),
|
|
|
+ });
|
|
|
+ await resultRepository.save(publishResult);
|
|
|
|
|
|
} catch (error) {
|
|
|
logger.error(`Publish to ${account.platform} failed:`, error);
|