From 6fa4bba623713c396432ba8b863846883d6a1906 Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期三, 26 一月 2022 10:52:23 +0800 Subject: [PATCH] Merge branch 'pollex-dev' into sit --- pamapi/src/main/java/com/pollex/pam/service/NoticeService.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 57 insertions(+), 0 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/service/NoticeService.java b/pamapi/src/main/java/com/pollex/pam/service/NoticeService.java new file mode 100644 index 0000000..5d9a908 --- /dev/null +++ b/pamapi/src/main/java/com/pollex/pam/service/NoticeService.java @@ -0,0 +1,57 @@ +package com.pollex.pam.service; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; + +import com.pollex.pam.domain.Appointment; +import com.pollex.pam.domain.AppointmentNoticeLog; +import com.pollex.pam.enums.ContactStatusEnum; +import com.pollex.pam.repository.AppointmentRepository; +import com.pollex.pam.service.dto.AppointmentNoticeSendDTO; + +@Service +@Transactional +public class NoticeService { + + @Autowired + AppointmentService appointmentService; + + @Autowired + SendMsgService sendMsgService; + + @Autowired + AppointmentNoticeLogService appointmentNoticeLogService; + + @Autowired + AppointmentRepository appointmentRepository; + + @Autowired + PersonalNotificationService personalNotificationService; + + + public void sendNotice(AppointmentNoticeSendDTO dto) { + String subject = "靽���像�蝟餌絞�嚗���"; + + if(StringUtils.hasText(dto.getEmail())) { + sendMsgService.sendMsgByEmail(dto.getEmail(), subject, dto.getMessage(), true); + }if(StringUtils.hasText(dto.getPhone())) { + sendMsgService.sendMsgBySMS(dto.getPhone(), dto.getMessage()); + } + + List<AppointmentNoticeLog> noticeLogs = + appointmentNoticeLogService.findByAppointmentId(dto.getAppointmentId()); + if(noticeLogs.size()==0) { + Appointment appointment = appointmentService.findById(dto.getAppointmentId()); + appointment.setCommunicateStatus(ContactStatusEnum.CONTACTED); + appointmentRepository.save(appointment); + } + + appointmentNoticeLogService.create(dto); + personalNotificationService.createSendNoticeToCustomer(dto.getAppointmentId()); + } + +} -- Gitblit v1.8.0