From a6b73f611c58736319963ba9a2c546924daac38e Mon Sep 17 00:00:00 2001 From: Varun Date: Tue, 11 Mar 2025 17:02:26 +0530 Subject: [PATCH] changes --- src/controllers/tanksController.js | 71 ++++++++++++++++-------------- 1 file changed, 37 insertions(+), 34 deletions(-) diff --git a/src/controllers/tanksController.js b/src/controllers/tanksController.js index b18ced49..3b9406c5 100644 --- a/src/controllers/tanksController.js +++ b/src/controllers/tanksController.js @@ -1572,18 +1572,18 @@ eventEmitter.on('sendCriticalHighWaterNotification', async (fcmTokens, tankInfo, // }); -// eventEmitter.on('sendThresholdTimeNotification', async (customerId, fcmTokens, thresholdTime, hw_Id, tankName, blockName) => { -// try { -// const message = -// `🛢️ Tank Name: '${tankName}'\n` + -// `🏢 Block Name: '${blockName}'\n` + -// `Motor Stopped as it completed ${thresholdTime} minutes.`; -// await sendNotification(hw_Id, customerId, fcmTokens, 'Motor Alert', message); -// console.log("Threshold time notification sent successfully."); -// } catch (error) { -// console.error("Error sending threshold time notification:", error); -// } -// }); +eventEmitter.on('sendThresholdTimeNotification', async (customerId, fcmTokens, thresholdTime, hw_Id, tankName, blockName) => { + try { + const message = + `🛢️ Tank Name: '${tankName}'\n` + + `🏢 Block Name: '${blockName}'\n` + + `Motor Stopped as it completed ${thresholdTime} minutes.`; + await sendNotification(hw_Id, customerId, fcmTokens, 'Motor Alert', message); + console.log("Threshold time notification sent successfully."); + } catch (error) { + console.error("Error sending threshold time notification:", error); + } +}); // eventEmitter.on( // 'sendMotorStartNotification', @@ -2343,6 +2343,9 @@ cron.schedule("* * * * *", async () => { // } // }; + + + exports.publishMotorStopStatus = async (motor_id, motor_stop_status) => { console.log("entered publish",motor_id,motor_stop_status) const deviceTopic = `water/operation/${motor_id}`; // Target specific IoT @@ -3105,29 +3108,29 @@ exports.motorAction = async (req, reply) => { const notificationKey = `${customerId}_${motorId}_threshold`; // Check if the notification has already been sent - // if (!notificationTracker.get(notificationKey)) { - // console.log("Sending threshold time notification..."); + if (!notificationTracker.get(notificationKey)) { + console.log("Sending threshold time notification..."); - // eventEmitter.emit( - // "sendThresholdTimeNotification", - // customerId, - // fcmToken, - // manual_threshold_time, - // motorId, - // tankName, - // blockName - // ); - - // // Mark notification as sent - // notificationTracker.set(notificationKey, true); - - // // Optionally, reset the flag after some time (e.g., 24 hours) - // setTimeout(() => { - // notificationTracker.delete(notificationKey); - // }, 24 * 60 * 60 * 1000); // Reset after 24 hours - // } else { - // console.log("Notification already sent, skipping..."); - // } + eventEmitter.emit( + "sendThresholdTimeNotification", + customerId, + fcmToken, + manual_threshold_time, + motorId, + tankName, + blockName + ); + + // Mark notification as sent + notificationTracker.set(notificationKey, true); + + // Optionally, reset the flag after some time (e.g., 24 hours) + setTimeout(() => { + notificationTracker.delete(notificationKey); + }, 24 * 60 * 60 * 1000); // Reset after 24 hours + } else { + console.log("Notification already sent, skipping..."); + } const currentTime = moment().tz('Asia/Kolkata').format('DD-MMM-YYYY - HH:mm'); await Tank.updateOne(