// 测试单个用户数据同步 const mysql = require('mysql2/promise'); const config = require('./src/config/config'); const jiandaoyunService = require('./src/services/jiandaoyunService'); async function testSingleUserSync() { console.log('===== 测试单个用户数据同步 ====='); try { // 连接数据库 const connection = await mysql.createConnection(config.db); // 查询指定用户数据 const [users] = await connection.execute( `SELECT DISTINCT ${config.tables.users.fields.userId}, ${config.tables.users.fields.nickName}, ${config.tables.users.fields.phoneNumber}, ${config.tables.users.fields.company}, ${config.tables.users.fields.level}, ${config.tables.users.fields.demand}, ${config.tables.users.fields.region}, ${config.tables.users.fields.detailedaddress}, ${config.tables.users.fields.type}, dataid FROM ${config.tables.users.name} WHERE ${config.tables.users.fields.userId} = ?`, ['user_1768360161521_zz8rtwtip'] ); if (users.length === 0) { console.log('未找到指定用户数据'); return; } const user = users[0]; console.log('用户数据:', JSON.stringify(user, null, 2)); // 查询负责人信息 const [userManagements] = await connection.execute( `SELECT ${config.tables.userManagements.fields.userName} FROM ${config.tables.userManagements.name} WHERE ${config.tables.userManagements.fields.userId} = ?`, [user.userId] ); const syncData = [{ user: user, userManagement: userManagements[0] || {}, userId: user.userId }]; // 转换数据格式 const transformedData = jiandaoyunService.transformDataToJiandaoyunFormat(syncData[0]); console.log('转换后的数据:', JSON.stringify(transformedData, null, 2)); // 检查地址字段是否正确包含在子表中 const subTableData = transformedData[config.subTableFields.subTable].value; console.log('子表数据:', JSON.stringify(subTableData, null, 2)); // 执行同步 const results = await jiandaoyunService.batchSubmitData(syncData, connection); console.log('同步结果:', JSON.stringify(results, null, 2)); await connection.end(); console.log('测试完成'); } catch (error) { console.error('测试过程中发生错误:', error.message); console.error('错误堆栈:', error.stack); } } testSingleUserSync();