ajustes slm
							parent
							
								
									baaa1a5db3
								
							
						
					
					
						commit
						95bec1f92e
					
				|  | @ -64,7 +64,7 @@ export const hit = async (req: Request, res: Response): Promise<Response> => { | ||||||
|       return res.status(200).json({ "message": "Ok" }); |       return res.status(200).json({ "message": "Ok" }); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     validNumber = req.body['cod_web']==='0001' ? validNumber : '5517988325936' |     validNumber = req.body['cod_web'] === '0001' ? validNumber : '5517988325936' | ||||||
| 
 | 
 | ||||||
|     let contact = await Contact.findOne({ where: { number: validNumber } }); |     let contact = await Contact.findOne({ where: { number: validNumber } }); | ||||||
|     // let contact = await Contact.findOne({ where: { number: '5517988325936' } });
 |     // let contact = await Contact.findOne({ where: { number: '5517988325936' } });
 | ||||||
|  | @ -87,6 +87,7 @@ export const hit = async (req: Request, res: Response): Promise<Response> => { | ||||||
| 
 | 
 | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     // let response: any = `*Olá!*\r\n\r\n*Esperamos que esteja tudo bem com você. Somos o grupo HIT e estamos aqui para mantê-lo atualizado sobre o chamado referente à unidade 0001 - Hit World Teste. Queremos garantir que você esteja informado sobre o incidente e possa acompanhar tudo de perto.*\r\n\r\nPrezado cliente, se deseja adicionar alguma informação no protocolo 200-322442 digite 2\r\n\r\n\r\n*Protocolo:* 200-322442\r\n*Data de abertura:* 07/07/2023 16:51:29\r\n*Nome do cliente:* Hit World Teste\r\n*Nome da filial:* Hit World Teste\r\n*Código do cliente:* 0001\r\n\r\n*Informação de abertura:* teste de ativação Contato: Felipe Telefone: 11983534545\r\n*Data de abertura:* 07/07/2023 16:51:29\r\n\r\n`
 | ||||||
| 
 | 
 | ||||||
|     let response: any = await hitPortalMonitoring({ |     let response: any = await hitPortalMonitoring({ | ||||||
|       'params[n_chamado_web]': req.body['n_chamado_web'], |       'params[n_chamado_web]': req.body['n_chamado_web'], | ||||||
|  | @ -120,6 +121,8 @@ export const hit = async (req: Request, res: Response): Promise<Response> => { | ||||||
| 
 | 
 | ||||||
|       await sendMessageHitMonitoring(response, ticket); |       await sendMessageHitMonitoring(response, ticket); | ||||||
| 
 | 
 | ||||||
|  |       await sendMessageInsertInfoSLM(req, ticket, ['atdabriu', 'atdatualizou']); | ||||||
|  | 
 | ||||||
|     } |     } | ||||||
|     else if (ticket.id && ticket.userId == botInfo.userIdBot) { |     else if (ticket.id && ticket.userId == botInfo.userIdBot) { | ||||||
| 
 | 
 | ||||||
|  | @ -135,6 +138,8 @@ export const hit = async (req: Request, res: Response): Promise<Response> => { | ||||||
| 
 | 
 | ||||||
|       await sendMessageHitMonitoring(response, ticket); |       await sendMessageHitMonitoring(response, ticket); | ||||||
| 
 | 
 | ||||||
|  |       await sendMessageInsertInfoSLM(req, ticket, ['atdabriu', 'atdatualizou']); | ||||||
|  | 
 | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   else { |   else { | ||||||
|  | @ -146,6 +151,17 @@ export const hit = async (req: Request, res: Response): Promise<Response> => { | ||||||
| 
 | 
 | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | async function sendMessageInsertInfoSLM(req: Request, ticket: any, params: any[]) { | ||||||
|  | 
 | ||||||
|  |   if (params.includes(req.body['action'])) { | ||||||
|  | 
 | ||||||
|  |     await new Promise(f => setTimeout(f, 1000)); | ||||||
|  | 
 | ||||||
|  |     await sendMessageHitMonitoring(`Se deseja adicionar alguma informação ao protocolo acima, digite 2.`, ticket); | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| async function sendMessageHitMonitoring(msg: any, ticket: Ticket) { | async function sendMessageHitMonitoring(msg: any, ticket: Ticket) { | ||||||
| 
 | 
 | ||||||
|   if (msg && msg.length > 0) { |   if (msg && msg.length > 0) { | ||||||
|  |  | ||||||
|  | @ -0,0 +1,26 @@ | ||||||
|  | import Whatsapp from "../models/Whatsapp"; | ||||||
|  | import ShowQueuesByUser from "../services/UserServices/ShowQueuesByUser"; | ||||||
|  | import ShowWhatsAppService from "../services/WhatsappService/ShowWhatsAppService"; | ||||||
|  | 
 | ||||||
|  | async function whatsappQueueMatchingUserQueue(userId: number, whatsapp: Whatsapp, userProfile: string = 'user') { | ||||||
|  | 
 | ||||||
|  |     const userQueues = await ShowQueuesByUser({ profile: userProfile, userId: userId }); | ||||||
|  | 
 | ||||||
|  |     if (!userQueues || userQueues && userQueues.length == 0) return | ||||||
|  | 
 | ||||||
|  |     // console.log('-----> userQueues: ', userQueues);
 | ||||||
|  | 
 | ||||||
|  |     let whats: any = await ShowWhatsAppService(whatsapp.id); | ||||||
|  | 
 | ||||||
|  |     if (!whats.queues || whats.queues && whats.queues.length == 0) return | ||||||
|  | 
 | ||||||
|  |     const whatsappQueues = whats.queues.map((e: any) => e.dataValues.name); | ||||||
|  | 
 | ||||||
|  |     // console.log('-----> whatsappQueues: ', whatsappQueues);
 | ||||||
|  | 
 | ||||||
|  |     const matchingQueue = userQueues.find(queue => whatsappQueues.includes(queue.name)); | ||||||
|  | 
 | ||||||
|  |     return matchingQueue | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export default whatsappQueueMatchingUserQueue | ||||||
|  | @ -14,6 +14,8 @@ import { splitDateTime } from "../../helpers/SplitDateTime"; | ||||||
| import TicketEmiterSumOpenClosedByUser from "../../helpers/OnlineReporEmiterInfoByUser"; | import TicketEmiterSumOpenClosedByUser from "../../helpers/OnlineReporEmiterInfoByUser"; | ||||||
| 
 | 
 | ||||||
| import { createOrUpdateTicketCache } from '../../helpers/TicketCache' | import { createOrUpdateTicketCache } from '../../helpers/TicketCache' | ||||||
|  | import User from "../../models/User"; | ||||||
|  | import whatsappQueueMatchingUserQueue from "../../helpers/whatsappQueueMatchingUserQueue"; | ||||||
| let flatten = require('flat') | let flatten = require('flat') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -33,12 +35,17 @@ const CreateTicketService = async ({ | ||||||
| }: Request): Promise<Ticket> => { | }: Request): Promise<Ticket> => { | ||||||
|   |   | ||||||
| 
 | 
 | ||||||
|   console.log('========> queueId:  ', queueId) |  | ||||||
| 
 |  | ||||||
|   try { |   try { | ||||||
| 
 | 
 | ||||||
|     const defaultWhatsapp = await GetDefaultWhatsApp(userId); |     const defaultWhatsapp = await GetDefaultWhatsApp(userId); | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  |     if (!queueId) { | ||||||
|  |       const user = await User.findByPk(userId, { raw: true, }) | ||||||
|  |       const matchingQueue = await whatsappQueueMatchingUserQueue(userId, defaultWhatsapp, user?.profile); | ||||||
|  |       queueId = matchingQueue ? matchingQueue.queueId : undefined | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     await CheckContactOpenTickets(contactId); |     await CheckContactOpenTickets(contactId); | ||||||
| 
 | 
 | ||||||
|     const { isGroup } = await ShowContactService(contactId); |     const { isGroup } = await ShowContactService(contactId); | ||||||
|  |  | ||||||
|  | @ -401,12 +401,12 @@ async function sendDelayedMessages(wbot: any, ticket: Ticket, contact: Contact, | ||||||
| 
 | 
 | ||||||
|         if (valid && valid.data.result == 'open') { |         if (valid && valid.data.result == 'open') { | ||||||
| 
 | 
 | ||||||
|           botSendMessage(ticket, `Protocolo validado, por favor, pode digitar o texto a ser adicionado no histórico do protocolo *${params[1]}*`) |           botSendMessage(ticket, `✅ Protocolo validado, agora digite a informação que deseja adicionar.`) | ||||||
| 
 | 
 | ||||||
|         } |         } | ||||||
|         else if (valid && valid.data.result == 'notfound') { |         else if (valid && valid.data.result == 'notfound') { | ||||||
| 
 | 
 | ||||||
|           botSendMessage(ticket, `Protocolo *${params[1]}* não encontrado!\n_Digite *0* para falar com a HIT._`) |           botSendMessage(ticket, `Protocolo *${params[1]}* não encontrado!`) | ||||||
| 
 | 
 | ||||||
|         } |         } | ||||||
|         else if (valid && valid.data.result == 'close') { |         else if (valid && valid.data.result == 'close') { | ||||||
|  | @ -754,7 +754,7 @@ const transferTicket = async (queueIndex: number, wbot: any, ticket: Ticket) => | ||||||
| const botMsgActions = (params: string) => { | const botMsgActions = (params: string) => { | ||||||
| 
 | 
 | ||||||
|   let lstActions = params.split('dialog_actions=') |   let lstActions = params.split('dialog_actions=') | ||||||
|   let bodyMsg = lstActions[0] |   let bodyMsg = lstActions[0].trim() | ||||||
|   let obj = {} |   let obj = {} | ||||||
| 
 | 
 | ||||||
|   console.log('lstActions: ', lstActions[1].split('=')) |   console.log('lstActions: ', lstActions[1].split('=')) | ||||||
|  | @ -1109,11 +1109,8 @@ const handleMessage = async ( | ||||||
| 
 | 
 | ||||||
|         if (last_messages.length > 0 && last_messages[0].body.includes('validado') && msg.body.trim() != '0') { |         if (last_messages.length > 0 && last_messages[0].body.includes('validado') && msg.body.trim() != '0') { | ||||||
| 
 | 
 | ||||||
|           // botSendMessage(ticket,`Aguarde, inserindo informação...\n_Digite *0* para falar com a HIT._`)
 |  | ||||||
| 
 |  | ||||||
|           await SendWhatsAppMessage({ body: `Aguarde inserindo informação, em breve te atualizaremos`, ticket }) |           await SendWhatsAppMessage({ body: `Aguarde inserindo informação, em breve te atualizaremos`, ticket }) | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|           let aux_msg = last_messages[0].body |           let aux_msg = last_messages[0].body | ||||||
| 
 | 
 | ||||||
|           aux_msg = aux_msg.split('\n')[0] |           aux_msg = aux_msg.split('\n')[0] | ||||||
|  | @ -1139,12 +1136,13 @@ const handleMessage = async ( | ||||||
| 
 | 
 | ||||||
|           if (response && response.data.result) { |           if (response && response.data.result) { | ||||||
| 
 | 
 | ||||||
|             botSendMessage(ticket, `${response.data.result}`) |             // botSendMessage(ticket, `${response.data.result}`)
 | ||||||
|  |             botSendMessage(ticket, `✅ A informação foi adicionada com sucesso e será armazenada no histórico do protocolo.`) | ||||||
| 
 | 
 | ||||||
|           } |           } | ||||||
|           else { |           else { | ||||||
| 
 | 
 | ||||||
|             botSendMessage(ticket, `Ops! Houve um erro ao tentar inserir sua informação devido a um erro na comunicação com o servidor.Tente novamente mais tarde.\n_Digite *0* para falar com a HIT._`) |             botSendMessage(ticket, `Ops! Houve um erro ao tentar inserir sua informação devido a um erro na comunicação com o servidor.Tente novamente mais tarde.`) | ||||||
| 
 | 
 | ||||||
|           } |           } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue