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