// 直接测试PrintTriggerService const { DataSource } = require('typeorm'); async function testPrintTriggerDirect() { console.log('=== 直接测试PrintTriggerService ===\n'); // 创建数据源 const dataSource = new DataSource({ type: 'postgres', host: '127.0.0.1', port: 5432, username: 'postgres', password: '', database: 'postgres', synchronize: false, logging: false }); try { await dataSource.initialize(); console.log('✅ 数据库连接成功\n'); const tenantId = 1; const orderId = 25; // 飞鹅API配置 const feieConfig = { user: '2638601246@qq.com', ukey: 'tAwVmIEv48zcIu2Y', baseUrl: 'https://api.feieyun.cn/Api/Open/', timeout: 10000, maxRetries: 3 }; console.log('尝试动态导入飞鹅打印模块...'); try { // 动态导入模块 const modulePath = '/mnt/code/186-175-template-22/packages/feie-printer-module-mt'; const { PrintTriggerService } = await import(modulePath); console.log('✅ 飞鹅打印模块导入成功\n'); // 创建PrintTriggerService实例 console.log('创建PrintTriggerService实例...'); const printTriggerService = new PrintTriggerService(dataSource, feieConfig); console.log('✅ PrintTriggerService实例创建成功\n'); // 调用handleOrderPaymentSuccess方法 console.log(`调用handleOrderPaymentSuccess方法,订单ID: ${orderId}...`); await printTriggerService.handleOrderPaymentSuccess(tenantId, orderId); console.log('✅ handleOrderPaymentSuccess方法调用成功\n'); // 检查数据库 console.log('检查数据库中的打印任务...'); const tasks = await dataSource.query( 'SELECT * FROM feie_print_task_mt WHERE tenant_id = $1 AND order_id = $2 ORDER BY created_at DESC', [tenantId, orderId] ); if (tasks.length > 0) { console.log(`✅ 找到 ${tasks.length} 个打印任务:`); tasks.forEach((task, index) => { console.log(`\n任务 ${index + 1}:`); console.log(` 任务ID: ${task.task_id}`); console.log(` 状态: ${task.print_status}`); console.log(` 创建时间: ${task.created_at}`); console.log(` 计划时间: ${task.scheduled_at}`); }); } else { console.log('❌ 没有找到打印任务'); } } catch (importError) { console.error('❌ 导入飞鹅打印模块失败:', importError.message); console.error('错误堆栈:', importError.stack); // 检查是否是模块未找到错误 if (importError.message.includes('Cannot find package') || importError.message.includes('ERR_MODULE_NOT_FOUND') || importError.code === 'MODULE_NOT_FOUND') { console.log('\n⚠️ 飞鹅打印模块可能未正确安装或路径不正确'); console.log('模块路径:', modulePath); // 检查模块是否存在 const fs = require('fs'); if (fs.existsSync(modulePath)) { console.log('✅ 模块目录存在'); const files = fs.readdirSync(modulePath); console.log('目录内容:', files.slice(0, 10)); } else { console.log('❌ 模块目录不存在'); } } } } catch (error) { console.error('测试失败:', error); } finally { try { await dataSource.destroy(); console.log('\n🔌 数据库连接已关闭'); } catch (error) { console.error('关闭数据库连接失败:', error); } } } // 运行测试 testPrintTriggerDirect().catch(error => { console.error('测试脚本执行失败:', error); process.exit(1); });