From 2f57dcc8883b62a4e006c634dd945cb3c7ae63c9 Mon Sep 17 00:00:00 2001
From: Jack <jack.su@pollex.com.tw>
Date: 星期二, 18 一月 2022 19:50:03 +0800
Subject: [PATCH] [ADD] 顧問主動發送填寫滿意度通知

---
 pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java b/pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java
index 8d728c5..978cb7c 100644
--- a/pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java
+++ b/pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java
@@ -1,12 +1,16 @@
 package com.pollex.pam.appointment.process;
 
+import java.util.Optional;
+
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+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.service.AppointmentService;
 import com.pollex.pam.service.dto.AbstractAppointmentProcessDTO;
 import com.pollex.pam.service.dto.ClosedProcessDTO;
 import com.pollex.pam.service.dto.DoneProcessDTO;
@@ -16,14 +20,29 @@
 	
 	@Autowired
 	AppointmentClosedInfoRepository appointmentClosedInfoRepository;
-
+	
+	@Autowired
+	AppointmentService appointmentService;
+	
+	
+	
 	@Override
 	public void doProcess(AbstractAppointmentProcessDTO processDTO) {
+		
+		checkClosedInfo(processDTO.getAppointmentId());
 		ClosedProcessDTO doneProcess = (ClosedProcessDTO)processDTO;
 		BeanUtils.copyProperties(processDTO, doneProcess);
 		AppointmentClosedInfo closedInfo = new AppointmentClosedInfo();
 		BeanUtils.copyProperties(doneProcess, closedInfo);
 		appointmentClosedInfoRepository.save(closedInfo);
+		
+	}
+
+	private void checkClosedInfo(Long appointmentId) {
+		Optional<AppointmentClosedInfo> closedInfo = appointmentClosedInfoRepository.findByAppointmentId(appointmentId);
+		if(closedInfo.isPresent()) {
+			throw new IllegalArgumentException("appointment closed info exist");
+		}
 	}
 
 	@Override

--
Gitblit v1.8.0