From 6cdeb9cf61c4d6c4e3dfefadda70263a557abb95 Mon Sep 17 00:00:00 2001 From: IN40068837 Date: Thu, 27 Feb 2025 12:15:49 +0530 Subject: [PATCH 1/2] 401 unauthorized issue resolved --- .../CSCarestreamServiceImpl.java | 13 ++++ .../transaction/CommonDoctorServiceImpl.java | 25 +++++--- .../common/transaction/CommonServiceImpl.java | 61 +++++++++++-------- .../registrar/RegistrarServiceImpl.java | 25 +++++++- .../SMSGatewayServiceImpl.java | 48 +++++++++------ .../TeleConsultationServiceImpl.java | 11 ++++ 6 files changed, 130 insertions(+), 53 deletions(-) diff --git a/src/main/java/com/iemr/tm/service/cancerScreening/CSCarestreamServiceImpl.java b/src/main/java/com/iemr/tm/service/cancerScreening/CSCarestreamServiceImpl.java index 2241c4ab..30809c56 100644 --- a/src/main/java/com/iemr/tm/service/cancerScreening/CSCarestreamServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/cancerScreening/CSCarestreamServiceImpl.java @@ -27,8 +27,11 @@ import java.util.Map; import org.json.JSONObject; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.PropertySource; import org.springframework.http.HttpEntity; @@ -40,6 +43,9 @@ import org.springframework.web.client.RestTemplate; import com.google.gson.Gson; +import com.iemr.tm.utils.CookieUtil; + +import jakarta.servlet.http.HttpServletRequest; @Service public class CSCarestreamServiceImpl implements CSCarestreamService { @@ -49,16 +55,23 @@ public class CSCarestreamServiceImpl implements CSCarestreamService { @Value("${carestreamOrderCreateURL}") private String carestreamOrderCreateURL; + @Autowired + private CookieUtil cookieUtil; + @Override public int createMamographyRequest(ArrayList benDataForCareStream, long benRegID, long benVisitID, String Authorization) { int responseData = 0; RestTemplate restTemplate = new RestTemplate(); + HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader); try { // HttpHeaders headers = new HttpHeaders(); MultiValueMap headers = new LinkedMultiValueMap(); headers.add("Content-Type", "application/json"); headers.add("AUTHORIZATION", Authorization); + headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); String requestOBJ = getOrderCreationRequestOBJ(benDataForCareStream, benRegID, benVisitID); HttpEntity request = new HttpEntity(requestOBJ, headers); diff --git a/src/main/java/com/iemr/tm/service/common/transaction/CommonDoctorServiceImpl.java b/src/main/java/com/iemr/tm/service/common/transaction/CommonDoctorServiceImpl.java index c489bd19..02631d73 100644 --- a/src/main/java/com/iemr/tm/service/common/transaction/CommonDoctorServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/common/transaction/CommonDoctorServiceImpl.java @@ -43,6 +43,8 @@ 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; @@ -80,10 +82,13 @@ import com.iemr.tm.service.benFlowStatus.CommonBenStatusFlowServiceImpl; import com.iemr.tm.service.snomedct.SnomedServiceImpl; import com.iemr.tm.service.tele_consultation.SMSGatewayServiceImpl; +import com.iemr.tm.utils.CookieUtil; import com.iemr.tm.utils.exception.IEMRException; import com.iemr.tm.utils.mapper.InputMapper; import com.iemr.tm.utils.mapper.OutputMapper; +import jakarta.servlet.http.HttpServletRequest; + @Service @PropertySource("classpath:application.properties") public class CommonDoctorServiceImpl { @@ -120,6 +125,8 @@ public class CommonDoctorServiceImpl { private SMSGatewayServiceImpl sMSGatewayServiceImpl; @Autowired private FoetalMonitorRepo foetalMonitorRepo; + @Autowired + private CookieUtil cookieUtil; @Autowired public void setSnomedServiceImpl(SnomedServiceImpl snomedServiceImpl) { @@ -519,7 +526,6 @@ public String getPrescribedDrugs(Long beneficiaryRegID, Long visitCode) { return new Gson().toJson(prescribedDrugs); } - public String getReferralDetails(Long beneficiaryRegID, Long visitCode) { ArrayList resList = benReferDetailsRepo.getBenReferDetails(beneficiaryRegID, visitCode); @@ -711,7 +717,8 @@ public int updateBenFlowtableAfterDocDataSave(CommonUtilityClass commonUtilityCl if (commonUtilityClass != null && commonUtilityClass.getVisitCategoryID() != null && commonUtilityClass.getVisitCategoryID() == 4) { - ArrayList foetalMonitorData = foetalMonitorRepo.getFoetalMonitorDetailsByFlowId(tmpBenFlowID); + ArrayList foetalMonitorData = foetalMonitorRepo + .getFoetalMonitorDetailsByFlowId(tmpBenFlowID); if (foetalMonitorData.size() > 0) { labTechnicianFlag = 3; for (FoetalMonitor data : foetalMonitorData) { @@ -769,7 +776,6 @@ public int updateBenFlowtableAfterDocDataSave(CommonUtilityClass commonUtilityCl int i = 0; - if (commonUtilityClass != null && commonUtilityClass.getIsSpecialist() != null && commonUtilityClass.getIsSpecialist() == true) { // updating lab technician flag as well after feto sense @@ -857,7 +863,8 @@ public int updateBenFlowtableAfterDocDataUpdate(CommonUtilityClass commonUtility // Foetal monitor related update in visitcode and lab flag if (commonUtilityClass != null && commonUtilityClass.getVisitCategoryID() != null && commonUtilityClass.getVisitCategoryID() == 4) { - ArrayList foetalMonitorData = foetalMonitorRepo.getFoetalMonitorDetailsByFlowId(tmpBenFlowID); + ArrayList foetalMonitorData = foetalMonitorRepo + .getFoetalMonitorDetailsByFlowId(tmpBenFlowID); if (foetalMonitorData.size() > 0) { labTechnicianFlag = 3; for (FoetalMonitor data : foetalMonitorData) { @@ -940,7 +947,7 @@ public int updateBenFlowtableAfterDocDataUpdate(CommonUtilityClass commonUtility } - //TM Prescription SMS + // TM Prescription SMS if (commonUtilityClass.getIsSpecialist() == true) { if (tcSpecialistFlag == 9) { if (commonUtilityClass.getPrescriptionID() != null) @@ -982,9 +989,13 @@ public int callTmForSpecialistSlotBook(TcSpecialistSlotBookingRequestOBJ tcSpeci String requestOBJ = OutputMapper.gson().toJson(tcSpecialistSlotBookingRequestOBJ); RestTemplate restTemplate = new RestTemplate(); + HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader); MultiValueMap headers = new LinkedMultiValueMap(); headers.add("Content-Type", "application/json"); headers.add("AUTHORIZATION", Authorization); + headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); HttpEntity request = new HttpEntity(requestOBJ, headers); ResponseEntity response = restTemplate.exchange(tcSpecialistSlotBook, HttpMethod.POST, request, String.class); @@ -1042,8 +1053,8 @@ public void createTMPrescriptionSms(CommonUtilityClass commonUtilityClass) throw public String getFoetalMonitorData(Long beneFiciaryRegID, Long visitCode) { - ArrayList foetalMonitorData = foetalMonitorRepo.getFoetalMonitorDetailsForCaseRecord(beneFiciaryRegID, - visitCode); + ArrayList foetalMonitorData = foetalMonitorRepo + .getFoetalMonitorDetailsForCaseRecord(beneFiciaryRegID, visitCode); return new Gson().toJson(foetalMonitorData); diff --git a/src/main/java/com/iemr/tm/service/common/transaction/CommonServiceImpl.java b/src/main/java/com/iemr/tm/service/common/transaction/CommonServiceImpl.java index 5be53faf..9d1fb6bb 100644 --- a/src/main/java/com/iemr/tm/service/common/transaction/CommonServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/common/transaction/CommonServiceImpl.java @@ -39,6 +39,8 @@ 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.fasterxml.jackson.core.JsonProcessingException; import com.google.gson.Gson; @@ -62,9 +64,12 @@ import com.iemr.tm.service.pnc.PNCServiceImpl; import com.iemr.tm.service.quickConsultation.QuickConsultationServiceImpl; import com.iemr.tm.service.tele_consultation.TeleConsultationServiceImpl; +import com.iemr.tm.utils.CookieUtil; import com.iemr.tm.utils.exception.IEMRException; import com.iemr.tm.utils.mapper.InputMapper; +import jakarta.servlet.http.HttpServletRequest; + @Service @PropertySource("classpath:application.properties") public class CommonServiceImpl implements CommonService { @@ -94,6 +99,8 @@ public class CommonServiceImpl implements CommonService { @Autowired private BenVisitDetailRepo benVisitDetailRepo; + @Autowired + private CookieUtil cookieUtil; @Autowired public void setCsServiceImpl(CSServiceImpl csServiceImpl) { @@ -139,13 +146,14 @@ public void setAncServiceImpl(ANCServiceImpl ancServiceImpl) { public void setBeneficiaryFlowStatusRepo(BeneficiaryFlowStatusRepo beneficiaryFlowStatusRepo) { this.beneficiaryFlowStatusRepo = beneficiaryFlowStatusRepo; } - + @Autowired public void setNcdScreeningServiceImpl(NCDScreeningServiceImpl ncdScreeningServiceImpl) { this.ncdScreeningServiceImpl = ncdScreeningServiceImpl; } - public String getCaseSheetPrintDataForBeneficiary(BeneficiaryFlowStatus benFlowOBJ, String Authorization) throws JsonProcessingException, ParseException { + public String getCaseSheetPrintDataForBeneficiary(BeneficiaryFlowStatus benFlowOBJ, String Authorization) + throws JsonProcessingException, ParseException { String visitCategory = benFlowOBJ.getVisitCategory(); String caseSheetData = null; @@ -182,7 +190,7 @@ public String getCaseSheetPrintDataForBeneficiary(BeneficiaryFlowStatus benFlowO case "NCD screening": { caseSheetData = getNCDScreening_PrintData(benFlowOBJ); } - break; + break; default: { caseSheetData = "Invalid VisitCategory"; } @@ -228,7 +236,8 @@ private String getCancerScreening_PrintData(BeneficiaryFlowStatus benFlowOBJ) { return caseSheetData.toString(); } - private String getGenOPD_PrintData(BeneficiaryFlowStatus benFlowOBJ) throws JsonProcessingException, ParseException { + private String getGenOPD_PrintData(BeneficiaryFlowStatus benFlowOBJ) + throws JsonProcessingException, ParseException { Map caseSheetData = new HashMap<>(); caseSheetData.put("nurseData", generalOPDServiceImpl.getBenGeneralOPDNurseData(benFlowOBJ.getBeneficiaryRegID(), @@ -245,7 +254,8 @@ private String getGenOPD_PrintData(BeneficiaryFlowStatus benFlowOBJ) throws Json return caseSheetData.toString(); } - private String getNCDcare_PrintData(BeneficiaryFlowStatus benFlowOBJ) throws JsonProcessingException, ParseException { + private String getNCDcare_PrintData(BeneficiaryFlowStatus benFlowOBJ) + throws JsonProcessingException, ParseException { Map caseSheetData = new HashMap<>(); caseSheetData.put("nurseData", ncdCareServiceImpl.getBenNCDCareNurseData(benFlowOBJ.getBeneficiaryRegID(), @@ -296,7 +306,8 @@ private String getQC_PrintData(BeneficiaryFlowStatus benFlowOBJ) throws JsonProc return caseSheetData.toString(); } - private String getCovid19_PrintData(BeneficiaryFlowStatus benFlowOBJ) throws JsonProcessingException, ParseException { + private String getCovid19_PrintData(BeneficiaryFlowStatus benFlowOBJ) + throws JsonProcessingException, ParseException { Map caseSheetData = new HashMap<>(); caseSheetData.put("nurseData", covid19ServiceImpl.getBenCovidNurseData(benFlowOBJ.getBeneficiaryRegID(), @@ -312,15 +323,16 @@ private String getCovid19_PrintData(BeneficiaryFlowStatus benFlowOBJ) throws Jso return caseSheetData.toString(); } - - private String getNCDScreening_PrintData(BeneficiaryFlowStatus benFlowOBJ) throws JsonProcessingException, ParseException { + + private String getNCDScreening_PrintData(BeneficiaryFlowStatus benFlowOBJ) + throws JsonProcessingException, ParseException { Map caseSheetData = new HashMap<>(); - caseSheetData.put("nurseData", ncdScreeningServiceImpl.getBenNCDScreeningNurseData(benFlowOBJ.getBeneficiaryRegID(), - benFlowOBJ.getBenVisitCode())); + caseSheetData.put("nurseData", ncdScreeningServiceImpl + .getBenNCDScreeningNurseData(benFlowOBJ.getBeneficiaryRegID(), benFlowOBJ.getBenVisitCode())); - caseSheetData.put("doctorData", ncdScreeningServiceImpl - .getBenCaseRecordFromDoctorNCDScreening(benFlowOBJ.getBeneficiaryRegID(), benFlowOBJ.getBenVisitCode())); + caseSheetData.put("doctorData", ncdScreeningServiceImpl.getBenCaseRecordFromDoctorNCDScreening( + benFlowOBJ.getBeneficiaryRegID(), benFlowOBJ.getBenVisitCode())); caseSheetData.put("BeneficiaryData", getBenDetails(benFlowOBJ.getBenFlowID(), benFlowOBJ.getBeneficiaryRegID())); @@ -387,17 +399,16 @@ public String getFamilyHistoryData(Long beneficiaryRegID) { return commonNurseServiceImpl.fetchBenPersonalFamilyHistory(beneficiaryRegID); } /// ------- End of Fetch beneficiary all Family history data ------ - + public String getProviderSpecificData(String request) throws IEMRException { return commonNurseServiceImpl.fetchProviderSpecificdata(request); } + // ------- Fetch beneficiary all Physical history data --------------- - public String getBenPhysicalHistory(Long beneficiaryRegID) { - return commonNurseServiceImpl.fetchBenPhysicalHistory(beneficiaryRegID); + public String getBenPhysicalHistory(Long beneficiaryRegID) { + return commonNurseServiceImpl.fetchBenPhysicalHistory(beneficiaryRegID); } /// ------- End of Fetch beneficiary all Physical history data ------ - - // ------- Fetch beneficiary all Menstrual history data ----------- public String getMenstrualHistoryData(Long beneficiaryRegID) { @@ -499,8 +510,8 @@ public TeleconsultationRequestOBJ createTcRequest(JsonObject requestOBJ, CommonU tRequestModel.setBeneficiaryRegID(commonUtilityClass.getBeneficiaryRegID()); tRequestModel.setProviderServiceMapID(commonUtilityClass.getProviderServiceMapID()); tRequestModel.setVisitCode(commonUtilityClass.getVisitCode()); - if(commonUtilityClass.getBenVisitID() != null) - tRequestModel.setBenVisitID(commonUtilityClass.getBenVisitID()); + if (commonUtilityClass.getBenVisitID() != null) + tRequestModel.setBenVisitID(commonUtilityClass.getBenVisitID()); tRequestModel.setUserID(tcRequestOBJ.getUserID()); tRequestModel.setSpecializationID(tcRequestOBJ.getSpecializationID()); @@ -540,6 +551,9 @@ public TeleconsultationRequestOBJ createTcRequest(JsonObject requestOBJ, CommonU public String getOpenKMDocURL(String requestOBJ, String Authorization) throws JSONException { RestTemplate restTemplate = new RestTemplate(); + HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader); String fileUUID = null; JSONObject obj = new JSONObject(requestOBJ); if (obj.has("fileID")) { @@ -552,6 +566,7 @@ public String getOpenKMDocURL(String requestOBJ, String Authorization) throws JS MultiValueMap headers = new LinkedMultiValueMap(); headers.add("Content-Type", "application/json"); headers.add("AUTHORIZATION", Authorization); + headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); HttpEntity request = new HttpEntity(requestBody, headers); ResponseEntity response = restTemplate.exchange(openkmDocUrl, HttpMethod.POST, request, String.class); @@ -562,25 +577,23 @@ public String getOpenKMDocURL(String requestOBJ, String Authorization) throws JS return null; } - + @Override public String getBenSymptomaticQuestionnaireDetailsData(Long beneficiaryRegID) throws Exception { return commonNurseServiceImpl.getBenSymptomaticData(beneficiaryRegID); } - + @Override public String getBenPreviousDiabetesData(Long beneficiaryRegID) throws Exception { return commonNurseServiceImpl.getBenPreviousDiabetesData(beneficiaryRegID); } - + @Override public String getBenPreviousReferralData(Long beneficiaryRegID) throws Exception { return commonNurseServiceImpl.getBenPreviousReferralData(beneficiaryRegID); } - - } diff --git a/src/main/java/com/iemr/tm/service/registrar/RegistrarServiceImpl.java b/src/main/java/com/iemr/tm/service/registrar/RegistrarServiceImpl.java index 72fbaac1..213daaab 100644 --- a/src/main/java/com/iemr/tm/service/registrar/RegistrarServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/registrar/RegistrarServiceImpl.java @@ -47,6 +47,8 @@ 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.GsonBuilder; @@ -70,9 +72,12 @@ import com.iemr.tm.repo.registrar.RegistrarRepoBeneficiaryDetails; import com.iemr.tm.repo.registrar.ReistrarRepoBenSearch; import com.iemr.tm.service.benFlowStatus.CommonBenStatusFlowServiceImpl; +import com.iemr.tm.utils.CookieUtil; import com.iemr.tm.utils.mapper.InputMapper; import com.iemr.tm.utils.response.OutputResponse; +import jakarta.servlet.http.HttpServletRequest; + @Service @PropertySource("classpath:application.properties") public class RegistrarServiceImpl implements RegistrarService { @@ -102,6 +107,8 @@ public class RegistrarServiceImpl implements RegistrarService { private RegistrarRepoBeneficiaryDetails registrarRepoBeneficiaryDetails; private BeneficiaryImageRepo beneficiaryImageRepo; private CommonBenStatusFlowServiceImpl commonBenStatusFlowServiceImpl; + @Autowired + private CookieUtil cookieUtil; @Autowired public void setCommonBenStatusFlowServiceImpl(CommonBenStatusFlowServiceImpl commonBenStatusFlowServiceImpl) { @@ -234,7 +241,6 @@ private BeneficiaryDemographicAdditional getBeneficiaryDemographicAdditional(Jso cal.set(Calendar.MONTH, 1); cal.set(Calendar.DAY_OF_YEAR, 1); - Timestamp timestamp = new java.sql.Timestamp(cal.getTimeInMillis()); benDemoAd.setMarrigeDate(timestamp); @@ -446,7 +452,6 @@ public String getBeneficiaryDetails(Long beneficiaryRegID) { Gson gson = gsonBuilder.create(); List resList = registrarRepoBeneficiaryDetails.getBeneficiaryDetails(beneficiaryRegID); - if (resList != null && resList.size() > 0) { ArrayList> govIdList = new ArrayList<>(); @@ -652,10 +657,14 @@ public String registerBeneficiary(String comingRequest, String Authorization) th Long beneficiaryID = null; RestTemplate restTemplate = new RestTemplate(); + HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader); MultiValueMap headers = new LinkedMultiValueMap(); headers.add("Content-Type", MediaType.APPLICATION_JSON + ";charset=utf-8"); // headers.add("Content-Type", MediaType.APPLICATION_JSON); headers.add("AUTHORIZATION", Authorization); + headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); HttpEntity request = new HttpEntity(comingRequest, headers); ResponseEntity response = restTemplate.exchange(registrationUrl, HttpMethod.POST, request, String.class); @@ -693,10 +702,14 @@ public String registerBeneficiary(String comingRequest, String Authorization) th public Integer updateBeneficiary(String comingRequest, String Authorization) throws Exception { Integer returnOBJ = null; RestTemplate restTemplate = new RestTemplate(); + HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader); MultiValueMap headers = new LinkedMultiValueMap(); // headers.add("Content-Type", "application/json"); headers.add("Content-Type", MediaType.APPLICATION_JSON + ";charset=utf-8"); headers.add("AUTHORIZATION", Authorization); + headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); HttpEntity request = new HttpEntity(comingRequest, headers); ResponseEntity response = restTemplate.exchange(beneficiaryEditUrl, HttpMethod.POST, request, String.class); @@ -715,10 +728,14 @@ public Integer updateBeneficiary(String comingRequest, String Authorization) thr public String beneficiaryQuickSearch(String requestObj, String Authorization) throws JSONException { String returnOBJ = null; RestTemplate restTemplate = new RestTemplate(); + HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader); JSONObject obj = new JSONObject(requestObj); MultiValueMap headers = new LinkedMultiValueMap(); headers.add("Content-Type", "application/json"); headers.add("AUTHORIZATION", Authorization); + headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); if ((obj.has("beneficiaryID") && !obj.isNull("beneficiaryID")) || (obj.has("HealthID") && !obj.isNull("HealthID")) || (obj.has("HealthIDNumber") && !obj.isNull("HealthIDNumber"))) { @@ -745,10 +762,14 @@ public String beneficiaryQuickSearch(String requestObj, String Authorization) th public String beneficiaryAdvanceSearch(String requestObj, String Authorization) throws JSONException { String returnOBJ = null; RestTemplate restTemplate = new RestTemplate(); + HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader); JSONObject obj = new JSONObject(requestObj); MultiValueMap headers = new LinkedMultiValueMap(); headers.add("Content-Type", "application/json"); headers.add("AUTHORIZATION", Authorization); + headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); HttpEntity request = new HttpEntity(requestObj, headers); ResponseEntity response = restTemplate.exchange(registrarAdvanceSearchUrl, HttpMethod.POST, request, String.class); diff --git a/src/main/java/com/iemr/tm/service/tele_consultation/SMSGatewayServiceImpl.java b/src/main/java/com/iemr/tm/service/tele_consultation/SMSGatewayServiceImpl.java index c0c6efcd..98fa629b 100644 --- a/src/main/java/com/iemr/tm/service/tele_consultation/SMSGatewayServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/tele_consultation/SMSGatewayServiceImpl.java @@ -36,6 +36,8 @@ import org.springframework.http.MediaType; import org.springframework.stereotype.Service; 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; @@ -44,6 +46,9 @@ import com.iemr.tm.data.quickConsultation.PrescribedDrugDetail; import com.iemr.tm.data.tele_consultation.SmsRequestOBJ; import com.iemr.tm.repo.tc_consultation.TCRequestModelRepo; +import com.iemr.tm.utils.CookieUtil; + +import jakarta.servlet.http.HttpServletRequest; @Service @PropertySource("classpath:application.properties") @@ -63,6 +68,8 @@ public class SMSGatewayServiceImpl implements SMSGatewayService { private TCRequestModelRepo tCRequestModelRepo; @Autowired RestTemplate restTemplate; + @Autowired + private CookieUtil cookieUtil; private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); @Override @@ -70,27 +77,24 @@ public int smsSenderGateway(String smsType, Long benRegID, Integer specializatio Long tMRequestCancelID, String createdBy, String tcDate, String tcPreviousDate, String Authorization) { int returnOBJ = 0; - try - { - String requestOBJ = createSMSRequest(smsType, benRegID, specializationID, tMRequestID, tMRequestCancelID, - createdBy, tcDate, tcPreviousDate); - - if (requestOBJ != null) { - String smsStatus = sendSMS(requestOBJ, Authorization); - if (smsStatus != null) { - JsonObject jsnOBJ = new JsonObject(); - JsonParser jsnParser = new JsonParser(); - JsonElement jsnElmnt = jsnParser.parse(smsStatus); - jsnOBJ = jsnElmnt.getAsJsonObject(); - if (jsnOBJ != null && jsnOBJ.get("statusCode").getAsInt() == 200) - returnOBJ = 1; + try { + String requestOBJ = createSMSRequest(smsType, benRegID, specializationID, tMRequestID, tMRequestCancelID, + createdBy, tcDate, tcPreviousDate); + + if (requestOBJ != null) { + String smsStatus = sendSMS(requestOBJ, Authorization); + if (smsStatus != null) { + JsonObject jsnOBJ = new JsonObject(); + JsonParser jsnParser = new JsonParser(); + JsonElement jsnElmnt = jsnParser.parse(smsStatus); + jsnOBJ = jsnElmnt.getAsJsonObject(); + if (jsnOBJ != null && jsnOBJ.get("statusCode").getAsInt() == 200) + returnOBJ = 1; + } + // System.out.println("hello"); } - // System.out.println("hello"); - } - } - catch(Exception e) - { - logger.info("Exception during sending "+smsType+" SMS " + e.getMessage()); + } catch (Exception e) { + logger.info("Exception during sending " + smsType + " SMS " + e.getMessage()); } return returnOBJ; @@ -191,9 +195,13 @@ public String createSMSRequest(String smsType, Long benRegID, Integer specializa @Override public String sendSMS(String request, String Authorization) { + HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader); HttpHeaders headers = new HttpHeaders(); headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); headers.set("AUTHORIZATION", Authorization); + headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); HttpEntity requestOBJ = new HttpEntity(request, headers); diff --git a/src/main/java/com/iemr/tm/service/tele_consultation/TeleConsultationServiceImpl.java b/src/main/java/com/iemr/tm/service/tele_consultation/TeleConsultationServiceImpl.java index b0faf9a3..337e1c39 100644 --- a/src/main/java/com/iemr/tm/service/tele_consultation/TeleConsultationServiceImpl.java +++ b/src/main/java/com/iemr/tm/service/tele_consultation/TeleConsultationServiceImpl.java @@ -42,6 +42,8 @@ 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; @@ -57,9 +59,12 @@ import com.iemr.tm.repo.tc_consultation.TCRequestModelRepo; import com.iemr.tm.repo.tc_consultation.TeleconsultationStatsRepo; import com.iemr.tm.service.common.transaction.CommonServiceImpl; +import com.iemr.tm.utils.CookieUtil; import com.iemr.tm.utils.mapper.InputMapper; import com.iemr.tm.utils.mapper.OutputMapper; +import jakarta.servlet.http.HttpServletRequest; + @Service @PropertySource("classpath:application.properties") public class TeleConsultationServiceImpl implements TeleConsultationService { @@ -76,6 +81,8 @@ public class TeleConsultationServiceImpl implements TeleConsultationService { private SMSGatewayServiceImpl sMSGatewayServiceImpl; @Autowired private TeleconsultationStatsRepo teleconsultationStatsRepo; + @Autowired + private CookieUtil cookieUtil; public Long createTCRequest(TCRequestModel tCRequestModel) { TCRequestModel tCRequestModelRS = tCRequestModelRepo.save(tCRequestModel); @@ -211,9 +218,13 @@ public int cancelSlotForTCCancel(int userID, long benRegID, long visitCode, Stri String requestOBJ = OutputMapper.gson().toJson(obj); RestTemplate restTemplate = new RestTemplate(); + HttpServletRequest requestHeader = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); + String jwtTokenFromCookie = cookieUtil.getJwtTokenFromCookie(requestHeader); MultiValueMap headers = new LinkedMultiValueMap(); headers.add("Content-Type", "application/json"); headers.add("AUTHORIZATION", Authorization); + headers.add("Cookie", "Jwttoken=" + jwtTokenFromCookie); HttpEntity request = new HttpEntity(requestOBJ, headers); ResponseEntity response = restTemplate.exchange(tcSpecialistSlotCancel, HttpMethod.POST, request, String.class); From ef017ccea189c374545621ed793110865fb36410 Mon Sep 17 00:00:00 2001 From: indraniBan <133205641+indraniBan@users.noreply.github.com> Date: Thu, 27 Feb 2025 12:24:19 +0530 Subject: [PATCH 2/2] Update package.yml --- .github/workflows/package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 424e4610..518c6242 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: TM-API path: target/tmapi-v1.0.war