From 2d3830669ef7a8d4f4ab78752d4d19b0e0ce1682 Mon Sep 17 00:00:00 2001 From: Anjana Date: Thu, 22 Jun 2023 17:24:09 +0530 Subject: [PATCH 1/3] Removing password encryption --- pom.xml | 2 +- src/main/environment/common_test.properties | 12 +- .../iemr/common/config/PrimaryDBConfig.java | 8 +- .../iemr/common/config/SecondaryDBConfig.java | 9 +- .../DoorToDoorServiceImpl.java | 96 ++++++--------- .../service/email/EmailServiceImpl.java | 58 ++++----- .../EverwellRegistrationServiceImpl.java | 11 +- .../common/service/otp/OTPHandlerImpl.java | 12 +- .../common/service/sms/SMSServiceImpl.java | 70 +++++------ .../service/swaasa/SwassaServiceImpl.java | 20 ++- .../com/iemr/common/utils/CryptoUtil.java | 76 ------------ src/main/resources/application.properties | 115 ++---------------- 12 files changed, 132 insertions(+), 357 deletions(-) delete mode 100644 src/main/java/com/iemr/common/utils/CryptoUtil.java diff --git a/pom.xml b/pom.xml index 1359391d..8f19db5b 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ 1.2.0.Final 1.16.18 commonapi-v1.0 - dev + test target/classes/application.properties src/main/environment/common_${environment}.properties 10.208.122.32 diff --git a/src/main/environment/common_test.properties b/src/main/environment/common_test.properties index 9031cd9d..402feede 100644 --- a/src/main/environment/common_test.properties +++ b/src/main/environment/common_test.properties @@ -5,16 +5,16 @@ spring.jpa.database=default ##--------------------------------------------## Primary db------------------------------------------------------------------- -encDbUserName=zFlYsp9Z0s+lRvLM15A3g/Ba0w8VGs/1usuW7EsGF3k= -encDbPass=JGGAGn5wTlrbTLUHY+5BzfBa0w8VGs/1usuW7EsGF3k= -spring.datasource.url=jdbc:mysql://10.208.122.38:3306/db_iemr?autoReconnect=true&useSSL=false +encDbUserName= +encDbPass= +spring.datasource.url= spring.datasource.driver-class-name=com.mysql.jdbc.Driver -encDbUserNameSec=zFlYsp9Z0s+lRvLM15A3g/Ba0w8VGs/1usuW7EsGF3k= -encDbPassSec=JGGAGn5wTlrbTLUHY+5BzfBa0w8VGs/1usuW7EsGF3k= -secondary.datasource.url=jdbc:mysql://10.208.122.38:3306/db_reporting?autoReconnect=true&useSSL=false +encDbUserNameSec= +encDbPassSec= +secondary.datasource.url= secondary.datasource.driver-class-name=com.mysql.jdbc.Driver ##-------------------------------------------------------------# KM config-------------------------------------------------- diff --git a/src/main/java/com/iemr/common/config/PrimaryDBConfig.java b/src/main/java/com/iemr/common/config/PrimaryDBConfig.java index cf5e1911..03770636 100644 --- a/src/main/java/com/iemr/common/config/PrimaryDBConfig.java +++ b/src/main/java/com/iemr/common/config/PrimaryDBConfig.java @@ -28,7 +28,6 @@ import org.apache.tomcat.jdbc.pool.PoolProperties; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; @@ -41,7 +40,6 @@ import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement; -import com.iemr.common.utils.CryptoUtil; import com.iemr.common.utils.config.ConfigProperties; @Configuration @@ -50,8 +48,6 @@ "com.iemr.common.repo", "com.iemr.common.notification.agent", "com.iemr.common.covidVaccination" }) public class PrimaryDBConfig { - @Autowired - private CryptoUtil cryptoUtil; Logger logger = LoggerFactory.getLogger(this.getClass().getName()); @Primary @@ -73,8 +69,8 @@ public DataSource dataSource() { org.apache.tomcat.jdbc.pool.DataSource datasource = new org.apache.tomcat.jdbc.pool.DataSource(); datasource.setPoolProperties(p); - datasource.setUsername(cryptoUtil.decrypt(ConfigProperties.getPropertyByName("encDbUserName"))); - datasource.setPassword(cryptoUtil.decrypt(ConfigProperties.getPropertyByName("encDbPass"))); + datasource.setUsername(ConfigProperties.getPropertyByName("encDbUserName")); + datasource.setPassword(ConfigProperties.getPropertyByName("encDbPass")); return datasource; } diff --git a/src/main/java/com/iemr/common/config/SecondaryDBConfig.java b/src/main/java/com/iemr/common/config/SecondaryDBConfig.java index 8cc4b2d9..93786eeb 100644 --- a/src/main/java/com/iemr/common/config/SecondaryDBConfig.java +++ b/src/main/java/com/iemr/common/config/SecondaryDBConfig.java @@ -28,7 +28,6 @@ import org.apache.tomcat.jdbc.pool.PoolProperties; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; @@ -40,7 +39,6 @@ import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement; -import com.iemr.common.utils.CryptoUtil; import com.iemr.common.utils.config.ConfigProperties; @Configuration @@ -49,9 +47,6 @@ "com.iemr.common.secondary.repository.callreport" }) public class SecondaryDBConfig { - @Autowired - private CryptoUtil cryptoUtil; - Logger logger = LoggerFactory.getLogger(this.getClass().getName()); @Bean(name = "secondaryDataSource") @@ -72,8 +67,8 @@ public DataSource dataSource() { org.apache.tomcat.jdbc.pool.DataSource datasource = new org.apache.tomcat.jdbc.pool.DataSource(); datasource.setPoolProperties(p); - datasource.setUsername(cryptoUtil.decrypt(ConfigProperties.getPropertyByName("encDbUserNameSec"))); - datasource.setPassword(cryptoUtil.decrypt(ConfigProperties.getPropertyByName("encDbPassSec"))); + datasource.setUsername(ConfigProperties.getPropertyByName("encDbUserNameSec")); + datasource.setPassword(ConfigProperties.getPropertyByName("encDbPassSec")); return datasource; } diff --git a/src/main/java/com/iemr/common/service/door_to_door_app/DoorToDoorServiceImpl.java b/src/main/java/com/iemr/common/service/door_to_door_app/DoorToDoorServiceImpl.java index 64ca1ecf..8835c78e 100644 --- a/src/main/java/com/iemr/common/service/door_to_door_app/DoorToDoorServiceImpl.java +++ b/src/main/java/com/iemr/common/service/door_to_door_app/DoorToDoorServiceImpl.java @@ -22,14 +22,10 @@ package com.iemr.common.service.door_to_door_app; import java.math.BigInteger; -import java.sql.Timestamp; import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; import java.util.HashMap; import java.util.Map; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -51,15 +47,11 @@ import com.iemr.common.data.door_to_door_app.V_doortodooruserdetails; import com.iemr.common.model.user.LoginRequestModel; import com.iemr.common.repo.door_to_door_app.V_doortodooruserdetailsRepo; -import com.iemr.common.utils.CryptoUtil; import com.iemr.common.utils.mapper.InputMapper; @Service @PropertySource("classpath:application.properties") public class DoorToDoorServiceImpl implements DoorToDoorService { - - @Autowired - private CryptoUtil cryptoUtil; @Value("${avniRegistrationLimit}") private String avniRegistrationLimit; @@ -232,7 +224,7 @@ public String get_NCD_TB_HRP_Suspected_Status(RequestParser rp) throws Exception @Override public void scheduleJobForRegisterAvniBeneficiary() throws Exception { - + RestTemplate restTemplate = new RestTemplate(); Integer updateCount = 0; Long id = null; @@ -241,47 +233,44 @@ public void scheduleJobForRegisterAvniBeneficiary() throws Exception { Long benId = null; Integer count = 0; try { - ArrayList list = v_doortodooruserdetailsRepo - .getAvniBeneficiary(avniRegistrationLimit !=null ? Integer.parseInt(avniRegistrationLimit) : 10); - - if(list !=null && list.size()>0) - { - - for (Object[] obj : list) { - id = obj[0] != null ? ((BigInteger) obj[0]).longValue() : null; - json = obj[1] != null ? obj[1].toString() : null; - extId = obj[2] != null ? obj[2].toString() : null; - benId = obj[3] != null ? ((BigInteger) obj[3]).longValue() : null; - count = v_doortodooruserdetailsRepo.checkIfAvniIdExists(extId); - if (count > 0) - logger.info("Beneficiary with Avni Id " + extId + " already exists"); - else { - MultiValueMap headers = new LinkedMultiValueMap(); - headers.add("Content-Type", "application/json"); - headers.add("AUTHORIZATION", amritUserAuthenticate()); - HttpEntity requestReg = new HttpEntity(json, headers); - ResponseEntity response = restTemplate.exchange(everwellRegisterBenficiary, HttpMethod.POST, - requestReg, String.class); - - if (response.getStatusCodeValue() == 200 & response.hasBody()) { - logger.info("registration api response " + response.getBody()); - String responseStr = response.getBody(); - JsonObject jsnOBJ = new JsonObject(); - JsonParser jsnParser = new JsonParser(); - JsonElement jsnElmnt = jsnParser.parse(responseStr); - jsnOBJ = jsnElmnt.getAsJsonObject(); - JsonObject jsonData = jsnOBJ.getAsJsonObject("data"); - benId = Long.parseLong(jsonData.get("beneficiaryID").getAsString()); - updateCount = v_doortodooruserdetailsRepo.updateAvniBenId(id, benId); - logger.info("Beneficiary Id "+benId+" registered successfully"); + ArrayList list = v_doortodooruserdetailsRepo + .getAvniBeneficiary(avniRegistrationLimit != null ? Integer.parseInt(avniRegistrationLimit) : 10); + + if (list != null && list.size() > 0) { + + for (Object[] obj : list) { + id = obj[0] != null ? ((BigInteger) obj[0]).longValue() : null; + json = obj[1] != null ? obj[1].toString() : null; + extId = obj[2] != null ? obj[2].toString() : null; + benId = obj[3] != null ? ((BigInteger) obj[3]).longValue() : null; + count = v_doortodooruserdetailsRepo.checkIfAvniIdExists(extId); + if (count > 0) + logger.info("Beneficiary with Avni Id " + extId + " already exists"); + else { + MultiValueMap headers = new LinkedMultiValueMap(); + headers.add("Content-Type", "application/json"); + headers.add("AUTHORIZATION", amritUserAuthenticate()); + HttpEntity requestReg = new HttpEntity(json, headers); + ResponseEntity response = restTemplate.exchange(everwellRegisterBenficiary, + HttpMethod.POST, requestReg, String.class); + + if (response.getStatusCodeValue() == 200 & response.hasBody()) { + logger.info("registration api response " + response.getBody()); + String responseStr = response.getBody(); + JsonObject jsnOBJ = new JsonObject(); + JsonParser jsnParser = new JsonParser(); + JsonElement jsnElmnt = jsnParser.parse(responseStr); + jsnOBJ = jsnElmnt.getAsJsonObject(); + JsonObject jsonData = jsnOBJ.getAsJsonObject("data"); + benId = Long.parseLong(jsonData.get("beneficiaryID").getAsString()); + updateCount = v_doortodooruserdetailsRepo.updateAvniBenId(id, benId); + logger.info("Beneficiary Id " + benId + " registered successfully"); + } + } } - } - } - } - else - logger.info("No new records found"); - }catch(Exception e) - { + } else + logger.info("No new records found"); + } catch (Exception e) { logger.error(e.getLocalizedMessage()); } @@ -289,13 +278,8 @@ public void scheduleJobForRegisterAvniBeneficiary() throws Exception { public String amritUserAuthenticate() { String authorization = ""; - /* - * StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor(); - * encryptor.setAlgorithm("PBEWithMD5AndDES"); - * encryptor.setPassword("dev-env-secret"); - */ - String amritUser = cryptoUtil.decrypt(amritUserName); - String amritPass = cryptoUtil.decrypt(amritPassword); + String amritUser = amritUserName; + String amritPass = amritPassword; LoginRequestModel loginCredentials = new LoginRequestModel(amritUser, amritPass); loginCredentials.setDoLogout(true); MultiValueMap headersLogin = new LinkedMultiValueMap(); diff --git a/src/main/java/com/iemr/common/service/email/EmailServiceImpl.java b/src/main/java/com/iemr/common/service/email/EmailServiceImpl.java index 5ea15cb5..0251d88b 100644 --- a/src/main/java/com/iemr/common/service/email/EmailServiceImpl.java +++ b/src/main/java/com/iemr/common/service/email/EmailServiceImpl.java @@ -56,17 +56,13 @@ import com.iemr.common.repository.email.StockAlertDataRepo; import com.iemr.common.repository.feedback.FeedbackRepository; import com.iemr.common.service.beneficiary.IEMRSearchUserService; -import com.iemr.common.utils.CryptoUtil; import com.iemr.common.utils.config.ConfigProperties; import com.iemr.common.utils.http.HttpUtils; import com.iemr.common.utils.mapper.InputMapper; @Service public class EmailServiceImpl implements EmailService { - - @Autowired - private CryptoUtil cryptoUtil; - + private InputMapper inputMapper = new InputMapper(); @Autowired private JavaMailSender javaMailSender; @@ -444,27 +440,27 @@ public void publishEmail() { } else { dataList = new ArrayList<>(); dataList.add(stockAlertData); - if(stockAlertData !=null && stockAlertData.getEmailid() !=null) - dataMap.put(stockAlertData.getEmailid(), dataList); + if (stockAlertData != null && stockAlertData.getEmailid() != null) + dataMap.put(stockAlertData.getEmailid(), dataList); } } } else { logger.info("No Alert emails to be sent"); } - int sendMail=0; + int sendMail = 0; for (Entry> entry : dataMap.entrySet()) { logger.info(entry.getKey() + ": key"); logger.info(entry.getValue().toString() + ": value"); try { - byte[] bytes = ExcelHelper.InventoryDataToExcel(entry.getValue()); - ByteArrayDataSource byteArrayOutputStream = new ByteArrayDataSource(bytes, "application/vnd.ms-excel"); - sendMail=sendEmailWithAttachment(entry.getKey(),byteArrayOutputStream); - if(sendMail ==1) - logger.info("Email successfully sent to "+entry.getKey()); - else - logger.info("Error while sending email to "+entry.getKey()); - }catch(Exception e) - { + byte[] bytes = ExcelHelper.InventoryDataToExcel(entry.getValue()); + ByteArrayDataSource byteArrayOutputStream = new ByteArrayDataSource(bytes, + "application/vnd.ms-excel"); + sendMail = sendEmailWithAttachment(entry.getKey(), byteArrayOutputStream); + if (sendMail == 1) + logger.info("Email successfully sent to " + entry.getKey()); + else + logger.info("Error while sending email to " + entry.getKey()); + } catch (Exception e) { logger.info(e.getLocalizedMessage()); } } @@ -506,24 +502,24 @@ public void publishEmail() { int sendEmailWithAttachment(String recipient, ByteArrayDataSource attachment) throws Exception { try { // Creating a mime message - JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); - mailSender.setHost(host); - mailSender.setPort(Integer.parseInt(port)); - - String decryptSender = cryptoUtil.decrypt(sender); - String decryptPass = cryptoUtil.decrypt(password); - - mailSender.setUsername(decryptSender); - mailSender.setPassword(decryptPass); - Properties props = mailSender.getJavaMailProperties(); - props.put("mail.smtp.auth", "true"); - props.put("mail.smtp.starttls.enable", "true"); + JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); + mailSender.setHost(host); + mailSender.setPort(Integer.parseInt(port)); + + String decryptSender = sender; + String decryptPass = password; + + mailSender.setUsername(decryptSender); + mailSender.setPassword(decryptPass); + Properties props = mailSender.getJavaMailProperties(); + props.put("mail.smtp.auth", "true"); + props.put("mail.smtp.starttls.enable", "true"); MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper mimeMessageHelper; mimeMessageHelper = new MimeMessageHelper(mimeMessage, true); mimeMessageHelper.setFrom(sender); mimeMessageHelper.setTo(recipient); - mimeMessageHelper.setText("Sample"); + mimeMessageHelper.setText("Sample"); mimeMessageHelper.setSubject(subject); mimeMessageHelper.addAttachment("InventoryStockAlert.xlsx", attachment); @@ -533,7 +529,7 @@ int sendEmailWithAttachment(String recipient, ByteArrayDataSource attachment) th } catch (Exception e) { - throw new Exception("Error while Sending Mail to "+recipient+" : " + e.getLocalizedMessage()); + throw new Exception("Error while Sending Mail to " + recipient + " : " + e.getLocalizedMessage()); } } } diff --git a/src/main/java/com/iemr/common/service/everwell/EverwellRegistrationServiceImpl.java b/src/main/java/com/iemr/common/service/everwell/EverwellRegistrationServiceImpl.java index f46bbd7d..4d5b6aaa 100644 --- a/src/main/java/com/iemr/common/service/everwell/EverwellRegistrationServiceImpl.java +++ b/src/main/java/com/iemr/common/service/everwell/EverwellRegistrationServiceImpl.java @@ -56,15 +56,12 @@ import com.iemr.common.repository.everwell.EverwellFetchAndSync; import com.iemr.common.repository.location.LocationDistrictRepository; import com.iemr.common.repository.location.LocationStateRepository; -import com.iemr.common.utils.CryptoUtil; import com.iemr.common.utils.mapper.InputMapper; import com.iemr.common.utils.response.OutputResponse; @Service @PropertySource("classpath:application.properties") public class EverwellRegistrationServiceImpl implements EverwellRegistrationService { - @Autowired - private CryptoUtil cryptoUtil; private InputMapper inputMapper = new InputMapper(); @@ -147,14 +144,14 @@ public void registerBeneficiary() { try { // 1097 user authentication - - String amritUser = cryptoUtil.decrypt(amritUserName); - String amritPass = cryptoUtil.decrypt(amritPassword); + + String amritUser = amritUserName; + String amritPass = amritPassword; LoginRequestModel loginCredentials1097 = new LoginRequestModel(amritUser, amritPass); MultiValueMap headersLogin = new LinkedMultiValueMap(); headersLogin.add("Content-Type", "application/json"); - //headersLogin.add("AUTHORIZATION", ""); + // headersLogin.add("AUTHORIZATION", ""); logger.info("AMRIT login request OBj " + loginCredentials1097.toString()); diff --git a/src/main/java/com/iemr/common/service/otp/OTPHandlerImpl.java b/src/main/java/com/iemr/common/service/otp/OTPHandlerImpl.java index bf85ed1a..9782aba2 100644 --- a/src/main/java/com/iemr/common/service/otp/OTPHandlerImpl.java +++ b/src/main/java/com/iemr/common/service/otp/OTPHandlerImpl.java @@ -39,7 +39,6 @@ import com.google.common.primitives.Ints; import com.iemr.common.data.otp.OTPRequestParsor; import com.iemr.common.service.users.IEMRAdminUserServiceImpl; -import com.iemr.common.utils.CryptoUtil; import com.iemr.common.utils.config.ConfigProperties; import com.iemr.common.utils.http.HttpUtils; @@ -53,10 +52,7 @@ @Service public class OTPHandlerImpl implements OTPHandler { - - @Autowired - private CryptoUtil cryptoUtil; - + @Autowired HttpUtils httpUtils; @Autowired @@ -159,11 +155,11 @@ private String getEncryptedOTP(int otp) throws Exception { // send SMS to user private void sendSMS(int otp, String phoneNo, String msgText) throws Exception { // Boolean doSendSMS = ConfigProperties.getBoolean("send-sms"); - + String sendSMSURL = ConfigProperties.getPropertyByName("send-message-url"); String sendSMSAPI = OTPHandlerImpl.SMS_GATEWAY_URL + "/" + sendSMSURL; - String senderName = cryptoUtil.decrypt(ConfigProperties.getPropertyByName("sms-username")); - String senderPassword = cryptoUtil.decrypt(ConfigProperties.getPropertyByName("sms-password")); + String senderName = ConfigProperties.getPropertyByName("sms-username"); + String senderPassword = ConfigProperties.getPropertyByName("sms-password"); String senderNumber = ConfigProperties.getPropertyByName("sms-sender-number"); sendSMSAPI = sendSMSAPI.replace("USERNAME", senderName).replace("PASSWORD", senderPassword) diff --git a/src/main/java/com/iemr/common/service/sms/SMSServiceImpl.java b/src/main/java/com/iemr/common/service/sms/SMSServiceImpl.java index 5a0a88ea..57094af6 100644 --- a/src/main/java/com/iemr/common/service/sms/SMSServiceImpl.java +++ b/src/main/java/com/iemr/common/service/sms/SMSServiceImpl.java @@ -100,7 +100,6 @@ import com.iemr.common.repository.sms.SMSTypeRepository; import com.iemr.common.repository.users.IEMRUserRepositoryCustom; import com.iemr.common.service.beneficiary.IEMRSearchUserService; -import com.iemr.common.utils.CryptoUtil; import com.iemr.common.utils.config.ConfigProperties; import com.iemr.common.utils.http.HttpUtils; import com.iemr.common.utils.mapper.OutputMapper; @@ -113,10 +112,7 @@ public class SMSServiceImpl implements SMSService { private String prescription; @Autowired SMSMapper smsMapper; - - @Autowired - private CryptoUtil cryptoUtil; - + @Autowired SMSTemplateRepository smsTemplateRepository; @@ -704,7 +700,7 @@ private SMSNotification prepareSMS( if (request.getBenPhoneNo() != null) { sms.setPhoneNo(request.getBenPhoneNo()); } - + // if(smsTemplate.getSmsTypeID() == 24) // { // if(TMsms!="" && TMsms!=null) @@ -898,7 +894,6 @@ private String getInstituteData(String className, String methodName, SMSRequest return variableValue.trim(); } - @Async @Override public void publishSMS() { @@ -939,16 +934,16 @@ public void publishSMS() { phoneNo = new StringBuffer(sms.getPhoneNo().substring(sms.getPhoneNo().length() - 10)); else phoneNo = new StringBuffer(sms.getPhoneNo()); - - //for fetching dltTemplateId + + // for fetching dltTemplateId String dltTemplateId = smsTemplateRepository.findDLTTemplateID(sms.getSmsTemplateID()); - + SmsAPIRequestModel smsAPICredentials104 = new SmsAPIRequestModel(senderName, phoneNo, - sms.getSms(), sourceAddress, dltTemplateId, smsMessageType, smsEntityID ); - + sms.getSms(), sourceAddress, dltTemplateId, smsMessageType, smsEntityID); + MultiValueMap headersLogin = new LinkedMultiValueMap(); headersLogin.add("Content-Type", "application/json"); - headersLogin.add("AUTHORIZATION", senderName + ":" + senderPassword ); + headersLogin.add("AUTHORIZATION", senderName + ":" + senderPassword); // smsPublishURL = smsPublishURL.replace("SMS_TEXT", // URLEncoder.encode(sms.getSms(), "UTF-8")) @@ -956,10 +951,10 @@ public void publishSMS() { sms.setSmsStatus(SMSNotification.IN_PROGRESS); sms = smsNotification.save(sms); - + HttpEntity requestLogin = new HttpEntity(smsAPICredentials104, headersLogin); - ResponseEntity responseLogin = restTemplateLogin.exchange(sendSMSURL, - HttpMethod.POST, requestLogin, String.class); + ResponseEntity responseLogin = restTemplateLogin.exchange(sendSMSURL, HttpMethod.POST, + requestLogin, String.class); if (responseLogin.getStatusCodeValue() == 200 & responseLogin.hasBody()) { String smsResponse = responseLogin.getBody(); JSONObject obj = new JSONObject(smsResponse); @@ -972,19 +967,19 @@ public void publishSMS() { sms.setSmsStatus(SMSNotification.SENT); sms = smsNotification.save(sms); } else { - throw new Exception(responseLogin.getStatusCodeValue() + " and error " - + responseLogin.getStatusCode().toString()); + throw new Exception(responseLogin.getStatusCodeValue() + " and error " + + responseLogin.getStatusCode().toString()); + } + } catch (Exception e) { + logger.error("Failed to send sms on phone no/benRegID: " + sms.getPhoneNo() + "/" + + sms.getBeneficiaryRegID() + " with error " + e.getMessage(), e); + sms.setTransactionError(e.getMessage()); + sms.setIsTransactionError(true); + sms.setTransactionID(null); + sms.setSmsStatus(SMSNotification.NOT_SENT); + sms = smsNotification.save(sms); } - } catch (Exception e) { - logger.error("Failed to send sms on phone no/benRegID: " + sms.getPhoneNo() + "/" - + sms.getBeneficiaryRegID() + " with error " + e.getMessage(), e); - sms.setTransactionError(e.getMessage()); - sms.setIsTransactionError(true); - sms.setTransactionID(null); - sms.setSmsStatus(SMSNotification.NOT_SENT); - sms = smsNotification.save(sms); - } - + // if (sms.getPhoneNo() != null && sms.getPhoneNo().length() > 10) // phoneNo = new StringBuffer(sms.getPhoneNo().substring(sms.getPhoneNo().length() - 10)); // else @@ -1059,11 +1054,9 @@ public String getFullSMSTemplate(SMSRequest smsRequest) throws Exception { return OutputMapper.gsonWithoutExposeRestriction().toJson(smsTemplateResponse); } - - private String getPrescriptionData(String className, String methodName, SMSRequest request, - BeneficiaryModel beneficiary) - throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, - InvocationTargetException, ClassNotFoundException { + private String getPrescriptionData(String className, String methodName, SMSRequest request, + BeneficiaryModel beneficiary) throws NoSuchMethodException, SecurityException, IllegalAccessException, + IllegalArgumentException, InvocationTargetException, ClassNotFoundException { PrescribedDrug prescribedDrug = prescribedDrugRepository.findOne(request.getPrescribedDrugID()); String variableValue = ""; switch (methodName.toLowerCase()) { @@ -1074,8 +1067,7 @@ private String getPrescriptionData(String className, String methodName, SMSReque variableValue = fname + mname + lname; break; case "callerid": - String beneficiaryID = beneficiary.getBeneficiaryID() != null - ? beneficiary.getBeneficiaryID() + " " : ""; + String beneficiaryID = beneficiary.getBeneficiaryID() != null ? beneficiary.getBeneficiaryID() + " " : ""; variableValue = beneficiaryID; break; case "prescriptionid": @@ -1134,7 +1126,6 @@ private String getPrescriptionData(String className, String methodName, SMSReque return variableValue; } - private String getBloodOnCallData(String className, String methodName, SMSRequest request, BeneficiaryModel beneficiary) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, ClassNotFoundException { @@ -1550,9 +1541,9 @@ private String getCOVIDData(String className, String methodName, SMSRequest requ } return variableValue; } - + public String getUptsuData(String className, String methodName, SMSRequest request) throws NoSuchMethodException, - SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { + SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { String variableValue = null; Method method = null; switch (methodName) { @@ -1601,6 +1592,5 @@ public String getUptsuData(String className, String methodName, SMSRequest reque } return variableValue; } - - + } \ No newline at end of file diff --git a/src/main/java/com/iemr/common/service/swaasa/SwassaServiceImpl.java b/src/main/java/com/iemr/common/service/swaasa/SwassaServiceImpl.java index 08e74a94..84f1ef56 100644 --- a/src/main/java/com/iemr/common/service/swaasa/SwassaServiceImpl.java +++ b/src/main/java/com/iemr/common/service/swaasa/SwassaServiceImpl.java @@ -52,7 +52,6 @@ import com.iemr.common.data.swaasa.SwaasaAuthenticateResponse; import com.iemr.common.data.swaasa.SwaasaValidateCoughReponseDTO; import com.iemr.common.repo.swaasa.SwaasaRepository; -import com.iemr.common.utils.CryptoUtil; import com.iemr.common.utils.http.HttpUtils; import com.iemr.common.utils.mapper.InputMapper; @@ -64,9 +63,6 @@ public class SwassaServiceImpl implements SwaasaService { private static long authCreatedAt; private static HttpUtils httpUtils = new HttpUtils(); - - @Autowired - private CryptoUtil cryptoUtil; private final Logger logger = LoggerFactory.getLogger(this.getClass().getName()); @@ -158,9 +154,9 @@ public Boolean verifyCough(MultipartFile file, String authToken, Long patientId) throw new Exception("file is missing,please pass a cough recording file"); long currTime = System.currentTimeMillis(); - - String decryptswaasaEmail = cryptoUtil.decrypt(swassaEmail); - String decryptswaasaPassword = cryptoUtil.decrypt(swaasaPassword); + + String decryptswaasaEmail = swassaEmail; + String decryptswaasaPassword = swaasaPassword; if (swaasaToken == null || (((currTime - authCreatedAt) / (60 * 1000))) > 110) swaasaToken = getSwaasaAdminLogin(decryptswaasaEmail, decryptswaasaPassword); @@ -241,8 +237,8 @@ public String initiateAssesment(String request, MultipartFile file) throws Excep // check if swaasa session is active long currTime = System.currentTimeMillis(); - String decryptswaasaEmail = cryptoUtil.decrypt(swassaEmail); - String decryptswaasaPassword = cryptoUtil.decrypt(swaasaPassword); + String decryptswaasaEmail = swassaEmail; + String decryptswaasaPassword = swaasaPassword; if (swaasaToken == null || (((currTime - authCreatedAt) / (60 * 1000))) > 110) swaasaToken = getSwaasaAdminLogin(decryptswaasaEmail, decryptswaasaPassword); @@ -341,9 +337,9 @@ public String getAssesment(String assessmentId) throws Exception { return new Gson().toJson(swaasaEntity); } else { long currTime = System.currentTimeMillis(); - - String decryptswaasaEmail = cryptoUtil.decrypt(swassaEmail); - String decryptswaasaPassword = cryptoUtil.decrypt(swaasaPassword); + + String decryptswaasaEmail = swassaEmail; + String decryptswaasaPassword = swaasaPassword; if (swaasaToken == null || (((currTime - authCreatedAt) / (60 * 1000))) > 110) swaasaToken = getSwaasaAdminLogin(decryptswaasaEmail, decryptswaasaPassword); diff --git a/src/main/java/com/iemr/common/utils/CryptoUtil.java b/src/main/java/com/iemr/common/utils/CryptoUtil.java deleted file mode 100644 index 6b1df323..00000000 --- a/src/main/java/com/iemr/common/utils/CryptoUtil.java +++ /dev/null @@ -1,76 +0,0 @@ -/* -* AMRIT – Accessible Medical Records via Integrated Technology -* Integrated EHR (Electronic Health Records) Solution -* -* Copyright (C) "Piramal Swasthya Management and Research Institute" -* -* This file is part of AMRIT. -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see https://www.gnu.org/licenses/. -*/ -package com.iemr.common.utils; - -import java.nio.charset.StandardCharsets; -import java.util.Base64; - -import javax.crypto.Cipher; -import javax.crypto.SecretKey; -import javax.crypto.spec.SecretKeySpec; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Service; - -@Service -public class CryptoUtil { - - private static final Logger logger = LoggerFactory.getLogger(CryptoUtil.class); - private static final String ALGORITHM = "AES"; - private static final String SECRET_KEY = "dev-envro-secret"; - - public String encrypt(String value) throws Exception { - SecretKey secretKey = new SecretKeySpec(SECRET_KEY.getBytes(StandardCharsets.UTF_8), ALGORITHM); - Cipher cipher = Cipher.getInstance(ALGORITHM + "/ECB/PKCS5Padding"); - cipher.init(Cipher.ENCRYPT_MODE, secretKey); - byte[] encryptedBytes = cipher.doFinal(addPadding(value).getBytes(StandardCharsets.UTF_8)); - return Base64.getEncoder().encodeToString(encryptedBytes); - } - - public String decrypt(String encryptedValue) { - try { - SecretKey secretKey = new SecretKeySpec(SECRET_KEY.getBytes(StandardCharsets.UTF_8), ALGORITHM); - Cipher cipher = Cipher.getInstance(ALGORITHM + "/ECB/PKCS5Padding"); - cipher.init(Cipher.DECRYPT_MODE, secretKey); - byte[] decryptedBytes = cipher.doFinal(Base64.getDecoder().decode(encryptedValue)); - return removePadding(new String(decryptedBytes, StandardCharsets.UTF_8)); - } catch (Exception e) { - logger.error("Exception while decrypting string. Intentionally throwing null pointer", e); - return null; - } - } - - private String addPadding(String value) { - int paddingLength = 16 - (value.length() % 16); - StringBuilder paddedValue = new StringBuilder(value); - for (int i = 0; i < paddingLength; i++) { - paddedValue.append((char) paddingLength); - } - return paddedValue.toString(); - } - - private String removePadding(String value) { - int paddingLength = value.charAt(value.length() - 1); - return value.substring(0, value.length() - paddingLength); - } -} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 475987ed..16c39aca 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -108,8 +108,8 @@ cron-scheduler-unblock=0 0 0 * * ? * spring.mail.host=smtp.gmail.com spring.mail.port=587 -spring.mail.username=aaHXGrs9rQvATAgeH/7GDf7sXkJqElxGvEHYCxA25iLwWtMPFRrP9brLluxLBhd5 -spring.mail.password=K9QfHpyJYHkY5UruzThjhvBa0w8VGs/1usuW7EsGF3nwWtMPFRrP9brLluxLBhd5 +spring.mail.username=shekhar.shubham014@gmail.com +spring.mail.password=jfquacusaeixisut spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true mail-subject=Inventory alert!! @@ -161,8 +161,8 @@ logging.logback.rollingpolicy.max-history=1 ### SMS Gateway URL details #sms-gateway-url=http://sms.smsjosh.com -sms-username=PIRAMAL_SW_AHxoyCXejeJba13oKHcv -sms-password=]Kt9GAp8}$S*@ +sms-username=amrit +sms-password=Amrit@321 #send-message-url=api/mt/SendSMS?user=USERNAME&password=PASSWORD&senderid=iAMRIT&channel=Trans&DCS=0&flashsms=0&number=91RECEIVER_NUMBER&text=SMS_TEXT&route=9 send-message-url=https://openapi.airtel.in/gateway/airtel-iq-sms-utility/sendSingleSms #sms-sender-number=DOCTOR @@ -192,8 +192,8 @@ queue-capacity=500 ## everwell variables everwellUserName = Demo_API_SVA everwellPassword = Demo_API_SVA -amritUserName = oLRC5amRa12f2l4um4BXQfBa0w8VGs/1usuW7EsGF3k= -amritPassword = qLr/xepKic9bbwXt8atLjfBa0w8VGs/1usuW7EsGF3k= +amritUserName = 1097user +amritPassword = Test@123 everwellVanID = 1 everwellProviderServiceMapID = 1761 everwellgovtIdentityNo = 2 @@ -213,8 +213,8 @@ everwelluserAuthenticate = https://beta-hub.everwell.org/token everwellRegisterBenficiary = http://10.208.122.38:8080/commonapi-v1.0/beneficiary/create ## SWAASA credentials -swaasaEmail = nbfJjsrz8Uz1+AbBpX4fOFiJiNXbfZ98WCsKjvCFvk/wWtMPFRrP9brLluxLBhd5 -swaasaPassword = 4HOXNVjATlzYZuQObN36svBa0w8VGs/1usuW7EsGF3k= +swaasaEmail = piramal_sandbox@swaasa.ai +swaasaPassword = 12oH^3@g ## SWASSA APIs swaasaAdminLogin = http://swaasa.sandbox.swaasa.ai/api/adminLogin @@ -232,106 +232,7 @@ failedLoginAttempt=5 -# Test env -# DB Connections -spring.jpa.database=default -##--------------------------------------------## Primary db------------------------------------------------------------------- - - -encDbUserName=zFlYsp9Z0s+lRvLM15A3g/Ba0w8VGs/1usuW7EsGF3k= -encDbPass=JGGAGn5wTlrbTLUHY+5BzfBa0w8VGs/1usuW7EsGF3k= -spring.datasource.url=jdbc:mysql://10.208.122.38:3306/db_iemr?autoReconnect=true&useSSL=false -spring.datasource.driver-class-name=com.mysql.jdbc.Driver - - - -encDbUserNameSec=zFlYsp9Z0s+lRvLM15A3g/Ba0w8VGs/1usuW7EsGF3k= -encDbPassSec=JGGAGn5wTlrbTLUHY+5BzfBa0w8VGs/1usuW7EsGF3k= -secondary.datasource.url=jdbc:mysql://10.208.122.38:3306/db_reporting?autoReconnect=true&useSSL=false -secondary.datasource.driver-class-name=com.mysql.jdbc.Driver -##-------------------------------------------------------------# KM config-------------------------------------------------- - -km-base-url=http://10.208.122.38:8084/OpenKM -km-base-path=10.208.122.38:8084/OpenKM -##----------------------------------------------# CTI Config----------------------------------------------------------------- - -cti-server-ip=10.208.122.99 -cti-logger_base_url=http://10.208.122.99/logger -##-------------------------------------------------#### Identity Config-------------------------------------------------------------- - -identity-api-url=http://10.208.122.38:8080/identity-0.0.1 -identity-1097-api-url=http://10.208.122.38:8080/1097identityapi-v1.0 - -### generate Beneficiary Config -genben-api=http://10.208.122.38:8080/bengenapi-v1.0 - -##---------------------------------------------#### SMS Configuration------------------------------------------------------------------ - -send-sms=false - -###SMS Scheduler configurations -start-sms-scheduler=false -cron-scheduler-sms=0 0/1 * * * ? * -##----------------------------------------------#### Email Configuration----------------------------------------------------------------- - -send-email=false - -###Email Scheduler configurations -start-email-scheduler=false -cron-scheduler-email=0 0/1 * * * ? * -##-------------------------------###cti data sync Scheduler configurations------------------------------------------------------ - -start-ctidatasync-scheduler=false -cron-scheduler-ctidatasync=0 00 01 * * ? * -##---------------------------------#### Registration schedular for Avni------------------------------------------------------------------------------ - -start-avni-scheduler=false -cron-avni-registration=0 0/1 * * * ? * -##------------------------------------------------#### Everwell Regsitration Scheduler--------------------------------------------------------------- - -start-registration-scheduler=false -cron-scheduler-registration=0 34 19 * * ? * -##----------------------------------------------------#everwell data sync----------------------------------------------------------- - -start-everwelldatasync-scheduler=false -cron-scheduler-everwelldatasync=0 0/5 * * * ? * -##-----------------------------------------------#NHM data dashboard schedular---------------------------------------------------------------- -#run in every 2 hrs -start-nhmdashboard-scheduler=true -cron-scheduler-nhmdashboard=0 0 0/2 * * ? * - - -## how much old data it should fetch -## n day / n hour // n min -get-agent-summary-report-job=2 hour -## n day / n hour // n min -get-details-call-report-job=2 hour -##-------------------------------------------------### Redis IP-------------------------------------------------------------- - -spring.redis.host=localhost - -##--------------------------------------------------------------------------------------------------------------- -###CTI data sync schedular -cz-duration=40 -##--------------------------------------------------------------------------------------------------------------- -## prescription template -TMprescriptionTemplate=TMPrescription -##--------------------------------------------------------------------------------------------------------------- -##duration for everwell calender -everwellCalendarDuration=15 - ##--------------------------------------------------------------------------------------------------------------- -##lonic variables -lonicPageSize=10 - ##--------------------------------------------------------------------------------------------------------------- -#snomedcti -snomedCTPageSize=10 -##--------------------------------------------------------------------------------------------------------------- -#call retry count -callRetryConfiguration=3 -##--------------------------------------------------------------------------------------------------------------- -#avni registration Duration -avniRegistrationLimit=7 From d32838c6025fa5f61afe62a5c31ada8271d39470 Mon Sep 17 00:00:00 2001 From: Anjana Date: Sat, 24 Jun 2023 00:11:57 +0530 Subject: [PATCH 2/3] Added placeholders --- src/main/resources/application.properties | 52 ++++++++--------------- 1 file changed, 18 insertions(+), 34 deletions(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 16c39aca..397917ed 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -20,7 +20,7 @@ spring.http.multipart.max-file-size=1000MB ##sms details for CHO CHOSmsTemplate= CHO UPTSU SMS -sendSMSUrl= http://10.208.122.38:8080/commonapi-v1.0/sms/sendSMS +sendSMSUrl= #sendSMSUrl = http://localhost:8080/sms/sendSMS ##sms details for beneficiary @@ -108,8 +108,8 @@ cron-scheduler-unblock=0 0 0 * * ? * spring.mail.host=smtp.gmail.com spring.mail.port=587 -spring.mail.username=shekhar.shubham014@gmail.com -spring.mail.password=jfquacusaeixisut +spring.mail.username= +spring.mail.password= spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true mail-subject=Inventory alert!! @@ -160,22 +160,17 @@ logging.logback.rollingpolicy.max-file-size=20KB logging.logback.rollingpolicy.max-history=1 ### SMS Gateway URL details -#sms-gateway-url=http://sms.smsjosh.com -sms-username=amrit -sms-password=Amrit@321 -#send-message-url=api/mt/SendSMS?user=USERNAME&password=PASSWORD&senderid=iAMRIT&channel=Trans&DCS=0&flashsms=0&number=91RECEIVER_NUMBER&text=SMS_TEXT&route=9 -send-message-url=https://openapi.airtel.in/gateway/airtel-iq-sms-utility/sendSingleSms -#sms-sender-number=DOCTOR -source-address=AIDSHL -sms-message-type=SERVICE_EXPLICIT -sms-entityid=1201161708885589464 - +sms-gateway-url= +sms-username= +sms-password= +send-message-url= +sms-sender-number=DOCTOR ### Email Gateway URL details -email-gateway-url=https://api.unicel.in -send-email-url=SendSMS/sendmsg.php?uname=USERNAME&pass=PASSWORD&send=SENDER_ID&dest=91RECEIVER_ID&msg=EMAIL_TEXT -email-username=AMRIT -email-password=Psmri@12 +email-gateway-url= +send-email-url= +email-username= +email-password= email-sender-number=DOCTOR ### generate Beneficiary IDs URL @@ -190,10 +185,10 @@ max-pool-size=2 queue-capacity=500 ## everwell variables -everwellUserName = Demo_API_SVA -everwellPassword = Demo_API_SVA -amritUserName = 1097user -amritPassword = Test@123 +everwellUserName = +everwellPassword = +amritUserName = +amritPassword = everwellVanID = 1 everwellProviderServiceMapID = 1761 everwellgovtIdentityNo = 2 @@ -213,8 +208,8 @@ everwelluserAuthenticate = https://beta-hub.everwell.org/token everwellRegisterBenficiary = http://10.208.122.38:8080/commonapi-v1.0/beneficiary/create ## SWAASA credentials -swaasaEmail = piramal_sandbox@swaasa.ai -swaasaPassword = 12oH^3@g +swaasaEmail = +swaasaPassword = ## SWASSA APIs swaasaAdminLogin = http://swaasa.sandbox.swaasa.ai/api/adminLogin @@ -228,14 +223,3 @@ quality-Audit-PageSize=5 failedLoginAttempt=5 # always press enter after last line - - - - - - - - - - - From a0f7b2e66c094557616e77ea6ba2d1bb1bb1b794 Mon Sep 17 00:00:00 2001 From: Anjana Date: Mon, 26 Jun 2023 23:59:26 +0530 Subject: [PATCH 3/3] Addressing comments --- src/main/resources/application.properties | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 397917ed..03be787a 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -160,11 +160,12 @@ logging.logback.rollingpolicy.max-file-size=20KB logging.logback.rollingpolicy.max-history=1 ### SMS Gateway URL details -sms-gateway-url= sms-username= sms-password= send-message-url= -sms-sender-number=DOCTOR +source-address=AIDSHL +sms-message-type=SERVICE_EXPLICIT +sms-entityid=1201161708885589464 ### Email Gateway URL details email-gateway-url= @@ -223,3 +224,4 @@ quality-Audit-PageSize=5 failedLoginAttempt=5 # always press enter after last line +