verify-prod.ts 1.2 KB

1234567891011121314151617181920212223242526
  1. import { PrismaClient } from '@prisma/client';
  2. const p = new PrismaClient();
  3. (async () => {
  4. const b43 = await p.book.findUnique({ where: { id: 43 }, include: { chapters: true } });
  5. console.log('=== 线上 Book 43 ===');
  6. console.log('genStage :', b43?.genStage);
  7. console.log('progress :', b43?.progress);
  8. console.log('errorMsg :', b43?.errorMsg);
  9. console.log('failedStage:', b43?.failedStage);
  10. console.log('chapters :', b43?.chapters.length);
  11. for (const c of b43?.chapters || []) {
  12. console.log(' #' + c.id, c.title, '|', c.genStage, '| audio=' + (c.audioUrl ? 'YES' : 'NO'));
  13. }
  14. const reportLike = await p.book.count({ where: { OR: [
  15. { errorMsg: { startsWith: '[质量校验]' } },
  16. { errorMsg: { startsWith: '[连贯性编辑]' } },
  17. { errorMsg: { startsWith: '[改写优化]' } },
  18. { errorMsg: { startsWith: '[改写降级]' } }
  19. ]}});
  20. const audioStuck = await p.book.count({ where: { genStage: 'audio_generating', chapters: { some: { audioUrl: { not: '' } } } } });
  21. console.log('--- 整体 ---');
  22. console.log('errorMsg 残留报告:', reportLike);
  23. console.log('卡死书籍: ', audioStuck);
  24. await p.$disconnect();
  25. })();