diff --git a/db/notification_error.db.js b/db/notification_error.db.js index a042dcb..358c71e 100644 --- a/db/notification_error.db.js +++ b/db/notification_error.db.js @@ -96,8 +96,8 @@ const getAllNotificationDb = async (searchParams = {}) => { ], queryParams ); - - queryParams = whereParamAnd ? whereParamAnd : queryParams; + + queryParams = whereParamAnd ? whereParamAnd : queryParams; const queryText = ` SELECT @@ -131,17 +131,17 @@ const getAllNotificationDb = async (searchParams = {}) => { FROM notification_error a - LEFT JOIN brand_code b - ON a.error_code_id = b.error_code_id AND b.deleted_at IS NULL - - LEFT JOIN brand_code_solution c - ON b.error_code_id = c.error_code_id AND c.deleted_at IS NULL - LEFT JOIN m_device d ON a.error_chanel = d.listen_channel AND d.deleted_at IS NULL + LEFT JOIN brand_code b + ON a.error_code_id = b.error_code AND b.deleted_at IS NULL AND d.brand_id = b.brand_id + + LEFT JOIN brand_code_solution c + ON b.error_code_id = c.error_code_id AND c.deleted_at IS NULL + LEFT JOIN m_brands e - ON d.brand_id = e.brand_id AND d.deleted_at IS NULL + ON d.brand_id = e.brand_id AND e.deleted_at IS NULL WHERE a.deleted_at IS NULL ${whereConditions.length > 0 ? ` AND ${whereConditions.join(" AND ")}` : ""} @@ -173,7 +173,7 @@ const updateNotificationErrorDb = async (id, data) => { ); await pool.query(`${queryText} AND deleted_at IS NULL`, values); - return getNotificationByIdDb(id); + return getNotificationByIdDb(id); }; const getUsersNotificationErrorDb = async (id) => { @@ -196,7 +196,7 @@ const getUsersNotificationErrorDb = async (id) => { WHERE a.notification_error_id = $1 AND a.deleted_at IS NULL `; - + const result = await pool.query(queryText, [id]); return result.recordset; }; @@ -208,5 +208,5 @@ module.exports = { InsertNotificationErrorDb, updateNotificationErrorDb, getUsersNotificationErrorDb - + }; diff --git a/services/notification_error.service.js b/services/notification_error.service.js index 8a4b8de..457c28b 100644 --- a/services/notification_error.service.js +++ b/services/notification_error.service.js @@ -234,7 +234,7 @@ class NotificationService { console.log("notifikasi wa:", resultSend) - const isSuccess = resultSend?.success ? true : false; + const isSuccess = resultSend.success; await updateNotificationErrorDb(user.notification_error_id, { is_send: isSuccess, diff --git a/services/notification_error_user.service.js b/services/notification_error_user.service.js index a24a501..ca6f4c2 100644 --- a/services/notification_error_user.service.js +++ b/services/notification_error_user.service.js @@ -152,7 +152,7 @@ class NotificationErrorUserService { data.contact_phone, bodyWithUrl ); - const isSuccess = resultSend?.success ? true : false; + const isSuccess = resultSend.success; const updateData = { is_send: isSuccess, diff --git a/services/notifikasi-wa.service.js b/services/notifikasi-wa.service.js index 7052b31..4d91b34 100644 --- a/services/notifikasi-wa.service.js +++ b/services/notifikasi-wa.service.js @@ -1,5 +1,5 @@ const { getAllContactDb } = require("../db/contact.db"); -const { InsertNotificationErrorDb } = require("../db/notification_error.db"); +const { InsertNotificationErrorDb, updateNotificationErrorDb } = require("../db/notification_error.db"); const { createNotificationErrorUserDb, updateNotificationErrorUserDb, @@ -65,6 +65,8 @@ class NotifikasiWaService { const resultNotificationError = await InsertNotificationErrorDb(data); + let isSendNotification = false + for (const dataUser of dataUsers) { if (dataUser.is_active) { const tokenRedirect = await generateTokenRedirect( @@ -79,7 +81,7 @@ class NotifikasiWaService { const bodyMessage = `Hai ${dataUser.contact_name || "-"}\n` + - `Terjadi kode error ${chanel?.value ?? "-"} ${errorCode?.error_code_name ?? ""} Chanel ${chanel?.chanel_id ?? "-"} ` + + `Terjadi kode error ${chanel?.value ?? "-"} ${errorCode?.error_code_name ?? ""}Chanel ${chanel?.chanel_id ?? "-"} ` + `pada device ${deviceNotification?.device_name ?? "berikut" }, Silahkan cek detail pada link berikut:\n` + `${shortUrl}`; @@ -105,14 +107,28 @@ class NotifikasiWaService { param.bodyMessage ); + + await updateNotificationErrorUserDb( resultNotificationErrorUser[0].notification_error_user_id, { - is_send: resultSend?.success ? true : false, + is_send: resultSend.success, } ); + + if (resultSend.success) { + isSendNotification = resultSend.success + } } } + + await updateNotificationErrorDb( + resultNotificationError.notification_error_id, + { + is_send: isSendNotification, + is_delivered: isSendNotification, + } + ); } } } catch (error) {