|
|
|
@ -209,6 +209,7 @@ const setupMessageHandler = async () => {
|
|
|
|
|
const pusher = { customerProfile_id: waiMessage.customerProfile?.id || '', customerProfile_name: waiMessage.customerProfile?.name || '' };
|
|
|
|
|
const record = objectMapper(waiMessage, { from: 'from', to: 'to', status: 'msg_status', type: 'msgtype' }, false);
|
|
|
|
|
const waiContentFieldsToDB = messageData.type ? waiContentToDB(messageData) : {};
|
|
|
|
|
// 是否空数据. 存储有数据的事件原文
|
|
|
|
|
const upsertMsgOrigin = !isEmpty(omitEmpty(waiContentFieldsToDB)) || isEmpty(savedMsg);
|
|
|
|
|
const msgOrigin = upsertMsgOrigin ? { message_origin: JSON.stringify(messageData) } : {};
|
|
|
|
|
if (isEmpty(savedMsg.IVADS_link) && ['image', 'sticker', 'audio', 'video', 'document'].includes(messageData.type)) {
|
|
|
|
@ -223,8 +224,10 @@ const setupMessageHandler = async () => {
|
|
|
|
|
|
|
|
|
|
const readyUpsert = omitEmpty({ ...timeFields, ...pusher, ...waiContentFieldsToDB, ...record });
|
|
|
|
|
const msgRow = await upsertOutboundMessage({ ...upsertFields, ...readyUpsert, ...typeField, ...msgOrigin }, targetUpsert);
|
|
|
|
|
// 把内容加上, 否则前端没显示
|
|
|
|
|
await callWebhook(webhookBodyFill(webhookBody, { ...msgRow, status: msgRow.msg_status }));
|
|
|
|
|
if (_type !== 'unresolvable') {
|
|
|
|
|
// 把内容加上, 否则前端没显示
|
|
|
|
|
await callWebhook(webhookBodyFill(webhookBody, { ...msgRow, status: msgRow.msg_status }));
|
|
|
|
|
}
|
|
|
|
|
} catch (error) {
|
|
|
|
|
logger.error({ messageData, error }, 'error call webhook');
|
|
|
|
|
}
|
|
|
|
|