From 4a5bc7df8e1dd281f75a522b0a02d5d49fd6f70a Mon Sep 17 00:00:00 2001
From: Radheshhathwar <radheshhathwar.bh@gmail.com>
Date: Tue, 21 Nov 2023 14:22:22 +0530
Subject: [PATCH] Junk ticket email issue

---
 .../upsmf/grievance/enums/TicketStatus.java   |  2 +-
 .../service/impl/TicketServiceImpl.java       | 30 ++++++++++++++++---
 .../templates/raiser_update_ticket.vm         |  2 +-
 3 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/upsmf/grievance/enums/TicketStatus.java b/src/main/java/org/upsmf/grievance/enums/TicketStatus.java
index 8037f4e..99cc4e3 100644
--- a/src/main/java/org/upsmf/grievance/enums/TicketStatus.java
+++ b/src/main/java/org/upsmf/grievance/enums/TicketStatus.java
@@ -2,7 +2,7 @@ package org.upsmf.grievance.enums;
 
 public enum TicketStatus {
 
-    OPEN(1), CLOSED(2);
+    OPEN(1), CLOSED(2), INVALID(3);
 
     private int id;
 
diff --git a/src/main/java/org/upsmf/grievance/service/impl/TicketServiceImpl.java b/src/main/java/org/upsmf/grievance/service/impl/TicketServiceImpl.java
index 0029dfd..245e224 100644
--- a/src/main/java/org/upsmf/grievance/service/impl/TicketServiceImpl.java
+++ b/src/main/java/org/upsmf/grievance/service/impl/TicketServiceImpl.java
@@ -202,10 +202,15 @@ public class TicketServiceImpl implements TicketService {
         if(curentUpdatedTicket.getStatus().name().equalsIgnoreCase(TicketStatus.CLOSED.name())) {
             generateFeedbackLinkAndEmail(ticket);
             return ticket;
+        } else if (curentUpdatedTicket.getStatus().name().equalsIgnoreCase(TicketStatus.INVALID.name())) {
+            EmailDetails resolutionOfYourGrievance = EmailDetails.builder().subject("Update on Ticket Status - " +curentUpdatedTicket.getTicketId()).recipient(curentUpdatedTicket.getEmail()).build();
+            emailService.sendUpdateTicketMail(resolutionOfYourGrievance, ticket);
+            return ticket;
+        }else {
+            EmailDetails resolutionOfYourGrievance = EmailDetails.builder().subject("Resolution of Your Grievance - " + curentUpdatedTicket.getTicketId()).recipient(curentUpdatedTicket.getEmail()).build();
+            emailService.sendUpdateTicketMail(resolutionOfYourGrievance, ticket);
+            return ticket;
         }
-        EmailDetails resolutionOfYourGrievance = EmailDetails.builder().subject("Update on Ticket Status - " +curentUpdatedTicket.getTicketId()).recipient(curentUpdatedTicket.getEmail()).build();
-        emailService.sendUpdateTicketMail(resolutionOfYourGrievance, ticket);
-        return ticket;
     }
 
     private void generateFeedbackLinkAndEmail(Ticket curentUpdatedTicket) {
@@ -225,6 +230,23 @@ public class TicketServiceImpl implements TicketService {
         EmailDetails resolutionOfYourGrievance = EmailDetails.builder().subject("Resolution of Your Grievance").recipient(curentUpdatedTicket.getEmail()).build();
         emailService.sendClosedTicketMail(resolutionOfYourGrievance, curentUpdatedTicket, comment, Collections.EMPTY_LIST, link);
     }
+//    private void generateFeedbackLinkAndEmail(Ticket curentUpdatedTicket) {
+//        List<Comments> comments = commentRepository.findAllByTicketId(curentUpdatedTicket.getId());
+//        Comments latestComment =null;
+//        if(comments!=null && comments.size() > 0) {
+//            latestComment = comments.get(comments.size()-1);
+//        }
+//        String comment = latestComment!=null?latestComment.getComment():"";
+//        String link = feedbackBaseUrl.concat("?").concat("guestName=")
+//                .concat(curentUpdatedTicket.getFirstName().concat("%20").concat(curentUpdatedTicket.getLastName()))
+//                .concat("&ticketId=").concat(String.valueOf(curentUpdatedTicket.getId()))
+//                .concat("&resolutionComment=").concat(comment)
+//                .concat("&email=").concat(curentUpdatedTicket.getEmail())
+//                .concat("&phone=").concat(curentUpdatedTicket.getPhone())
+//                .concat("&ticketTitle=").concat(curentUpdatedTicket.getDescription());
+//        EmailDetails resolutionOfYourGrievance = EmailDetails.builder().subject("Resolution of Your Grievance").recipient(curentUpdatedTicket.getEmail()).build();
+//        emailService.sendClosedTicketMail(resolutionOfYourGrievance, curentUpdatedTicket, comment, Collections.EMPTY_LIST, link);
+//    }
 
     @Override
     public Ticket getTicketById(long id) {
@@ -366,7 +388,7 @@ public class TicketServiceImpl implements TicketService {
     }
 
     private boolean isValidStatus(TicketStatus status) {
-        return status == TicketStatus.OPEN ||  status==TicketStatus.CLOSED;
+        return status == TicketStatus.OPEN ||  status==TicketStatus.CLOSED || status==TicketStatus.INVALID;
     }
 
     private boolean isValidPriority(TicketPriority priority) {
diff --git a/src/main/resources/templates/raiser_update_ticket.vm b/src/main/resources/templates/raiser_update_ticket.vm
index 6d66496..f12531c 100644
--- a/src/main/resources/templates/raiser_update_ticket.vm
+++ b/src/main/resources/templates/raiser_update_ticket.vm
@@ -85,7 +85,7 @@
                                                                                     <td align="justify" class="esd-block-text es-m-txt-l">
                                                                                         <p></br></p>
                                                                                         <p>Dear ${first_name},</p>
-                                                                                        <p>We hope this email finds you well. We are writing to provide you with an update regarding your recent ticket with us, ${ticket_number}.</p>
+                                                                                        <p>We hope this email finds you well. We are writing to provide you with an update regarding your recent ticket with us, ${id}.</p>
                                                                                         <p>We are pleased to inform you that significant progress has been made in resolving the issue you reported. Our dedicated team has been diligently working on your case, and we are confident that we are moving towards a resolution.</p>
                                                                                         <p>
                                                                                             <div>Here is a brief overview of the status:</div>
-- 
GitLab