Bläddra i källkod

fix: 添加 author 字段到 package.json 并实现发布结果保存到数据库

1. 为 package.json 添加 author 字段,解决 electron-builder 打包警告
2. 实现 scheduler 中 executePublishTask 方法的发布结果保存逻辑
   - 将每次发布结果(成功/失败)保存到 publish_results 表
   - 记录视频URL、平台视频ID、错误信息等详细数据
   - 修复了之前的 TODO 注释
ethanfly 2 veckor sedan
förälder
incheckning
6e62fe2fba
2 ändrade filer med 15 tillägg och 3 borttagningar
  1. 1 0
      package.json
  2. 14 3
      server/src/scheduler/index.ts

+ 1 - 0
package.json

@@ -2,6 +2,7 @@
   "name": "multi-platform-media-manage",
   "version": "1.0.0",
   "description": "智媒通 - 支持视频发布、评论管理、数据分析",
+  "author": "智媒通团队",
   "private": true,
   "type": "module",
   "pnpm": {

+ 14 - 3
server/src/scheduler/index.ts

@@ -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);