From fa782dca2a00e9a4a48c5b3588f5eb3b47af93cf Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期二, 01 三月 2022 15:41:05 +0800 Subject: [PATCH] [update] [todo 136031] 諮詢度表現,提供前端該顧問所有預約單數量以及近一個月的預約單數量 --- 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