From bdae23a40c461c2c6b6ee614f661eac731c949c8 Mon Sep 17 00:00:00 2001
From: Mila <Mila@pollex.com.tw>
Date: 星期三, 22 十二月 2021 14:12:05 +0800
Subject: [PATCH] Merge branch 'master' of https://192.168.0.10:8443/r/pcalife/PAM

---
 pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java b/pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java
index 0730d6d..ec045e3 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java
@@ -3,6 +3,7 @@
 import java.time.Instant;
 import java.util.List;
 import java.util.Objects;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 import com.pollex.pam.domain.Satisfaction;
@@ -52,12 +53,12 @@
 	@Autowired
 	SatisfactionService satisfactionService;
 
-	public void customerCreateAppointment(AppointmentCreateDTO appointmentCreateDTO) {
+	public Appointment customerCreateAppointment(AppointmentCreateDTO appointmentCreateDTO) {
 		Appointment appointment = appointmentDTOMapper.toAppointment(appointmentCreateDTO);
         appointment.setStatus(AVAILABLE);
 		appointment.setCustomerId(SecurityUtils.getCustomerDBId());
 		appointment.setCommunicateStatus(ContactStatusEnum.RESERVED);
-		appointmentRepository.save(appointment);
+		return appointmentRepository.save(appointment);
 	}
 
     public void updateAppointment(AppointmentUpdateDTO updateAppointmentDTO) {
@@ -72,6 +73,7 @@
         appointment.setRequirement(updateAppointmentDTO.getRequirement());
         appointment.setHopeContactTime(updateAppointmentDTO.getHopeContactTime());
         appointment.setOtherRequirement(updateAppointmentDTO.getOtherRequirement());
+        appointment.setLastModifiedDate(Instant.now());
 
         appointmentRepository.save(appointment);
     }
@@ -79,6 +81,7 @@
     public void markAppointmentDeleted(Long appointmentId) {
         Appointment appointment = appointmentRepository.findById(appointmentId).get();
         appointment.setStatus(DELETED);
+        appointment.setLastModifiedDate(Instant.now());
         appointmentRepository.save(appointment);
     }
 
@@ -87,11 +90,11 @@
 	}
 
 	public Appointment markAsContacted(Long appointmentId) {
-
 		Appointment appointment = appointmentRepository.findById(appointmentId).get();
 		appointment.setCommunicateStatus(ContactStatusEnum.CONTACTED);
         appointment.setContactTime(Instant.now());
-		return appointmentRepository.save(appointment);
+        appointment.setLastModifiedDate(Instant.now());
+        return appointmentRepository.save(appointment);
 	}
 
 	public AppointmentCustomerViewDTO getAppointmentDetail(Long appointmentId) {
@@ -127,6 +130,10 @@
             .collect(Collectors.toList());
     }
 
+    public Optional<Appointment> findLatestAppointmentByAgentNoAndCustomerId(String agentNo, Long customerId) {
+        return appointmentRepository.findTopByAgentNoAndCustomerIdOrderByAppointmentDateDesc(agentNo, customerId);
+    }
+
     public void recordConsultantReadTime(Long appointmentId) {
         Appointment appointment = appointmentRepository.findById(appointmentId).get();
 

--
Gitblit v1.8.0