Browse Source

修改字段名:jiandaoyun_record_id 改为 dataid

Integration
Trae AI 2 months ago
parent
commit
c17d882e61
  1. 6
      check-specific-user.js
  2. 8
      src/services/databaseService.js
  3. 12
      src/services/jiandaoyunService.js

6
check-specific-user.js

@ -26,7 +26,7 @@ async function checkSpecificUser() {
console.log(`\n2. 查询用户 ${targetUserId} 的详细信息...`); console.log(`\n2. 查询用户 ${targetUserId} 的详细信息...`);
const checkSql = ` const checkSql = `
SELECT userId, phoneNumber, nickName, type, authorized_region, sync_status, SELECT userId, phoneNumber, nickName, type, authorized_region, sync_status,
last_sync_time, jiandaoyun_record_id, jiandao_record_id last_sync_time, dataid, jiandao_record_id
FROM ${config.tables.users.name} FROM ${config.tables.users.name}
WHERE userId = ? WHERE userId = ?
`; `;
@ -43,10 +43,10 @@ async function checkSpecificUser() {
// 3. 检查是否有该用户的同步记录 // 3. 检查是否有该用户的同步记录
console.log(`\n3. 检查用户 ${targetUserId} 是否在同步队列中...`); console.log(`\n3. 检查用户 ${targetUserId} 是否在同步队列中...`);
const syncSql = ` const syncSql = `
SELECT userId, phoneNumber, sync_status, jiandaoyun_record_id SELECT userId, phoneNumber, sync_status, dataid
FROM ${config.tables.users.name} FROM ${config.tables.users.name}
WHERE (sync_status = 0 OR sync_status IS NULL) WHERE (sync_status = 0 OR sync_status IS NULL)
AND (jiandaoyun_record_id IS NULL OR jiandaoyun_record_id = '') AND (dataid IS NULL OR dataid = '')
LIMIT 10 LIMIT 10
`; `;
const [syncRows] = await connection.execute(syncSql); const [syncRows] = await connection.execute(syncSql);

8
src/services/databaseService.js

@ -43,7 +43,7 @@ class DatabaseService {
${config.tables.users.fields.type}, ${config.tables.users.fields.type},
${config.tables.users.fields.authorizedRegion}, ${config.tables.users.fields.authorizedRegion},
${config.tables.users.fields.nickName}, ${config.tables.users.fields.nickName},
jiandaoyun_record_id dataid
FROM ${config.tables.users.name}`; FROM ${config.tables.users.name}`;
// 如果是增量同步,查询未同步的数据以及有收藏产品的用户 // 如果是增量同步,查询未同步的数据以及有收藏产品的用户
@ -69,7 +69,7 @@ class DatabaseService {
for (const user of users) { for (const user of users) {
const userId = user[config.tables.users.fields.userId]; const userId = user[config.tables.users.fields.userId];
const phoneNumber = user[config.tables.users.fields.phoneNumber]; const phoneNumber = user[config.tables.users.fields.phoneNumber];
const jiandaoyunRecordId = user.jiandaoyun_record_id; const jiandaoyunRecordId = user.dataid;
// 手动映射字段名,确保数据库的authorized_region正确映射到user.authorizedRegion // 手动映射字段名,确保数据库的authorized_region正确映射到user.authorizedRegion
// 这是因为数据库查询结果中的字段名保持原始的蛇形命名,而转换方法使用驼峰命名 // 这是因为数据库查询结果中的字段名保持原始的蛇形命名,而转换方法使用驼峰命名
@ -122,12 +122,12 @@ class DatabaseService {
console.log(`用户 ${userId} 有收藏商品,同步状态已重置为未同步`); console.log(`用户 ${userId} 有收藏商品,同步状态已重置为未同步`);
} }
// 确保user对象始终包含jiandaoyun_record_id字段 // 确保user对象始终包含dataid字段
// 即使该字段的值为null // 即使该字段的值为null
const userWithRecordId = { const userWithRecordId = {
...user, ...user,
// 直接使用之前获取的jiandaoyunRecordId变量,确保字段存在 // 直接使用之前获取的jiandaoyunRecordId变量,确保字段存在
jiandaoyun_record_id: jiandaoyunRecordId dataid: jiandaoyunRecordId
}; };
syncData.push({ syncData.push({

12
src/services/jiandaoyunService.js

@ -170,8 +170,8 @@ class JiandaoyunService {
try { try {
// 检查数据库中是否已有简道云记录ID // 检查数据库中是否已有简道云记录ID
let recordId = null; let recordId = null;
if (item.user && 'jiandaoyun_record_id' in item.user) { if (item.user && 'dataid' in item.user) {
recordId = item.user.jiandaoyun_record_id; recordId = item.user.dataid;
console.log(`从数据库获取到简道云记录ID: ${recordId}`); console.log(`从数据库获取到简道云记录ID: ${recordId}`);
} }
@ -229,9 +229,9 @@ class JiandaoyunService {
if (dbConnection && item.user && item.user.userId) { if (dbConnection && item.user && item.user.userId) {
try { try {
console.log(`准备更新用户 ${item.user.userId}jiandaoyun_record_id为 ${newRecordId} 并设置同步状态`); console.log(`准备更新用户 ${item.user.userId}dataid为 ${newRecordId} 并设置同步状态`);
const [updateResult] = await dbConnection.execute( const [updateResult] = await dbConnection.execute(
`UPDATE ${config.tables.users.name} SET jiandaoyun_record_id = ?, ${config.sync.statusField} = ${config.sync.syncedValue}, ${config.sync.timeField} = NOW() WHERE userId = ?`, `UPDATE ${config.tables.users.name} SET dataid = ?, ${config.sync.statusField} = ${config.sync.syncedValue}, ${config.sync.timeField} = NOW() WHERE userId = ?`,
[newRecordId, item.user.userId] [newRecordId, item.user.userId]
); );
@ -239,10 +239,10 @@ class JiandaoyunService {
if (updateResult.affectedRows > 0) { if (updateResult.affectedRows > 0) {
console.log(`✅ 成功将简道云记录ID ${newRecordId} 保存到数据库并更新同步状态`); console.log(`✅ 成功将简道云记录ID ${newRecordId} 保存到数据库并更新同步状态`);
} else { } else {
console.log(`⚠️ 更新用户 ${item.user.userId}jiandaoyun_record_id和同步状态失败: 未找到匹配的用户`); console.log(`⚠️ 更新用户 ${item.user.userId}dataid和同步状态失败: 未找到匹配的用户`);
} }
} catch (updateError) { } catch (updateError) {
console.error(`❌ 更新数据库jiandaoyun_record_id和同步状态时发生错误:`, updateError.message); console.error(`❌ 更新数据库dataid和同步状态时发生错误:`, updateError.message);
console.error(`错误堆栈:`, updateError.stack); console.error(`错误堆栈:`, updateError.stack);
} }
} else { } else {

Loading…
Cancel
Save