You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.5 KiB
73 lines
2.5 KiB
|
2 months ago
|
// 测试单个用户数据同步
|
||
|
|
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();
|