From ec0342f01d418e96822fde75ceb201f78d55e8bb Mon Sep 17 00:00:00 2001
From: Jack <jack.su@pollex.com.tw>
Date: 星期五, 14 一月 2022 17:33:40 +0800
Subject: [PATCH] [ADD] 成交API新增remark欄位 [UPDATE] 進入顧問流程需一併更新appointment 的狀態 [ADD] 新增檢核不能重複新增appointment closed info

---
 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