From beeee55db98ec9028a3fcc6a05b844b04ba0c229 Mon Sep 17 00:00:00 2001
From: Jack <jack.su@pollex.com.tw>
Date: 星期六, 22 一月 2022 10:39:16 +0800
Subject: [PATCH] [ADD] 新增小鈴鐺通知的紀錄( * 顧問主動發送滿意度給客戶的通知後,系統立即通知客戶需要填寫滿意度通知 * 顧問發送約訪通知後,系統通知客戶有約訪 * 顧問更新個人帳號通知 * 客戶取消預約單通知 * 客戶更新預約單通知 * 客戶進行滿意度評比通知)

---
 pamapi/src/main/java/com/pollex/pam/appointment/process/AppointmentProcess.java |   26 +++++++++++++-------------
 1 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/pamapi/src/main/java/com/pollex/pam/appointment/process/AppointmentProcess.java b/pamapi/src/main/java/com/pollex/pam/appointment/process/AppointmentProcess.java
index 323773b..846287c 100644
--- a/pamapi/src/main/java/com/pollex/pam/appointment/process/AppointmentProcess.java
+++ b/pamapi/src/main/java/com/pollex/pam/appointment/process/AppointmentProcess.java
@@ -1,5 +1,6 @@
 package com.pollex.pam.appointment.process;
 
+import java.time.Instant;
 import java.util.List;
 import java.util.Optional;
 
@@ -8,6 +9,7 @@
 
 import com.pollex.pam.domain.Appointment;
 import com.pollex.pam.domain.AppointmentClosedInfo;
+import com.pollex.pam.enums.ContactStatusEnum;
 import com.pollex.pam.repository.AppointmentClosedInfoRepository;
 import com.pollex.pam.repository.AppointmentRepository;
 import com.pollex.pam.service.AppointmentClosedInfoService;
@@ -32,25 +34,23 @@
 	
 	public void process(AbstractAppointmentProcessDTO dto) {
 		
-//		AbstractAppointmentProcessDTO appointmentProcessDTO = dto;
 		processList.stream().forEach(process ->{
 			if(process.getProcessType() == dto.getContactStatus()) {
-				process.createProcess(dto);
+				Optional<AppointmentClosedInfo> closedInfoOP = appointmentClosedInfoRepository.findByAppointmentId(dto.getAppointmentId());
+				if(closedInfoOP.isPresent()) {
+					process.editClosedInfo(dto, closedInfoOP.get());
+				}else {
+					process.create(dto);
+				}
 			}
 		});
-		Appointment appointment = appointmentService.findById(dto.getAppointmentId());
-		appointment.setCommunicateStatus(dto.getContactStatus());
-		appointmentRepository.save(appointment);
+		
+		changeAppointmentCommunicateStatus(dto.getAppointmentId(), dto.getContactStatus());
 	}
 
-	public void editClosedInfo(AbstractAppointmentProcessDTO dto) {
-		processList.stream().forEach(process ->{
-			if(process.getProcessType() == dto.getContactStatus()) {
-				process.editClosedInfo(dto);
-			}
-		});
-		Appointment appointment = appointmentService.findById(dto.getAppointmentId());
-		appointment.setCommunicateStatus(dto.getContactStatus());
+	private void changeAppointmentCommunicateStatus(Long appointmentId, ContactStatusEnum contactStatus) {
+		Appointment appointment = appointmentService.findById(appointmentId);
+		appointment.setCommunicateStatus(contactStatus);
 		appointmentRepository.save(appointment);
 	}
 	

--
Gitblit v1.8.0