From a3716f72066d25d745f4d5103ff23a553c3e102b Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期四, 17 二月 2022 11:41:19 +0800 Subject: [PATCH] Merge branch 'sit' into uat --- pamapi/src/main/java/com/pollex/pam/service/SendMsgService.java | 52 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 34 insertions(+), 18 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/service/SendMsgService.java b/pamapi/src/main/java/com/pollex/pam/service/SendMsgService.java index 15a72fc..a5be71e 100644 --- a/pamapi/src/main/java/com/pollex/pam/service/SendMsgService.java +++ b/pamapi/src/main/java/com/pollex/pam/service/SendMsgService.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.pollex.pam.config.ApplicationProperties; +import com.pollex.pam.config.ApplicationProperties.Email; import com.pollex.pam.config.ApplicationProperties.SMS; import com.pollex.pam.config.Constants; +import com.pollex.pam.enums.SendEmailMsgMethod; import com.pollex.pam.repository.ConsultantRepository; import com.pollex.pam.service.dto.*; import com.pollex.pam.service.util.HttpRequestUtil; @@ -49,12 +51,12 @@ MailService mailService; public SendSMSResponse sendMsgBySMS(String toMobile, String content) throws SendSMSFailException { - if(!applicationProperties.isSendNotifyMsg()) { -// return getMockSMSResponse(); - return null; - } - SMS smsProperties = applicationProperties.getSms(); + SMS smsProperties = applicationProperties.getSms(); + if(!smsProperties.isSendNotifyMsg()) { +// return getMockSMSResponse(); + return null; + } SendSMSRequest sendSMSRequest = new SendSMSRequest(); sendSMSRequest.setpKey(UUID.randomUUID().toString()); @@ -119,34 +121,48 @@ } public String sendMsgByEmail(SendMailRequest sendMailRequest) throws SendEmailFailException{ - if(!applicationProperties.isSendNotifyMsg()) { - if(environment.acceptsProfiles(Profiles.of(Constants.SPRING_PROFILE_POLLEX_DEVELOPMENT))) { - String subject = sendMailRequest.getSubject(); - String content = sendMailRequest.getContent(); - boolean isHtml = sendMailRequest.isHtmlFormat(); + final Email emailProperties = applicationProperties.getEmail(); - sendMailRequest.getSendMailAddresses().forEach(receiver -> mailService.sendEmail(receiver, subject, content, false, isHtml)); - } - + if(!emailProperties.isSendNotifyMsg()) { return null; } - try { + if(emailProperties.getMethod() == SendEmailMsgMethod.POLLEX_GMAIL) { + return sendMsgByPollexGmail(sendMailRequest); + } + else if(emailProperties.getMethod() == SendEmailMsgMethod.PAM_EMAIL_SERVICE) { + return sendMsgByPamEmailService(sendMailRequest); + } + + return null; + } + + private String sendMsgByPollexGmail(SendMailRequest sendMailRequest) { + String subject = sendMailRequest.getSubject(); + String content = sendMailRequest.getContent(); + boolean isHtml = sendMailRequest.isHtmlFormat(); + sendMailRequest.getSendMailAddresses().forEach(receiver -> mailService.sendEmail(receiver, subject, content, false, isHtml)); + + return null; + } + + private String sendMsgByPamEmailService(SendMailRequest sendMailRequest) { + final Email emailProperties = applicationProperties.getEmail(); + try { ResponseEntity<String> responseEntity = - HttpRequestUtil.postWithJson( applicationProperties.getEmail().getUrl(), sendMailRequest, String.class); + HttpRequestUtil.postWithJson(emailProperties.getUrl(), sendMailRequest, String.class); log.debug("responseEntity = {}", responseEntity); String rawResponseString = responseEntity.getBody(); SendMailResponse sendMailResponse = new ObjectMapper().readValue(rawResponseString, SendMailResponse.class); log.debug("sendMailResponse = {}", sendMailResponse); - if(sendMailResponse == null || sendMailResponse.getData() == null || !"ADDED".equalsIgnoreCase(sendMailResponse.getData().getMessageStatus())) { + if (sendMailResponse == null || sendMailResponse.getData() == null || !"ADDED".equalsIgnoreCase(sendMailResponse.getData().getMessageStatus())) { throw new SendEmailFailException("send email service return error msg! raw response string= " + rawResponseString); } return responseEntity.getBody(); - } - catch (SendEmailFailException e) { + } catch (SendEmailFailException e) { throw e; } catch (Exception e) { log.warn("send email fail by other reason", e); -- Gitblit v1.8.0