Compare commits

...

2 Commits

Author SHA1 Message Date
adriano 88a71e5758 fix: Saturday message not matching with database enabled/disabled 2024-04-01 17:51:45 -03:00
adriano 4b9dca2401 fix: Bug when send remote message 2024-04-01 17:06:11 -03:00
2 changed files with 38 additions and 28 deletions

View File

@ -75,10 +75,10 @@ import GetProfilePicUrl from "../services/WbotServices/GetProfilePicUrl";
import CreateContactService from "../services/ContactServices/CreateContactService";
import { botSendMessage } from "../services/WbotServices/wbotMessageListener";
import WhatsappQueue from "../models/WhatsappQueue";
import { get } from "../helpers/RedisClient"
import CountStatusChatEndService from "../services/StatusChatEndService/CountStatusChatEndService"
import { get } from "../helpers/RedisClient";
import CountStatusChatEndService from "../services/StatusChatEndService/CountStatusChatEndService";
export const index = async (req: Request, res: Response): Promise<Response> => {
export const index = async (req: Request, res: Response): Promise<Response> => {
const {
pageNumber,
status,
@ -110,8 +110,8 @@ export const index = async (req: Request, res: Response): Promise<Response> => {
withUnreadMessages,
unlimited,
searchParamContent
});
});
return res.status(200).json({ tickets, count, hasMore });
};
@ -141,8 +141,8 @@ export const remoteTicketCreation = async (
const whatsapp = await Whatsapp.findOne({
where: { number: contact_from, status: "CONNECTED" }
});
});
if (whatsapp) {
const { id: whatsappId, number, status } = whatsapp;
@ -213,7 +213,7 @@ export const remoteTicketCreation = async (
undefined,
queueId
);
botSendMessage(ticket, 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]: [

View File

@ -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 };