From 43be3ec920353238f1702d908b14d24ad6ac3b5b Mon Sep 17 00:00:00 2001 From: SwTt29 <2055018491@qq.com> Date: Thu, 18 Dec 2025 14:32:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=BF=9E=E6=8E=A5=E5=A4=84?= =?UTF-8?q?=E7=90=86=E5=92=8C=E4=BA=A7=E5=93=81=E6=95=B0=E6=8D=AE=E5=A4=84?= =?UTF-8?q?=E7=90=86=E7=9A=84=E7=A9=BA=E6=8C=87=E9=92=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/jiandaoyunService.js | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/services/jiandaoyunService.js b/src/services/jiandaoyunService.js index c8d9793..836dddc 100644 --- a/src/services/jiandaoyunService.js +++ b/src/services/jiandaoyunService.js @@ -82,7 +82,7 @@ class JiandaoyunService { const products = databaseData.products; console.log('产品数据:', JSON.stringify(products, null, 2)); - if (products.length > 0) { + if (products && products.length > 0) { const firstProduct = products[0]; jiandaoyunData[mapping.productName] = { value: firstProduct.productName || '' }; jiandaoyunData[mapping.specification] = { value: firstProduct.specification || '' }; @@ -152,6 +152,20 @@ class JiandaoyunService { async batchSubmitData(dataList, connection) { const results = []; + // 尝试从databaseService获取连接,如果参数中没有提供 + let dbConnection = connection; + if (!dbConnection) { + try { + const databaseService = require('./databaseService'); + if (databaseService.connection) { + dbConnection = databaseService.connection; + console.log('从databaseService获取数据库连接成功'); + } + } catch (error) { + console.log('无法从databaseService获取连接:', error.message); + } + } + for (const item of dataList) { try { // 检查数据库中是否已有简道云记录ID @@ -171,10 +185,10 @@ class JiandaoyunService { const result = await this.updateDataInForm(recordId, jiandaoyunData); // 更新数据库中的同步状态 - if (connection && item.user && item.user.userId) { + if (dbConnection && item.user && item.user.userId) { try { console.log(`更新用户 ${item.user.userId} 的同步状态`); - const [updateResult] = await connection.execute( + const [updateResult] = await dbConnection.execute( `UPDATE ${config.tables.users.name} SET ${config.sync.statusField} = ${config.sync.syncedValue}, ${config.sync.timeField} = NOW() WHERE userId = ?`, [item.user.userId] ); @@ -213,10 +227,10 @@ class JiandaoyunService { const newRecordId = result.data._id; console.log(`获取到简道云记录ID: ${newRecordId}`); - if (connection && item.user && item.user.userId) { + if (dbConnection && item.user && item.user.userId) { try { console.log(`准备更新用户 ${item.user.userId} 的jiandaoyun_record_id为 ${newRecordId} 并设置同步状态`); - const [updateResult] = await connection.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 = ?`, [newRecordId, item.user.userId] ); @@ -233,7 +247,7 @@ class JiandaoyunService { } } else { console.log(`⚠️ 无法更新数据库: 缺少connection或item.user.userId`); - console.log(`connection存在: ${!!connection}`); + console.log(`connection存在: ${!!dbConnection}`); console.log(`item.user存在: ${!!item.user}`); console.log(`item.user.userId存在: ${item.user ? !!item.user.userId : 'N/A'}`); }