From 34b07249c7e7a9f487a6bc08f022db6bcb925d42 Mon Sep 17 00:00:00 2001
From: Jack <jack.su@pollex.com.tw>
Date: 星期四, 20 一月 2022 14:46:35 +0800
Subject: [PATCH] [UPDATE] 調整客戶填寫滿意度的API [UPDATE] 調整產生滿意度調查資料的時機點,改為每次進到結案狀態就新增滿意度資料 [UPDATE] 調整結案API,新增和修改都使用同一支API由後端判斷為新增或修改 [BUG] 當沒有任何一筆滿意度的時候取得顧問平均分數會發生錯誤的問題修正

---
 pamapi/src/main/java/com/pollex/pam/appointment/process/AppointmentProcess.java |   20 ++++++--------------
 1 files changed, 6 insertions(+), 14 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 979ebba..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
@@ -34,31 +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);
+				}
 			}
 		});
 		
 		changeAppointmentCommunicateStatus(dto.getAppointmentId(), dto.getContactStatus());
-		
 	}
 
 	private void changeAppointmentCommunicateStatus(Long appointmentId, ContactStatusEnum contactStatus) {
 		Appointment appointment = appointmentService.findById(appointmentId);
 		appointment.setCommunicateStatus(contactStatus);
-		appointmentRepository.save(appointment);
-	}
-
-	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());
 		appointmentRepository.save(appointment);
 	}
 	

--
Gitblit v1.8.0