4545import org .springframework .http .HttpMethod ;
4646import org .springframework .http .MediaType ;
4747import org .springframework .stereotype .Service ;
48+ import org .springframework .util .LinkedMultiValueMap ;
49+ import org .springframework .util .MultiValueMap ;
4850import org .springframework .web .client .RestTemplate ;
51+ import org .springframework .web .context .request .RequestContextHolder ;
52+ import org .springframework .web .context .request .ServletRequestAttributes ;
4953
5054import com .google .gson .Gson ;
5155import com .google .gson .JsonElement ;
6266import com .iemr .helpline104 .repository .nodalOfficer .NodalOficerRepo ;
6367import com .iemr .helpline104 .reposotory .IMRMMR .IMRMMRRepository ;
6468import com .iemr .helpline104 .sms .SmsRequestOBJ ;
69+ import com .iemr .helpline104 .utils .CookieUtil ;
6570import com .iemr .helpline104 .utils .mapper .InputMapper ;
6671
72+ import jakarta .servlet .http .HttpServletRequest ;
73+
6774@ Service
6875public class IMRMMRServiceImpl implements IMRMMRService {
6976
@@ -86,6 +93,8 @@ public class IMRMMRServiceImpl implements IMRMMRService {
8693
8794 @ Autowired
8895 private EpidemicOutbreakRepository epidemicOutbreakRepository ;
96+ @ Autowired
97+ private CookieUtil cookieUtil ;
8998
9099 @ Override
91100 public String saveIMRMMR (String request , String Authorization ) throws Exception {
@@ -94,7 +103,7 @@ public String saveIMRMMR(String request, String Authorization) throws Exception
94103
95104 IMRMMR imrmmr = InputMapper .gson ().fromJson (request , IMRMMR .class );
96105
97- //Validating Mandatory fields
106+ // Validating Mandatory fields
98107// if(imrmmr.getVictimName() == null || imrmmr.getVictimAge() == null || imrmmr.getVictimDistrict() == null || imrmmr.getVictimTaluk() == null || imrmmr.getRelationshipType() == null) {
99108// throw new Exception("error in saving IMR/MMR data as mandatory field(s) is null");
100109// }
@@ -140,9 +149,8 @@ public String saveIMRMMR(String request, String Authorization) throws Exception
140149 imrmmr .setNoofDelivery (Integer .parseInt (imrmmr .getStagesOfDeath ().get ("noofDelivery" )));
141150 else
142151 imrmmr .setNoofDelivery (null );
143-
152+
144153 imrmmr .setAbove42daysOfDelivery (imrmmr .getStagesOfDeath ().get ("above42daysOfDelivery" ));
145-
146154
147155 imrmmr = imrmmrRepository .save (imrmmr );
148156
@@ -167,7 +175,7 @@ public String saveIMRMMR(String request, String Authorization) throws Exception
167175 if (contact .get (i )[0 ] != null ) {
168176 createSmsGateway (Long .valueOf (imrmmr .getBeneficiaryRegID ()), imrmmr .getReferenceDate (), stateID ,
169177 contact .get (i )[0 ].toString (), imrmmr .getRequestID (), Authorization ,
170- imrmmr .getCreatedBy (),imrmmr .getInformerName ());
178+ imrmmr .getCreatedBy (), imrmmr .getInformerName ());
171179 }
172180 }
173181 for (int i = 0 ; i < contact .size (); i ++) {
@@ -190,6 +198,11 @@ public void createEmailGateway(String emailID, String requestID, String Authoriz
190198 emailReqObj .put ("requestID" , requestID );
191199 emailReqObj .put ("emailType" , IMRMMREmailTemplate );
192200 emailReqObj .put ("emailID" , emailID );
201+ HttpServletRequest requestHeader = ((ServletRequestAttributes ) RequestContextHolder .getRequestAttributes ())
202+ .getRequest ();
203+ String jwtTokenFromCookie = cookieUtil .getJwtTokenFromCookie (requestHeader );
204+ MultiValueMap <String , String > headers = new LinkedMultiValueMap <String , String >();
205+ headers .add ("Cookie" , "Jwttoken=" + jwtTokenFromCookie );
193206 try {
194207 String emailStatus = restTemplate (new Gson ().toJson (emailReqObj ), sendEmailGeneralUrl , Authorization );
195208 if (emailStatus != null ) {
@@ -210,11 +223,16 @@ public void createEmailGateway(String emailID, String requestID, String Authoriz
210223 }
211224
212225 public void createSmsGateway (Long benRegID , Timestamp refDate , Integer stateID , String contact , String imrmmrID ,
213- String Authorization , String createdBy ,String informerName ) {
226+ String Authorization , String createdBy , String informerName ) {
214227 int returnOBJ = 0 ;
215228
216229 String requestOBJ = createSMSRequest (IMRMMRSmsTemplate , benRegID , stateID , contact , imrmmrID , refDate ,
217- createdBy ,informerName );
230+ createdBy , informerName );
231+ HttpServletRequest requestHeader = ((ServletRequestAttributes ) RequestContextHolder .getRequestAttributes ())
232+ .getRequest ();
233+ String jwtTokenFromCookie = cookieUtil .getJwtTokenFromCookie (requestHeader );
234+ MultiValueMap <String , String > headers = new LinkedMultiValueMap <String , String >();
235+ headers .add ("Cookie" , "Jwttoken=" + jwtTokenFromCookie );
218236
219237 if (requestOBJ != null ) {
220238 String smsStatus = restTemplate (requestOBJ , sendSMSUrl , Authorization );
@@ -236,7 +254,7 @@ public void createSmsGateway(Long benRegID, Timestamp refDate, Integer stateID,
236254 }
237255
238256 public String createSMSRequest (String smsType , Long benRegID , Integer stateID , String contact , String imrmmrID ,
239- Timestamp refDate , String createdBy ,String informerName ) {
257+ Timestamp refDate , String createdBy , String informerName ) {
240258
241259 SmsRequestOBJ obj ;
242260 ArrayList <SmsRequestOBJ > objList = new ArrayList <>();
@@ -368,15 +386,17 @@ else if (phoneNo != null) {
368386 if (feedback != null )
369387 for (Object [] objects : feedback ) {
370388 if (objects != null && objects .length > 0 ) {
371- IMRMMRC = new IMRMMR ((Long ) objects [0 ], (Integer ) objects [1 ], (Integer ) objects [2 ], (String ) objects [3 ], (String ) objects [4 ],
372- (String ) objects [5 ], (String ) objects [6 ], (Integer ) objects [7 ], (String ) objects [8 ], (Integer ) objects [9 ], (String ) objects [10 ],
373- (Timestamp ) objects [11 ], (Integer ) objects [12 ], (Long ) objects [13 ], (String ) objects [14 ], (String ) objects [15 ],
374- (String ) objects [16 ], (String ) objects [17 ], (Integer ) objects [18 ], (Integer ) objects [19 ], (Integer ) objects [20 ],
375- (String ) objects [21 ], (Integer ) objects [22 ], (Integer ) objects [23 ], (String ) objects [24 ], (String ) objects [25 ],
376- (String ) objects [26 ], (String ) objects [27 ], (Integer ) objects [28 ], (Integer ) objects [29 ], (Integer ) objects [30 ],
377- (String ) objects [31 ], (String ) objects [32 ], (String ) objects [33 ], (String ) objects [34 ], (String ) objects [35 ],
378- (String ) objects [36 ], (Boolean ) objects [37 ], (String ) objects [38 ],(String ) objects [39 ], (Integer ) objects [40 ],
379- (Integer ) objects [41 ],(String ) objects [42 ]);
389+ IMRMMRC = new IMRMMR ((Long ) objects [0 ], (Integer ) objects [1 ], (Integer ) objects [2 ],
390+ (String ) objects [3 ], (String ) objects [4 ], (String ) objects [5 ], (String ) objects [6 ],
391+ (Integer ) objects [7 ], (String ) objects [8 ], (Integer ) objects [9 ], (String ) objects [10 ],
392+ (Timestamp ) objects [11 ], (Integer ) objects [12 ], (Long ) objects [13 ], (String ) objects [14 ],
393+ (String ) objects [15 ], (String ) objects [16 ], (String ) objects [17 ], (Integer ) objects [18 ],
394+ (Integer ) objects [19 ], (Integer ) objects [20 ], (String ) objects [21 ], (Integer ) objects [22 ],
395+ (Integer ) objects [23 ], (String ) objects [24 ], (String ) objects [25 ], (String ) objects [26 ],
396+ (String ) objects [27 ], (Integer ) objects [28 ], (Integer ) objects [29 ], (Integer ) objects [30 ],
397+ (String ) objects [31 ], (String ) objects [32 ], (String ) objects [33 ], (String ) objects [34 ],
398+ (String ) objects [35 ], (String ) objects [36 ], (Boolean ) objects [37 ], (String ) objects [38 ],
399+ (String ) objects [39 ], (Integer ) objects [40 ], (Integer ) objects [41 ], (String ) objects [42 ]);
380400 feedbackList .add (IMRMMRC );
381401 }
382402 }
0 commit comments