|
12 | 12 | import org.springframework.http.HttpHeaders; |
13 | 13 | import org.springframework.http.MediaType; |
14 | 14 | import org.springframework.http.ResponseEntity; |
| 15 | +import org.springframework.scheduling.annotation.Async; |
15 | 16 | import org.springframework.stereotype.Service; |
16 | 17 | import org.springframework.web.client.RestTemplate; |
17 | 18 |
|
@@ -46,58 +47,57 @@ public class WelcomeBenificarySmsServiceImpl implements WelcomeBenificarySmsServ |
46 | 47 |
|
47 | 48 | private String smsTemplateName = "welcome_sms"; |
48 | 49 |
|
49 | | - private String smsTemplate; |
| 50 | + private String smsTemplate =null; |
50 | 51 |
|
51 | 52 | @Override |
| 53 | + @Async |
52 | 54 | public String sendWelcomeSMStoBenificiary(String contactNo, String beneficiaryName, String beneficiaryId) { |
53 | | - final RestTemplate restTemplate = new RestTemplate(); |
54 | | - |
55 | | - Optional<SMSTemplate> smsTemplateData = smsTemplateRepository.findBySmsTemplateName(smsTemplateName); |
56 | | - if (smsTemplateData.isPresent()) { |
57 | | - smsTemplate = smsTemplateRepository.findBySmsTemplateID(smsTemplateData.get().getSmsTemplateID()).getSmsTemplate(); |
58 | | - |
59 | | - } |
60 | | - |
61 | | - logger.info("sms template" + smsTemplate); |
62 | | - |
63 | | - |
64 | | - String sendSMSAPI = SMS_GATEWAY_URL; |
65 | 55 |
|
66 | 56 | try { |
| 57 | + String sendSMSAPI = SMS_GATEWAY_URL; |
67 | 58 |
|
68 | | - String message = smsTemplate.replace("$$BENE_NAME$$", beneficiaryName).replace("$$BEN_ID$$", beneficiaryId); |
69 | | - // Build payload |
70 | | - Map<String, Object> payload = new HashMap<>(); |
71 | | - payload.put("customerId", smsUserName); |
72 | | - payload.put("destinationAddress", contactNo); |
73 | | - payload.put("message", message); |
74 | | - payload.put("sourceAddress", smsSourceAddress); |
75 | | - payload.put("messageType", "SERVICE_IMPLICIT"); |
76 | | - payload.put("dltTemplateId", smsTemplateData.get().getDltTemplateId()); |
77 | | - payload.put("entityId", smsEntityId); |
78 | | - // Set headers |
79 | | - HttpHeaders headers = new HttpHeaders(); |
80 | | - String auth = smsUserName + ":" + smsPassword; |
81 | | - headers.add("Authorization", |
82 | | - "Basic " + Base64.getEncoder().encodeToString(auth.getBytes())); |
83 | | - |
84 | | - headers.setContentType(MediaType.APPLICATION_JSON); |
85 | | - logger.info("payload: " + payload); |
86 | | - HttpEntity<Map<String, Object>> request = new HttpEntity<>(payload, headers); |
87 | | - |
88 | | - // Call API |
89 | | - ResponseEntity<String> response = restTemplate.postForEntity(sendSMSAPI, request, String.class); |
90 | | - logger.info("sms-response:" + response.getBody()); |
91 | | - if (response.getStatusCode().value() == 200) { |
92 | | - return "OTP sent successfully on register mobile number"; |
93 | | - } else { |
94 | | - return "Fail"; |
| 59 | + final RestTemplate restTemplate = new RestTemplate(); |
95 | 60 |
|
| 61 | + Optional<SMSTemplate> smsTemplateData = smsTemplateRepository.findBySmsTemplateName(smsTemplateName); |
| 62 | + if (smsTemplateData.isPresent()) { |
| 63 | + smsTemplate = smsTemplateRepository.findBySmsTemplateID(smsTemplateData.get().getSmsTemplateID()).getSmsTemplate(); |
| 64 | + } |
| 65 | + if(smsTemplate!=null){ |
| 66 | + String message = smsTemplate.replace("$$BENE_NAME$$", beneficiaryName).replace("$$BEN_ID$$", beneficiaryId); |
| 67 | + // Build payload |
| 68 | + Map<String, Object> payload = new HashMap<>(); |
| 69 | + payload.put("customerId", smsUserName); |
| 70 | + payload.put("destinationAddress", contactNo); |
| 71 | + payload.put("message", message); |
| 72 | + payload.put("sourceAddress", smsSourceAddress); |
| 73 | + payload.put("messageType", "SERVICE_IMPLICIT"); |
| 74 | + payload.put("dltTemplateId", smsTemplateData.get().getDltTemplateId()); |
| 75 | + payload.put("entityId", smsEntityId); |
| 76 | + // Set headers |
| 77 | + HttpHeaders headers = new HttpHeaders(); |
| 78 | + String auth = smsUserName + ":" + smsPassword; |
| 79 | + headers.add("Authorization", |
| 80 | + "Basic " + Base64.getEncoder().encodeToString(auth.getBytes())); |
| 81 | + |
| 82 | + headers.setContentType(MediaType.APPLICATION_JSON); |
| 83 | + logger.info("payload: " + payload); |
| 84 | + HttpEntity<Map<String, Object>> request = new HttpEntity<>(payload, headers); |
| 85 | + |
| 86 | + // Call API |
| 87 | + ResponseEntity<String> response = restTemplate.postForEntity(sendSMSAPI, request, String.class); |
| 88 | + logger.info("sms-response:" + response.getBody()); |
| 89 | + if (response.getStatusCode().value() == 200) { |
| 90 | + return "OTP sent successfully on register mobile number"; |
| 91 | + } else { |
| 92 | + return "Fail"; |
| 93 | + |
| 94 | + } |
96 | 95 | } |
97 | 96 |
|
| 97 | + |
98 | 98 | } catch (Exception e) { |
99 | 99 | return "Error sending SMS: " + e.getMessage().toString(); |
100 | 100 | } |
101 | | - |
| 101 | + return null; |
102 | 102 | } |
103 | 103 | } |
0 commit comments