diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index fb7679e..65fc520 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -35,7 +35,7 @@ jobs: run: mvn -B package --file pom.xml - name: Upload WAR file as artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: Helpline104-API path: target/104api-v1.0.war diff --git a/src/main/java/com/iemr/helpline104/service/IMRMMR/IMRMMRServiceImpl.java b/src/main/java/com/iemr/helpline104/service/IMRMMR/IMRMMRServiceImpl.java index eab54d0..f28056b 100644 --- a/src/main/java/com/iemr/helpline104/service/IMRMMR/IMRMMRServiceImpl.java +++ b/src/main/java/com/iemr/helpline104/service/IMRMMR/IMRMMRServiceImpl.java @@ -45,7 +45,11 @@ import org.springframework.http.HttpMethod; import org.springframework.http.MediaType; import org.springframework.stereotype.Service; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import com.google.gson.Gson; import com.google.gson.JsonElement; @@ -62,8 +66,11 @@ import com.iemr.helpline104.repository.nodalOfficer.NodalOficerRepo; import com.iemr.helpline104.reposotory.IMRMMR.IMRMMRRepository; import com.iemr.helpline104.sms.SmsRequestOBJ; +import com.iemr.helpline104.utils.CookieUtil; import com.iemr.helpline104.utils.mapper.InputMapper; +import jakarta.servlet.http.HttpServletRequest; + @Service public class IMRMMRServiceImpl implements IMRMMRService { @@ -86,6 +93,8 @@ public class IMRMMRServiceImpl implements IMRMMRService { @Autowired private EpidemicOutbreakRepository epidemicOutbreakRepository; + @Autowired + private CookieUtil cookieUtil; @Override public String saveIMRMMR(String request, String Authorization) throws Exception { @@ -94,7 +103,7 @@ public String saveIMRMMR(String request, String Authorization) throws Exception IMRMMR imrmmr = InputMapper.gson().fromJson(request, IMRMMR.class); - //Validating Mandatory fields + // Validating Mandatory fields // if(imrmmr.getVictimName() == null || imrmmr.getVictimAge() == null || imrmmr.getVictimDistrict() == null || imrmmr.getVictimTaluk() == null || imrmmr.getRelationshipType() == null) { // throw new Exception("error in saving IMR/MMR data as mandatory field(s) is null"); // } @@ -140,9 +149,8 @@ public String saveIMRMMR(String request, String Authorization) throws Exception imrmmr.setNoofDelivery(Integer.parseInt(imrmmr.getStagesOfDeath().get("noofDelivery"))); else imrmmr.setNoofDelivery(null); - + imrmmr.setAbove42daysOfDelivery(imrmmr.getStagesOfDeath().get("above42daysOfDelivery")); - imrmmr = imrmmrRepository.save(imrmmr); @@ -167,7 +175,7 @@ public String saveIMRMMR(String request, String Authorization) throws Exception if (contact.get(i)[0] != null) { createSmsGateway(Long.valueOf(imrmmr.getBeneficiaryRegID()), imrmmr.getReferenceDate(), stateID, contact.get(i)[0].toString(), imrmmr.getRequestID(), Authorization, - imrmmr.getCreatedBy(),imrmmr.getInformerName()); + imrmmr.getCreatedBy(), imrmmr.getInformerName()); } } for (int i = 0; i < contact.size(); i++) { @@ -190,6 +198,11 @@ public void createEmailGateway(String emailID, String requestID, String Authoriz emailReqObj.put("requestID", requestID); emailReqObj.put("emailType", IMRMMREmailTemplate); emailReqObj.put("emailID", emailID); + HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader); + MultiValueMap headers = new LinkedMultiValueMap(); + headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); try { String emailStatus = restTemplate(new Gson().toJson(emailReqObj), sendEmailGeneralUrl, Authorization); if (emailStatus != null) { @@ -210,11 +223,16 @@ public void createEmailGateway(String emailID, String requestID, String Authoriz } public void createSmsGateway(Long benRegID, Timestamp refDate, Integer stateID, String contact, String imrmmrID, - String Authorization, String createdBy,String informerName) { + String Authorization, String createdBy, String informerName) { int returnOBJ = 0; String requestOBJ = createSMSRequest(IMRMMRSmsTemplate, benRegID, stateID, contact, imrmmrID, refDate, - createdBy,informerName); + createdBy, informerName); + HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader); + MultiValueMap headers = new LinkedMultiValueMap(); + headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); if (requestOBJ != null) { String smsStatus = restTemplate(requestOBJ, sendSMSUrl, Authorization); @@ -236,7 +254,7 @@ public void createSmsGateway(Long benRegID, Timestamp refDate, Integer stateID, } public String createSMSRequest(String smsType, Long benRegID, Integer stateID, String contact, String imrmmrID, - Timestamp refDate, String createdBy,String informerName) { + Timestamp refDate, String createdBy, String informerName) { SmsRequestOBJ obj; ArrayList objList = new ArrayList<>(); @@ -368,15 +386,17 @@ else if (phoneNo != null) { if (feedback != null) for (Object[] objects : feedback) { if (objects != null && objects.length > 0) { - IMRMMRC = new IMRMMR((Long) objects[0], (Integer) objects[1], (Integer) objects[2], (String) objects[3], (String) objects[4], - (String) objects[5], (String) objects[6], (Integer) objects[7], (String) objects[8], (Integer) objects[9], (String) objects[10], - (Timestamp) objects[11], (Integer) objects[12], (Long) objects[13], (String) objects[14], (String) objects[15], - (String) objects[16], (String) objects[17], (Integer) objects[18], (Integer) objects[19], (Integer) objects[20], - (String) objects[21], (Integer) objects[22], (Integer) objects[23], (String) objects[24], (String) objects[25], - (String) objects[26], (String) objects[27], (Integer) objects[28], (Integer) objects[29], (Integer) objects[30], - (String) objects[31], (String) objects[32], (String) objects[33], (String) objects[34], (String) objects[35], - (String) objects[36], (Boolean) objects[37], (String) objects[38],(String) objects[39], (Integer) objects[40], - (Integer) objects[41],(String) objects[42]); + IMRMMRC = new IMRMMR((Long) objects[0], (Integer) objects[1], (Integer) objects[2], + (String) objects[3], (String) objects[4], (String) objects[5], (String) objects[6], + (Integer) objects[7], (String) objects[8], (Integer) objects[9], (String) objects[10], + (Timestamp) objects[11], (Integer) objects[12], (Long) objects[13], (String) objects[14], + (String) objects[15], (String) objects[16], (String) objects[17], (Integer) objects[18], + (Integer) objects[19], (Integer) objects[20], (String) objects[21], (Integer) objects[22], + (Integer) objects[23], (String) objects[24], (String) objects[25], (String) objects[26], + (String) objects[27], (Integer) objects[28], (Integer) objects[29], (Integer) objects[30], + (String) objects[31], (String) objects[32], (String) objects[33], (String) objects[34], + (String) objects[35], (String) objects[36], (Boolean) objects[37], (String) objects[38], + (String) objects[39], (Integer) objects[40], (Integer) objects[41], (String) objects[42]); feedbackList.add(IMRMMRC); } } diff --git a/src/main/java/com/iemr/helpline104/service/balVivah/BalVivahComplaintImpl.java b/src/main/java/com/iemr/helpline104/service/balVivah/BalVivahComplaintImpl.java index c524648..3bfee5e 100644 --- a/src/main/java/com/iemr/helpline104/service/balVivah/BalVivahComplaintImpl.java +++ b/src/main/java/com/iemr/helpline104/service/balVivah/BalVivahComplaintImpl.java @@ -34,9 +34,18 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; import com.iemr.helpline104.controller.balVivha.BalVivahController; import com.iemr.helpline104.data.balVivah.BalVivahComplaint; @@ -50,6 +59,7 @@ import com.iemr.helpline104.repository.location.LocationCityRepository; import com.iemr.helpline104.repository.location.LocationDistrictBlockRepository; import com.iemr.helpline104.repository.location.LocationDistrictRepository; +import com.iemr.helpline104.utils.CookieUtil; import com.iemr.helpline104.utils.config.ConfigProperties; import com.iemr.helpline104.utils.exception.IEMRException; import com.iemr.helpline104.utils.http.HttpUtils; @@ -85,6 +95,8 @@ public class BalVivahComplaintImpl implements BalVivahComplaintService { @Autowired private EpidemicOutbreakRepository epidemicOutbreakRepository; + @Autowired + private CookieUtil cookieUtil; private InputMapper inputMapper = new InputMapper(); @@ -178,14 +190,18 @@ else if (phoneNo != null) { return new Gson().toJson(feedbackList); } - private OutputResponse createFeedback(String feedbackDetails, HttpServletRequest request) throws IEMRException { - HttpUtils utils = new HttpUtils(); - HashMap header = new HashMap(); - header.put("Authorization", request.getHeader("Authorization")); - String responseStr = utils.post( - properties.getPropertyByName("common-url") + "/" + properties.getPropertyByName("create-feedback"), - feedbackDetails, header); - OutputResponse response = inputMapper.gson().fromJson(responseStr, OutputResponse.class); + private OutputResponse createFeedback(String feedbackDetails, HttpServletRequest request) throws IEMRException, JsonMappingException, JsonProcessingException { + RestTemplate restTemplate = new RestTemplate(); + ObjectMapper objectMapper = new ObjectMapper(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(request); + MultiValueMap headers = new LinkedMultiValueMap(); + headers.add("Content-Type", "application/json"); + headers.add("AUTHORIZATION", request.getHeader("Authorization")); + headers.add("Jwttoken", jwtTokenFromCookie); + String url = properties.getPropertyByName("common-url") + "/" + properties.getPropertyByName("create-feedback"); + HttpEntity request1 = new HttpEntity(feedbackDetails, headers); + ResponseEntity responseStr = restTemplate.exchange(url, HttpMethod.POST, request1, String.class); + OutputResponse response = objectMapper.readValue(responseStr.getBody(), OutputResponse.class); return response; } diff --git a/src/main/java/com/iemr/helpline104/service/epidemicOutbreak/EpidemicOutbreakServiceImpl.java b/src/main/java/com/iemr/helpline104/service/epidemicOutbreak/EpidemicOutbreakServiceImpl.java index b25a956..ea3ef03 100644 --- a/src/main/java/com/iemr/helpline104/service/epidemicOutbreak/EpidemicOutbreakServiceImpl.java +++ b/src/main/java/com/iemr/helpline104/service/epidemicOutbreak/EpidemicOutbreakServiceImpl.java @@ -35,8 +35,17 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; import com.iemr.helpline104.controller.epidemicOutbreak.EpidemicOutbreakController; import com.iemr.helpline104.data.epidemicOutbreak.T_EpidemicOutbreak; import com.iemr.helpline104.data.feedback.FeedbackDetails; @@ -47,6 +56,7 @@ import com.iemr.helpline104.repository.location.LocationCityRepository; import com.iemr.helpline104.repository.location.LocationDistrictBlockRepository; import com.iemr.helpline104.repository.location.LocationDistrictRepository; +import com.iemr.helpline104.utils.CookieUtil; import com.iemr.helpline104.utils.config.ConfigProperties; import com.iemr.helpline104.utils.exception.IEMRException; import com.iemr.helpline104.utils.http.HttpUtils; @@ -74,6 +84,8 @@ public class EpidemicOutbreakServiceImpl implements EpidemicOutbreakService { @Autowired private BenCallRepository benCallRepository; + @Autowired + private CookieUtil cookieUtil; private InputMapper inputMapper = new InputMapper(); @@ -174,15 +186,18 @@ else if (requestID != null) { return epidemicOutbreakList; } - private OutputResponse createFeedback(String feedbackDetails, HttpServletRequest request) throws IEMRException { - HttpUtils utils = new HttpUtils(); - HashMap header = new HashMap(); - header.put("Authorization", request.getHeader("Authorization")); - String responseStr = utils.post( - properties.getPropertyByName("common-url") + "/" + properties.getPropertyByName("create-feedback"), - feedbackDetails, header); - OutputResponse response = inputMapper.gson().fromJson(responseStr, OutputResponse.class); - // response.setResponse(responseStr); + private OutputResponse createFeedback(String feedbackDetails, HttpServletRequest request) throws IEMRException, JsonMappingException, JsonProcessingException { + RestTemplate restTemplate = new RestTemplate(); + ObjectMapper objectMapper = new ObjectMapper(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(request); + MultiValueMap headers = new LinkedMultiValueMap(); + headers.add("Content-Type", "application/json"); + headers.add("AUTHORIZATION", request.getHeader("Authorization")); + headers.add("Jwttoken", jwtTokenFromCookie); + String url = properties.getPropertyByName("common-url") + "/" + properties.getPropertyByName("create-feedback"); + HttpEntity request1 = new HttpEntity(feedbackDetails, headers); + ResponseEntity responseStr = restTemplate.exchange(url, HttpMethod.POST, request1, String.class); + OutputResponse response = objectMapper.readValue(responseStr.getBody(), OutputResponse.class); return response; } diff --git a/src/main/java/com/iemr/helpline104/service/feedback/FeedbackServiceImpl.java b/src/main/java/com/iemr/helpline104/service/feedback/FeedbackServiceImpl.java index 59f812b..0bcacd2 100644 --- a/src/main/java/com/iemr/helpline104/service/feedback/FeedbackServiceImpl.java +++ b/src/main/java/com/iemr/helpline104/service/feedback/FeedbackServiceImpl.java @@ -32,8 +32,17 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; import com.iemr.helpline104.data.feedback.FeedbackDetails; import com.iemr.helpline104.data.feedback.FeedbackRequestDetails; @@ -42,6 +51,7 @@ import com.iemr.helpline104.repository.bloodRequest.InstituteRepository; import com.iemr.helpline104.repository.feedback.FeedbackRepository; import com.iemr.helpline104.repository.feedbackType.FeedbackTypeRepository; +import com.iemr.helpline104.utils.CookieUtil; import com.iemr.helpline104.utils.config.ConfigProperties; import com.iemr.helpline104.utils.exception.IEMRException; import com.iemr.helpline104.utils.http.HttpUtils; @@ -60,6 +70,8 @@ public class FeedbackServiceImpl implements FeedbackService { @Autowired private InstituteRepository instituteRepo; + @Autowired + private CookieUtil cookieUtil; @Autowired public void getBenCalServiceCatSubcatMappingRepo(BeneficiaryCallRepository benCalServiceCatSubcatMappingRepo) { @@ -318,18 +330,19 @@ public String saveFeedbackFromCustomer(String feedbackDetails, HttpServletReques // return response; // } - private OutputResponse createFeedback(String feedbackDetails, HttpServletRequest request) throws IEMRException { - + private OutputResponse createFeedback(String feedbackDetails, HttpServletRequest request) throws IEMRException, JsonMappingException, JsonProcessingException { logger.info("createFeedback request: " + feedbackDetails); - - HttpUtils utils = new HttpUtils(); - HashMap header = new HashMap(); - header.put("Authorization", request.getHeader("Authorization")); - String responseStr = utils.post( - properties.getPropertyByName("common-url") + "/" + properties.getPropertyByName("create-feedback"), - feedbackDetails, header); - OutputResponse response = inputMapper.gson().fromJson(responseStr, OutputResponse.class); - // response.setResponse(responseStr); + RestTemplate restTemplate = new RestTemplate(); + ObjectMapper objectMapper = new ObjectMapper(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(request); + MultiValueMap headers = new LinkedMultiValueMap(); + headers.add("Content-Type", "application/json"); + headers.add("AUTHORIZATION", request.getHeader("Authorization")); + headers.add("Jwttoken", jwtTokenFromCookie); + String url = properties.getPropertyByName("common-url") + "/" + properties.getPropertyByName("create-feedback"); + HttpEntity request1 = new HttpEntity(feedbackDetails, headers); + ResponseEntity responseStr = restTemplate.exchange(url, HttpMethod.POST, request1, String.class); + OutputResponse response = objectMapper.readValue(responseStr.getBody(), OutputResponse.class); logger.info("createFeedback resonse from common: " + response); return response; } diff --git a/src/main/java/com/iemr/helpline104/service/foodSafetyCopmlaint/FoodSafetyCopmlaintServiceImpl.java b/src/main/java/com/iemr/helpline104/service/foodSafetyCopmlaint/FoodSafetyCopmlaintServiceImpl.java index 894264a..3f27bbf 100644 --- a/src/main/java/com/iemr/helpline104/service/foodSafetyCopmlaint/FoodSafetyCopmlaintServiceImpl.java +++ b/src/main/java/com/iemr/helpline104/service/foodSafetyCopmlaint/FoodSafetyCopmlaintServiceImpl.java @@ -34,14 +34,24 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; import com.iemr.helpline104.data.feedback.FeedbackDetails; import com.iemr.helpline104.data.feedbackType.M_FeedbackType; import com.iemr.helpline104.data.foodSafetyCopmlaint.T_FoodSafetyCopmlaint; import com.iemr.helpline104.repository.beneficiarycall.BenCallRepository; import com.iemr.helpline104.repository.feedbackType.FeedbackTypeRepository; import com.iemr.helpline104.repository.foodSafetyCopmlaint.FoodSafetyCopmlaintRepository; +import com.iemr.helpline104.utils.CookieUtil; import com.iemr.helpline104.utils.config.ConfigProperties; import com.iemr.helpline104.utils.exception.IEMRException; import com.iemr.helpline104.utils.http.HttpUtils; @@ -62,6 +72,8 @@ public class FoodSafetyCopmlaintServiceImpl implements FoodSafetyCopmlaintServic @Autowired private BenCallRepository benCallRepository; + @Autowired + private CookieUtil cookieUtil; private InputMapper inputMapper = new InputMapper(); @@ -194,15 +206,18 @@ public T_FoodSafetyCopmlaint save(T_FoodSafetyCopmlaint t_foodSafetyCopmlaint, H return t_foodSafetyCopmlaint; } - private OutputResponse createFeedback(String feedbackDetails, HttpServletRequest request) throws IEMRException { - HttpUtils utils = new HttpUtils(); - HashMap header = new HashMap(); - header.put("Authorization", request.getHeader("Authorization")); - String responseStr = utils.post( - properties.getPropertyByName("common-url") + "/" + properties.getPropertyByName("create-feedback"), - feedbackDetails, header); - OutputResponse response = inputMapper.gson().fromJson(responseStr, OutputResponse.class); - // response.setResponse(responseStr); + private OutputResponse createFeedback(String feedbackDetails, HttpServletRequest request) throws IEMRException, JsonMappingException, JsonProcessingException { + RestTemplate restTemplate = new RestTemplate(); + ObjectMapper objectMapper = new ObjectMapper(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(request); + MultiValueMap headers = new LinkedMultiValueMap(); + headers.add("Content-Type", "application/json"); + headers.add("AUTHORIZATION", request.getHeader("Authorization")); + headers.add("Jwttoken", jwtTokenFromCookie); + String url = properties.getPropertyByName("common-url") + "/" + properties.getPropertyByName("create-feedback"); + HttpEntity request1 = new HttpEntity(feedbackDetails, headers); + ResponseEntity responseStr = restTemplate.exchange(url, HttpMethod.POST, request1, String.class); + OutputResponse response = objectMapper.readValue(responseStr.getBody(), OutputResponse.class); return response; }