| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import { initDatabase, AppDataSource, PlatformAccount } from '../models/index.js';
- import { logger } from '../utils/logger.js';
- import { WorkService } from '../services/WorkService.js';
- async function main() {
- const arg = process.argv[2];
- if (!arg) {
- logger.error('请提供账号(platform_accounts.id 或 account_id 字符串)');
- logger.info('用法: tsx src/scripts/sync-works-for-account.ts <6|dy_1742363409>');
- process.exit(1);
- }
- await initDatabase();
- const accountRepo = AppDataSource.getRepository(PlatformAccount);
- const maybeId = Number(arg);
- let account: PlatformAccount | null = null;
- if (!Number.isNaN(maybeId) && Number.isInteger(maybeId) && maybeId > 0) {
- account = await accountRepo.findOne({ where: { id: maybeId } });
- }
- if (!account) {
- account = await accountRepo.findOne({ where: { accountId: arg } });
- }
- if (!account) {
- logger.error(`未找到账号: ${arg}`);
- process.exit(1);
- }
- logger.info(`准备同步账号: id=${account.id}, userId=${account.userId}, platform=${account.platform}, accountId=${account.accountId}`);
- const workService = new WorkService();
- const result = await workService.syncWorks(
- account.userId,
- account.id,
- undefined,
- (p, step) => logger.info(`[进度] ${p}% ${step}`)
- );
- logger.info(`同步完成: synced=${result.synced}, accounts=${result.accounts}`);
- logger.info(`账号摘要: ${JSON.stringify(result.accountSummaries, null, 2)}`);
- process.exit(0);
- }
- void main().catch((e) => {
- logger.error('执行失败:', e);
- process.exit(1);
- });
|