test-with-valid-token.js 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. // 使用有效token测试API
  2. async function testWithValidToken() {
  3. console.log('=== 使用有效token测试支付成功触发API ===\n');
  4. const apiUrl = 'http://localhost:8080/api/v1/payments/payment/trigger-success';
  5. // 从登录响应中获取的token
  6. const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MywidXNlcm5hbWUiOiJhZG1pbiIsInJvbGVzIjpbXSwidGVuYW50SWQiOjEsImlhdCI6MTc2NTM0NDg1MywiZXhwIjoxNzY1OTQ5NjUzfQ.zNKzBY1PMQd_d-pjtbPuxgfCuRgGVDWdDYjKVvaEa5M';
  7. console.log(`API地址: ${apiUrl}`);
  8. console.log(`测试订单ID: 25`);
  9. console.log(`Token: ${token.substring(0, 50)}...\n`);
  10. try {
  11. const response = await fetch(apiUrl, {
  12. method: 'POST',
  13. headers: {
  14. 'Content-Type': 'application/json',
  15. 'Authorization': `Bearer ${token}`
  16. },
  17. body: JSON.stringify({
  18. orderId: 25
  19. })
  20. });
  21. console.log(`状态码: ${response.status}`);
  22. console.log(`状态文本: ${response.statusText}`);
  23. if (response.ok) {
  24. const result = await response.json();
  25. console.log('\n✅ API调用成功!');
  26. console.log('响应内容:', JSON.stringify(result, null, 2));
  27. // 等待一会儿让后台处理
  28. console.log('\n等待3秒让后台处理打印任务...');
  29. await new Promise(resolve => setTimeout(resolve, 3000));
  30. // 检查数据库
  31. console.log('\n检查数据库中的打印任务...');
  32. const { exec } = require('child_process');
  33. const util = require('util');
  34. const execPromise = util.promisify(exec);
  35. try {
  36. const { stdout } = await execPromise(
  37. 'psql -h 127.0.0.1 -U postgres -d postgres -c "SELECT id, tenant_id, task_id, order_id, print_status, scheduled_at, created_at FROM feie_print_task_mt WHERE order_id = 25 ORDER BY created_at DESC"'
  38. );
  39. console.log('查询结果:');
  40. console.log(stdout);
  41. if (stdout.includes('(0 rows)')) {
  42. console.log('\n❌ 数据库中仍然没有找到订单ID 25的打印任务');
  43. // 检查最新的打印任务
  44. console.log('\n检查最新的打印任务...');
  45. const { stdout: latestTasks } = await execPromise(
  46. 'psql -h 127.0.0.1 -U postgres -d postgres -c "SELECT id, tenant_id, task_id, order_id, print_status, scheduled_at, created_at FROM feie_print_task_mt ORDER BY created_at DESC LIMIT 5"'
  47. );
  48. console.log('最新的5个打印任务:');
  49. console.log(latestTasks);
  50. } else {
  51. console.log('\n✅ 成功创建打印任务!');
  52. // 检查任务详情
  53. console.log('\n检查任务详情...');
  54. const { stdout: taskDetails } = await execPromise(
  55. 'psql -h 127.0.0.1 -U postgres -d postgres -c "SELECT task_id, printer_sn, print_type, retry_count, max_retries, error_message FROM feie_print_task_mt WHERE order_id = 25 ORDER BY created_at DESC LIMIT 1"'
  56. );
  57. console.log('任务详情:');
  58. console.log(taskDetails);
  59. }
  60. } catch (dbError) {
  61. console.error('查询数据库失败:', dbError.message);
  62. }
  63. } else {
  64. const errorText = await response.text();
  65. console.log('\n❌ API调用失败');
  66. console.log('错误响应:', errorText);
  67. }
  68. } catch (error) {
  69. console.error('请求失败:', error.message);
  70. console.error('错误堆栈:', error.stack);
  71. }
  72. }
  73. // 运行测试
  74. testWithValidToken().catch(error => {
  75. console.error('测试脚本执行失败:', error);
  76. process.exit(1);
  77. });