From a3716f72066d25d745f4d5103ff23a553c3e102b Mon Sep 17 00:00:00 2001
From: wayne <wayne8692wayne8692@gmail.com>
Date: 星期四, 17 二月 2022 11:41:19 +0800
Subject: [PATCH] Merge branch 'sit' into uat

---
 pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java |   45 ++++++++++++++++++++-------------------------
 1 files changed, 20 insertions(+), 25 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 2e75575..69dbd24 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,10 +1,9 @@
 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 org.springframework.transaction.annotation.Transactional;
 
 import com.pollex.pam.domain.Appointment;
 import com.pollex.pam.domain.AppointmentClosedInfo;
@@ -12,44 +11,40 @@
 import com.pollex.pam.repository.AppointmentClosedInfoRepository;
 import com.pollex.pam.service.AppointmentClosedInfoService;
 import com.pollex.pam.service.AppointmentService;
+import com.pollex.pam.service.SatisfactionService;
 import com.pollex.pam.service.dto.AbstractAppointmentProcessDTO;
 import com.pollex.pam.service.dto.ClosedProcessDTO;
-import com.pollex.pam.service.dto.DoneProcessDTO;
-import com.pollex.pam.web.rest.errors.AppointmentClosedInfoNotFoundException;
 
 @Service
+@Transactional
 public class ClosedProcess implements AppointmentProcessInterface{
-	
+
 	@Autowired
 	AppointmentClosedInfoRepository appointmentClosedInfoRepository;
-	
+
 	@Autowired
 	AppointmentService appointmentService;
-	
+
 	@Autowired
 	AppointmentClosedInfoService appointmentClosedInfoService;
-	
+
+	@Autowired
+	SatisfactionService satisfactionService;
+
 	@Override
-	public void createProcess(AbstractAppointmentProcessDTO processDTO) {
-		checkClosedInfo(processDTO.getAppointmentId());
+	public AppointmentClosedInfo create(AbstractAppointmentProcessDTO processDTO) {
 		ClosedProcessDTO closeProcess = toClosedProcessDTO(processDTO);
 		AppointmentClosedInfo closedInfo = new AppointmentClosedInfo();
 		BeanUtils.copyProperties(closeProcess, closedInfo);
-		appointmentClosedInfoRepository.save(closedInfo);
-		
+		Appointment appointment = appointmentService.findById(processDTO.getAppointmentId());
+		satisfactionService.createAppointmentSatisfaction(appointment);
+		return appointmentClosedInfoRepository.save(closedInfo);
 	}
-	
+
 	private ClosedProcessDTO toClosedProcessDTO(AbstractAppointmentProcessDTO processDTO) {
 		ClosedProcessDTO closeProcess = (ClosedProcessDTO)processDTO;
 		BeanUtils.copyProperties(processDTO, closeProcess);
 		return closeProcess;
-	}
-
-	private void checkClosedInfo(Long appointmentId) {
-		Optional<AppointmentClosedInfo> closedInfo = appointmentClosedInfoRepository.findByAppointmentId(appointmentId);
-		if(closedInfo.isPresent()) {
-			throw new IllegalArgumentException("appointment closed info exist");
-		}
 	}
 
 	@Override
@@ -58,13 +53,13 @@
 	}
 
 	@Override
-	public AppointmentClosedInfo editClosedInfo(AbstractAppointmentProcessDTO abstractDTO) {
+	public AppointmentClosedInfo editClosedInfo(
+			AbstractAppointmentProcessDTO abstractDTO
+			, AppointmentClosedInfo closedInfo) {
 		ClosedProcessDTO closeProcess =  toClosedProcessDTO(abstractDTO);
-		AppointmentClosedInfo closedInfo = appointmentClosedInfoService.findByAppointmentId(abstractDTO.getAppointmentId());
-		
 		BeanUtils.copyProperties(closeProcess, closedInfo);
 		return appointmentClosedInfoRepository.save(closedInfo);
 	}
-	
-	
+
+
 }

--
Gitblit v1.8.0