duplicate issue automic raise a ticket

master^2
Bhaskar 4 months ago
parent 7ad407187c
commit b28580bbd6

@ -3586,10 +3586,12 @@ const raiseATicketLikeLogic = async (customerId, connected_to) => {
const existingIssues = supportRecord.issues || []; const existingIssues = supportRecord.issues || [];
// Find existing unresolved issue
const existingMasterIssue = existingIssues.find( const existingMasterIssue = existingIssues.find(
issue => issue =>
issue.hardwareId === connected_to && issue.hardwareId === connected_to &&
issue.type === "GSM or LoRa Disconnected" issue.type === "GSM or LoRa Disconnected" &&
issue.resolved !== true // <-- only unresolved
); );
const alreadyReportedSlaves = new Set( const alreadyReportedSlaves = new Set(
@ -3614,7 +3616,7 @@ const raiseATicketLikeLogic = async (customerId, connected_to) => {
(newSlaveHardwareIds.length > 0 || !existingMasterIssue) (newSlaveHardwareIds.length > 0 || !existingMasterIssue)
) { ) {
if (!existingMasterIssue) { if (!existingMasterIssue) {
// Create new issue // Create new issue with resolved: false
const newIssue = { const newIssue = {
type: "GSM or LoRa Disconnected", type: "GSM or LoRa Disconnected",
masterHardwareId: connected_to, masterHardwareId: connected_to,
@ -3623,7 +3625,8 @@ const raiseATicketLikeLogic = async (customerId, connected_to) => {
slaveNames: newSlaveNames, slaveNames: newSlaveNames,
message: `Master ${connected_to} is disconnected along with ${newSlaveHardwareIds.length} new slave(s)`, message: `Master ${connected_to} is disconnected along with ${newSlaveHardwareIds.length} new slave(s)`,
disconnectedAt: lastDataTime, disconnectedAt: lastDataTime,
lastTicketRaisedAt: formattedNow // <-- NEW FIELD lastTicketRaisedAt: formattedNow,
resolved: false // <--- add resolved flag here
}; };
await Support.findOneAndUpdate( await Support.findOneAndUpdate(
@ -3634,7 +3637,7 @@ const raiseATicketLikeLogic = async (customerId, connected_to) => {
} }
); );
} else { } else {
// Update existing issue // Update existing unresolved issue only
await Support.findOneAndUpdate( await Support.findOneAndUpdate(
{ supportId: "AWHYSU64" }, { supportId: "AWHYSU64" },
{ {
@ -3649,7 +3652,7 @@ const raiseATicketLikeLogic = async (customerId, connected_to) => {
}, },
{ {
arrayFilters: [ arrayFilters: [
{ "elem.hardwareId": connected_to, "elem.type": "GSM or LoRa Disconnected" } { "elem.hardwareId": connected_to, "elem.type": "GSM or LoRa Disconnected", "elem.resolved": false }
] ]
} }
); );

Loading…
Cancel
Save