From 0bf953ab3afb9ac78b2c3c6bc934960e3a531ed8 Mon Sep 17 00:00:00 2001 From: Lei OT Date: Fri, 27 Dec 2024 16:58:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=B6=88=E6=81=AF,=20webhook?= =?UTF-8?q?=20=E9=9C=80=E8=A6=81actionId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wai-server/core/handler/whatsappHandler.js | 10 ++++------ wai-server/services/outbound_messages.service.js | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/wai-server/core/handler/whatsappHandler.js b/wai-server/core/handler/whatsappHandler.js index ea6c209..338f2b5 100644 --- a/wai-server/core/handler/whatsappHandler.js +++ b/wai-server/core/handler/whatsappHandler.js @@ -106,22 +106,20 @@ const setupMessageHandler = () => { try { const now = new Date(new Date().getTime() + 60 * 60 * 1000).toISOString(); - const m = await getOutboundMessage({ id: messageData.id }); - const bixFields = pick(m, ['actionId', 'externalId', 'message_origin']); + const savedMsg = await getOutboundMessage({ id: messageData.id }); + const bixFields = pick(m, ['actionId', 'externalId']); logger.info('message evt NOT pending \n', m, bixFields); - const webhookBody = webhookBodyBuilder({ ...messageData, ...bixFields, savedMsg: m }, eventName); + const webhookBody = webhookBodyBuilder({ ...messageData, ...bixFields }, eventName); const { waiMessage } = webhookBody; const timeFields = pick(waiMessage, [...Object.values(timeField), 'createTime', 'updateTime']); - // timeFields.msgtime = m?.msgtime || now; - // timeFields.createTime = messageData?.createTime || m?.createTime || now; const upsertFields = pick(waiMessage, ['direction', 'wamid', 'id', 'status']); upsertFields.evt_id = webhookBody.id; const pusher = { customerProfile_id: waiMessage.customerProfile?.id || '', customerProfile_name: waiMessage.customerProfile?.name || '' }; const record = objectMapper(waiMessage, { from: 'froms', to: 'tos', status: 'msg_status', type: 'msgtype' }, false); const contentFields = waiMessage.type === 'text' ? { text_body: waiMessage.text.body } : {}; - await upsertOutboundMessage(m.sn || null, { ...timeFields, ...upsertFields, ...pusher, ...contentFields, ...record, message_origin: bixFields?.message_origin || JSON.stringify(messageData) }); + await upsertOutboundMessage(m.sn || null, { ...timeFields, ...upsertFields, ...pusher, ...contentFields, ...record, message_origin: savedMsg?.message_origin || JSON.stringify(messageData) }); // console.log('upsert=========================', upsert); await callWebhook(webhookBody); } catch (error) { diff --git a/wai-server/services/outbound_messages.service.js b/wai-server/services/outbound_messages.service.js index 923576f..d49d2bb 100644 --- a/wai-server/services/outbound_messages.service.js +++ b/wai-server/services/outbound_messages.service.js @@ -14,7 +14,7 @@ const getOutboundMessage = async msg => { const r = await OutboundModelModel.findOne({ where: msg, }); - return r || {}; + return r?.toJSON() || {}; }; /**