From 6f9639d4e94537ade824ea89323ad9b318c98987 Mon Sep 17 00:00:00 2001 From: adriano Date: Thu, 27 Jul 2023 11:09:03 -0300 Subject: [PATCH] =?UTF-8?q?ajustes=20slm=20para=20subop=C3=A7=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WbotServices/wbotMessageListener.ts | 57 +++++++++++++++---- 1 file changed, 47 insertions(+), 10 deletions(-) diff --git a/backend/src/services/WbotServices/wbotMessageListener.ts b/backend/src/services/WbotServices/wbotMessageListener.ts index 3aa7545..f1dd624 100644 --- a/backend/src/services/WbotServices/wbotMessageListener.ts +++ b/backend/src/services/WbotServices/wbotMessageListener.ts @@ -383,9 +383,11 @@ async function sendDelayedMessages( let response: any = ""; if (params[0] === "validate_n_chamado_web") { + const n_chamado_web: any = extractNumbersAndBar(params[1]); + await FindOrCreateQueryItemService({ contactId: contact.id, - queryItem: params[1].trim(), + queryItem: n_chamado_web, name: "n_chamado_web" }); @@ -407,7 +409,7 @@ async function sendDelayedMessages( } else if (valid && valid.data.result == "close") { botSendMessage( ticket, - `O protocolo *${params[1]}* foi encerrado. Não é mais possível adicionar informação. Se desejar consultar o historico digite *1*` + `O Protocolo *${params[1]}* foi encerrado. Sendo necessário algum tipo de interação, digite *0* e na sequencia fale com o nosso time de suporte técnico na opção *4*.` ); // @@ -426,7 +428,7 @@ async function sendDelayedMessages( "http://177.107.192.247:8095/labs/monitoramentohit/api/api.php", "post", { - "params[cod_web]": params[1], + "params[cod_web]": extractNumbersAndBar(params[1]), method: "omnihit.consultachamado" } ); @@ -435,7 +437,7 @@ async function sendDelayedMessages( "http://177.107.192.247:8095/labs/monitoramentohit/api/api.php", "post", { - "params[n_chamado_web]": params[1], + "params[n_chamado_web]": extractNumbersAndBar(params[1]), method: "omnihit.consultachamado" } ); @@ -471,10 +473,15 @@ async function sendDelayedMessages( }); } else if (valid && valid.data.result == "notfound") { } else if (valid && valid.data.result == "close") { - await new Promise(f => setTimeout(f, 1000)); + FindOrCreateQueryItemService({ + contactId: contact.id, + name: "go_to_suboption", + status: true + }); + await new Promise(f => setTimeout(f, 1000)); await SendWhatsAppMessage({ - body: `O Protocolo *${params[1]}* foi encerrado. Sendo necessário algum tipo de interação, digite *0* e na sequencia fale com o nosso time de suporte técnico na opção *4*.`, + body: `O protocolo *${params[1]}* foi encerrado. Não é mais possível adicionar informação. Se desejar consultar o historico digite *1*`, ticket }); } @@ -545,7 +552,7 @@ async function sendDelayedMessages( "http://177.107.192.247:8095/labs/monitoramentohit/api/api.php", "post", { - "params[n_chamado_web]": params, + "params[n_chamado_web]": extractNumbersAndBar(params), method: "omnihit.consultachamadostatus" } ); @@ -1097,9 +1104,10 @@ const handleMessage = async (msg: any, wbot: any): Promise => { name: "insert_protocol_info" }); - // let last_messages = await ShowTicketMessage(ticket.id, 2, true) - - // if (last_messages.length > 0 && last_messages[0].body.includes('validado') && msg.body.trim() != '0') { + const _item2 = await ShowQueryItemService({ + contactId: contact.id, + name: "go_to_suboption" + }); if (_item && _item?.status && msg.body.trim() != "0") { _item.update({ status: false }); @@ -1141,8 +1149,31 @@ const handleMessage = async (msg: any, wbot: any): Promise => { `Ops! Houve um erro ao tentar inserir sua informação devido a um erro na comunicação com o servidor.Tente novamente mais tarde.` ); } + } else if ( + _item2 && + _item2?.status && + msg.body.trim() != "0" && + msg.body.trim() == "1" + ) { + let _msg: any = { + type: "chat", + from: `${contact.number}@c.us`, + body: "1" + }; + + // opção 1 ura que aprensenta 2 suburas + await sendDialogflowAwswer(wbot, ticket, _msg, contact, false); + + // opção 1 da subura da opçao 1 + await sendDialogflowAwswer(wbot, ticket, msg, contact); + + _item2.update({ status: false }); } else { await sendDialogflowAwswer(wbot, ticket, msg, contact); + + if (_item2 && _item2.status) { + _item2.update({ status: false }); + } } } } else if ( @@ -1238,3 +1269,9 @@ export { verifyContact, sendDialogflowAwswer }; +function extractNumbersAndBar(params: string) { + const aux = params.trim(); + const regex = /[\d-]+/g; + const n_chamado_web: any = aux.match(regex); + return n_chamado_web[0]; +}