5 changed files with 134 additions and 7 deletions
@ -0,0 +1,72 @@ |
|||||
|
// 测试单个用户数据同步
|
||||
|
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(); |
||||
Loading…
Reference in new issue