diff --git a/backend/src/controllers/TicketController.ts b/backend/src/controllers/TicketController.ts index 7b8aefb..1ad1bda 100644 --- a/backend/src/controllers/TicketController.ts +++ b/backend/src/controllers/TicketController.ts @@ -141,15 +141,15 @@ export const remoteTicketCreation = async ( const whatsapp = await Whatsapp.findOne({ where: { number: contact_from, status: "CONNECTED" } - }); - + }); + if (whatsapp) { const { id: whatsappId, number, status } = whatsapp; const queue: any = await WhatsappQueue.findOne({ where: { whatsappId }, attributes: ["queueId"] - }); + }); const { queueId } = queue; @@ -213,7 +213,7 @@ export const remoteTicketCreation = async ( undefined, queueId ); - botSendMessage(ticket, `\u200e${msg}`); + botSendMessage(ticket, `${msg}`); } const io = getIO(); @@ -408,7 +408,6 @@ export const update = async ( for (const w of whatsappsByqueue) { let whats = await ListWhatsAppsNumber(w.id); - console.log("-------> WHATS: ", JSON.stringify(whats, null, 6)); const ticket = await Ticket.findOne({ where: { [Op.and]: [ diff --git a/backend/src/helpers/TicketConfig.ts b/backend/src/helpers/TicketConfig.ts index 7a98f40..fe29a61 100644 --- a/backend/src/helpers/TicketConfig.ts +++ b/backend/src/helpers/TicketConfig.ts @@ -62,21 +62,8 @@ const isWeekend = async (number: string | number) => { weekend.value == "enabled" && weekend.message?.trim()?.length > 0 ) { - // Specify your desired timezone - const brazilTimeZone = "America/Sao_Paulo"; - - const currentDateUtc = new Date(); - - // Convert UTC date to Brazil time zone - const currentDate = utcToZonedTime(currentDateUtc, brazilTimeZone); - - // Format the date using the desired format - const formattedDate = _format(currentDate, "yyyy-MM-dd HH:mm:ssXXX"); - - const parsedDate = parseISO(formattedDate); - // Convert parsed date to Brazil time zone - const localDate = utcToZonedTime(parsedDate, brazilTimeZone); + const localDate = localDateConvert(); // Check if it's Saturday or Sunday if (isSaturday(localDate)) { @@ -176,6 +163,14 @@ async function isOutBusinessTime(number: string | number) { async function isOutBusinessTimeSaturday(number: string | number) { let obj = { set: false, msg: "" }; + // Convert parsed date to Brazil time zone + const localDate = localDateConvert(); + + // Check if it's Saturday or Sunday + if (!isSaturday(localDate)) { + return obj; + } + const outBusinessHoursSaturday = await SettingTicket.findOne({ where: { key: "saturdayBusinessTime", number } }); @@ -183,11 +178,9 @@ async function isOutBusinessTimeSaturday(number: string | number) { let isWithinRange = false; if ( - true && - outBusinessHoursSaturday - // outBusinessHoursSaturday && - // outBusinessHoursSaturday.value == "enabled" && - // outBusinessHoursSaturday?.message?.trim()?.length > 0 + outBusinessHoursSaturday && + outBusinessHoursSaturday.value == "enabled" && + outBusinessHoursSaturday?.message?.trim()?.length > 0 ) { const ticketDateTimeUpdate = splitDateTime( new Date( @@ -249,4 +242,22 @@ async function isOutBusinessTimeSaturday(number: string | number) { return obj; } +function localDateConvert() { + const brazilTimeZone = "America/Sao_Paulo"; + + const currentDateUtc = new Date(); + + // Convert UTC date to Brazil time zone + const currentDate = utcToZonedTime(currentDateUtc, brazilTimeZone); + + // Format the date using the desired format + const formattedDate = _format(currentDate, "yyyy-MM-dd HH:mm:ssXXX"); + + const parsedDate = parseISO(formattedDate); + + // Convert parsed date to Brazil time zone + const localDate = utcToZonedTime(parsedDate, brazilTimeZone); + return localDate; +} + export { isWeekend, isHoliday, isOutBusinessTime, isOutBusinessTimeSaturday };