refactor: otimização do codigo que trata o expediente de atendimento
parent
c57811c9f6
commit
fd5d9829e4
|
@ -290,6 +290,15 @@ const verifyQueue = async (
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
|
||||||
|
const outService = await outOfService();
|
||||||
|
|
||||||
|
if (outService.length > 0) {
|
||||||
|
const { type, msg: msgOutService } = outService[0];
|
||||||
|
console.log(`${type} message ignored on queue`);
|
||||||
|
botSendMessage(ticket, msgOutService);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let body = "";
|
let body = "";
|
||||||
|
|
||||||
if (botOptions.length > 0) {
|
if (botOptions.length > 0) {
|
||||||
|
@ -439,26 +448,26 @@ const _clear_lst = () => {
|
||||||
|
|
||||||
const handleMessage = async (msg: any, wbot: any): Promise<void> => {
|
const handleMessage = async (msg: any, wbot: any): Promise<void> => {
|
||||||
// if (!msg.fromMe) {
|
// if (!msg.fromMe) {
|
||||||
_clear_lst();
|
_clear_lst();
|
||||||
|
|
||||||
let index = lst.findIndex((x: any) => x.id == msg.id.id);
|
let index = lst.findIndex((x: any) => x.id == msg.id.id);
|
||||||
|
|
||||||
console.log("INDEX: ", index);
|
console.log("INDEX: ", index);
|
||||||
|
|
||||||
if (index == -1) {
|
if (index == -1) {
|
||||||
// console.log('-----------------> LST: ', lst):q
|
// console.log('-----------------> LST: ', lst):q
|
||||||
|
|
||||||
lst.push({ id: msg.id.id });
|
lst.push({ id: msg.id.id });
|
||||||
|
|
||||||
setWhatsappId(msg.id.id);
|
setWhatsappId(msg.id.id);
|
||||||
} else {
|
} else {
|
||||||
console.log("IGNORED ID: ", msg.id.id);
|
console.log("IGNORED ID: ", msg.id.id);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// console.log('LIST OF ID MESSAGE lst: ', lst)
|
||||||
|
|
||||||
// console.log('LIST OF ID MESSAGE lst: ', lst)
|
|
||||||
|
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if (!isValidMsg(msg)) {
|
if (!isValidMsg(msg)) {
|
||||||
|
@ -628,43 +637,18 @@ const handleMessage = async (msg: any, wbot: any): Promise<void> => {
|
||||||
ticketHasQueue = true;
|
ticketHasQueue = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ticketHasQueue) {
|
if (ticketHasQueue && ticket.status != "open") {
|
||||||
// MESSAGE TO HOLIDAY
|
const outService = await outOfService();
|
||||||
const holiday: any = await isHoliday();
|
|
||||||
|
|
||||||
if (holiday && holiday.set) {
|
if (outService.length > 0) {
|
||||||
if (msg.fromMe && holiday.msg == msg.body) {
|
const { type, msg: msgOutService } = outService[0];
|
||||||
console.log("HOLIDAY MESSAGE IGNORED");
|
|
||||||
|
if (msg.fromMe && msgOutService == msg.body) {
|
||||||
|
console.log(`${type} message ignored`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
botSendMessage(ticket, holiday.msg);
|
botSendMessage(ticket, msgOutService);
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// MESSAGES TO SATURDAY OR SUNDAY
|
|
||||||
const weekend: any = await isWeekend();
|
|
||||||
|
|
||||||
if (weekend && weekend.set) {
|
|
||||||
if (msg.fromMe && weekend.msg == msg.body) {
|
|
||||||
console.log("WEEKEND MESSAGE IGNORED");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
botSendMessage(ticket, weekend.msg);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// MESSAGE TO BUSINESS TIME
|
|
||||||
const businessTime = await isOutBusinessTime();
|
|
||||||
|
|
||||||
if (businessTime && businessTime.set) {
|
|
||||||
if (msg.fromMe && businessTime.msg == msg.body) {
|
|
||||||
console.log("BUSINESS TIME MESSAGE IGNORED");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
botSendMessage(ticket, businessTime.msg);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -723,4 +707,31 @@ const wbotMessageListener = (wbot: Session): void => {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const outOfService = async () => {
|
||||||
|
// MESSAGE TO HOLIDAY
|
||||||
|
const holiday: any = await isHoliday();
|
||||||
|
|
||||||
|
let objs: any = [];
|
||||||
|
|
||||||
|
if (holiday && holiday.set) {
|
||||||
|
objs.push({ type: "holiday", msg: holiday.msg });
|
||||||
|
}
|
||||||
|
|
||||||
|
// MESSAGES TO SATURDAY OR SUNDAY
|
||||||
|
const weekend: any = await isWeekend();
|
||||||
|
|
||||||
|
if (weekend && weekend.set) {
|
||||||
|
objs.push({ type: "weekend", msg: weekend.msg });
|
||||||
|
}
|
||||||
|
|
||||||
|
// MESSAGE TO BUSINESS TIME
|
||||||
|
const businessTime = await isOutBusinessTime();
|
||||||
|
|
||||||
|
if (businessTime && businessTime.set) {
|
||||||
|
objs.push({ type: "businessTime", msg: businessTime.msg });
|
||||||
|
}
|
||||||
|
|
||||||
|
return objs;
|
||||||
|
};
|
||||||
|
|
||||||
export { wbotMessageListener, handleMessage, handleMsgAck, lst };
|
export { wbotMessageListener, handleMessage, handleMsgAck, lst };
|
||||||
|
|
Loading…
Reference in New Issue