From 42d05aa6a2d9c52d7970e3e7bad95117ff650183 Mon Sep 17 00:00:00 2001 From: Mana-kl20220503 <mn.kumana@gmail.com> Date: Sat, 27 Apr 2024 03:02:00 +0900 Subject: [PATCH] [Added] Update 'status' to the user --- .../workflow/UpdateEndUserService.java | 32 +++++++++++++++++- .../workflow/UpdateEndUserService$1.class | Bin 1092 -> 1092 bytes .../UpdateEndUserService$TicketInfo.class | Bin 0 -> 779 bytes .../workflow/UpdateEndUserService.class | Bin 3700 -> 5314 bytes 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 target/classes/com/example/workflow/UpdateEndUserService$TicketInfo.class diff --git a/src/main/java/com/example/workflow/UpdateEndUserService.java b/src/main/java/com/example/workflow/UpdateEndUserService.java index c451f91..c7b4a88 100644 --- a/src/main/java/com/example/workflow/UpdateEndUserService.java +++ b/src/main/java/com/example/workflow/UpdateEndUserService.java @@ -4,6 +4,7 @@ import jakarta.inject.Named; import javax.inject.Inject; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.camunda.bpm.engine.delegate.JavaDelegate; +import org.springframework.jdbc.core.JdbcTemplate; import javax.mail.*; import javax.mail.internet.*; import java.util.Properties; @@ -11,18 +12,29 @@ import java.util.Properties; @Named public class UpdateEndUserService implements JavaDelegate { + @Inject + private JdbcTemplate jdbcTemplate; @Override public void execute(DelegateExecution execution) throws Exception { // 1. Retrieve username (assuming it holds the recipient email) String recipientEmail = (String) execution.getVariable("EmailAddress"); + TicketInfo latestTicketInfo = fetchLatestTicketInfo(); // 2. Construct notification message (assuming ticket ID is already set) - String updateMessage = "Your ticket has been submitted. We will update you on the progress."; + String updateMessage = "Your ticket has been submitted. We will update you on the progress.\nTicket Status: \"" + latestTicketInfo.getStatus() + "\""; + // 3. Send notification email sendNotificationEmail(recipientEmail, updateMessage, "Ticket Submitted"); } + private TicketInfo fetchLatestTicketInfo() { + String sql = "SELECT ID, status FROM ticket_submission ORDER BY ID DESC LIMIT 1"; + return jdbcTemplate.queryForObject(sql, (rs, rowNum) -> new TicketInfo( + rs.getString("id"), rs.getString("status") + )); + } + private void sendNotificationEmail(String recipientEmail, String messageBody, String subject) { // Email configuration String host = "imap.gmail.com"; @@ -67,4 +79,22 @@ public class UpdateEndUserService implements JavaDelegate { throw new RuntimeException(e); } } + // Utility class for handling ticket information + private static class TicketInfo { + private String id; + private String status; + + public TicketInfo(String id, String status) { + this.id = id; + this.status = status; + } + + public String getId() { + return id; + } + + public String getStatus() { + return status; + } + } } \ No newline at end of file diff --git a/target/classes/com/example/workflow/UpdateEndUserService$1.class b/target/classes/com/example/workflow/UpdateEndUserService$1.class index 02c264ac13fab2019794f658019540e72c03479b..7ffc07e9c0052b15f53778fc0b86ba8207738752 100644 GIT binary patch delta 19 bcmX@YafD;T0%k_z$qSiN7|kZLvDg6sL>dLn delta 19 bcmX@YafD;T0%k__$qSiN7_}y|vDg6sLs|v3 diff --git a/target/classes/com/example/workflow/UpdateEndUserService$TicketInfo.class b/target/classes/com/example/workflow/UpdateEndUserService$TicketInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..44ca397fba7c7f8e686630b7ed9a9de5c4237c8d GIT binary patch literal 779 zcmX^0Z`VEs1_oOO1uh0A24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3U}<osOy)QZI1f}B+S^8BLgw4D5M{m_Dx#FA9k zyp+)5)S}?jqO#27RF#m-<m}WE&%CsJMh2$L6h;OiAB0`OB}JKe>DD0A`FI%kK}NF` zmn4>y7Be!aYhWtG6wwT0WMFa5Pf2BD;P=VQOZ6+wO-d~aNleN~1zDA!oR|}qSd<Ck zLj_q%GBS%98O(gh@q;xZ18aI}iDwEUgNTMErgIn>IMY*0f}vjE3eGPrN=|jl1UW_$ zTkz<C!h(^3!!NbC#3R4Bgq=Z_kwKGamoYN%c;@A$7CGl678j=$Gcs@?f}25sfrEjG zfq{XEfe93AU=}|E4+8@OGXo<7D}w+7BZD9V14ASzDKIcF@M~>nVARsy%D}Frvz38& zBUpnF0|SE)0}BHKLpTEqLj(gSLnH$qLllEB0|SEs12ae)g9w8t0|@YgtziU<fh=NT zU}O+u5Qkc$&%nq4l4I4{!oa=(Za5oQFcxee517pgHIR`(0;^_Tbj^uaG&3_uf~}BZ YkOtE-3~~$%3|tJ13>*wH4Dt+I01IBD*#H0l literal 0 HcmV?d00001 diff --git a/target/classes/com/example/workflow/UpdateEndUserService.class b/target/classes/com/example/workflow/UpdateEndUserService.class index c83e715bddd02b17ff06e09853cf61d0154365cf..2d15b5114c56cc06654b3ca7be578a90d998b74c 100644 GIT binary patch delta 2664 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 delta 1409 zcmX@4`9+57)W2Q(7#J9A88%PkI?u+zAjHVvJb4YTvl<732qS|)NM>?&YKcN{X;N-x zNl9u77lRmsI6H#`4}&Cw6eEM?WCKRc$(BrEqB4vOe3`k41$ybZiJ3Wi$@#e)404kN zS=7W87#RdA3aYYF6Dt!lDpQKGGBcCd8I&gbu}EqwGB9&6s4_C}fi)H9mK5kEmX>62 zFsL&!u#^;)rgAYTGHCKJXfbF{p2XtJs5|)@i=3%GiiV8*;t~!9Llm)s{Gt*L24hAB zW>X7ub_P>M2JOiPj9T1=Tnr`*<~$6n3>K5)Si`xk7_8YDY<L)K8SEw>V9jH6n5@sH z!eP(g1XAKWIhsv|(RFeKn+A^ygF8sbgONd0WAX-05ne6^F9vUR1|J><Uk1O)XW6Xz z0vH0>8G?8if*C>>85AblvnxzCW7pwuVF=@42xo|xoW<_W;l&We!w}67GkGVwznK?9 z91lZ0g9jr6S8-}daA{IjYH|t4+(aIRB#<zBacW6OYDEbbLkdGGJ3|@|LpnpoWIGNk z?kt9Ec7_}thFpfc$;}+b91IKvJPd^lMU$^FI`eWdlrWUCGnDZ#lrwltKE|QMSULG6 zhZ1A;WFAg=%_@dkkWcCu86-4(vJ%S@^>Y&Q()B|!it@`7lX6n6HN)5$8W<ULCO_a( znEZ;9Z?g^;AEOCxX+cV2NvdyZadBdLDkB4zYejNuK}lwQUNJjEKO=)M!YH`R<OAFn zCcE-#PX56uGdYjfigD>=S3XU?<y;Ia7*?_~tO7ZC_2e49LrRPcJf3-ZsYT8?iN(dK z#f%KRL8-}^1(~UNB_Wjssq75vCpQRav20{ykemFFPki!zKK99H1b9Tn7?>Cs8R{7r z7?>Ft8CV(E7#JBECo>9))i*IPfO!lIJPgeYAd-=Rfq|8wg`t&!fq{{sjiH@^iJ_5! zfgy*1g@J{Efk8rBh<zsmClkW~27X^5K|d`WT_NFZ45Awu7#NrsK;{X7)d@22Fo-bl zGl(;YGf05V)&h%5K+R@gkYMPjXXs>LWZ+@oVd!G$W?*9AXW(S$Vd!RHX6R*LU|?Zj zWawjH0_7o)gBchYH!-j=a4|42EE1BoViA(HVil6NV%yE27`dH6*@|6~T}VYpZ5x9| zxFoxf4xFVY$pRHK5Hf<Wb~BhnYDuz6*0XJAFx$akX~nUd!9G%wV>^SR6{jTUZU&b~ zN!INQZrd0<B{?@S_-pTA2;IgIDaon3jUiT&Q)e4Pf+Xh-hU85QncBM;@);PmF%&On z;J4!3%}^C7$+?}OX8%S8Muq@}NeojNDj1l-;S$6k!oa{F!@$BI%fP`P$H2p&P|qOB zpvWN4pv0ibpv+**pu%9wpw1A$V89T~V9b!oV8&3&V98L;V8hVJV9(IT;K(qE!G&Qe zgA>Da24{wa46fjSEnwhgh-NTnn7}ZRfs<i60~f<2hRF<^pm2f*_9AcygCchk!xV5> zGcYV-aGweeY!-%j4AU688CV!N7-lg{XXs{NW#D0$#xR4Sn}Ll%l%bblCc`WSc7_0k zAcolta~L=n<}xraXfQDSXPC;s$<81)`GT-Wgd#hG6$2wXLj^YjE5kf+a+uGs0GhxS zf?WfNQxk^83=9k$42%rR7#JCrFsxx<V31;9W-wuZfB*(BhP4cw4C@#+Fl=Iw1OVQc B9LxX! -- GitLab