From f2c1313c7637c8bb2ab8b3583adbd327855cdd1d Mon Sep 17 00:00:00 2001
From: Tomas <tomasysh@gmail.com>
Date: 星期一, 10 一月 2022 08:32:16 +0800
Subject: [PATCH] Merge branch 'Phase3' of https://dev.pollex.com.tw:8443/r/pcalife/PAM into Phase3

---
 pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 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 f79a9c8..5d04403 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java
@@ -8,6 +8,7 @@
 
 import com.pollex.pam.config.ApplicationProperties;
 import com.pollex.pam.service.dto.AppointmentUpdateDTO;
+import com.pollex.pam.service.dto.InterviewRecordDTO;
 import com.pollex.pam.web.rest.errors.SendEmailFailException;
 import com.pollex.pam.web.rest.errors.SendSMSFailException;
 import io.jsonwebtoken.lang.Assert;
@@ -19,7 +20,9 @@
 
 import com.pollex.pam.domain.Appointment;
 import com.pollex.pam.domain.AppointmentCustomerView;
+import com.pollex.pam.domain.InterviewRecord;
 import com.pollex.pam.enums.ContactStatusEnum;
+import com.pollex.pam.enums.InterviewRecordStatusEnum;
 import com.pollex.pam.repository.AppointmentCustomerViewRepository;
 import com.pollex.pam.repository.AppointmentRepository;
 import com.pollex.pam.security.SecurityUtils;
@@ -69,6 +72,9 @@
 
     @Autowired
     SpringTemplateEngine springTemplateEngine;
+    
+    @Autowired
+    InterviewRecordService interviewRecordService;
 
 	public Appointment customerCreateAppointment(AppointmentCreateDTO appointmentCreateDTO) {
 		Appointment appointment = appointmentDTOMapper.toAppointment(appointmentCreateDTO);
@@ -120,15 +126,22 @@
 
         AppointmentCustomerViewDTO dto = appointmentCustomerViewMapper.toAppointmentCustomerViewDTO(appointment);
         setSatisfactionScore(dto, appointmentId);
+//        setInterviewRecordDTO(dto);
 		return dto;
 	}
 
-    public List<AppointmentCustomerViewDTO> getConsultantAvailableAppointments(String agentNo) {
+    public void setInterviewRecordDTO(AppointmentCustomerViewDTO dto) {
+    	List<InterviewRecordDTO> interviewRecords = interviewRecordService.findByAppointmentIdAndStatus(dto.getId(), InterviewRecordStatusEnum.AVAILABLE);
+    	dto.setInterviewRecordDTOs(interviewRecords);
+    }
+
+	public List<AppointmentCustomerViewDTO> getConsultantAvailableAppointments(String agentNo) {
         return appointmentCustomerViewRepository.findByAgentNo(agentNo).stream()
             .filter(appointment -> appointment.getStatus() == AVAILABLE)
             .map(appointmentCustomerView -> {
                 AppointmentCustomerViewDTO dto = appointmentCustomerViewMapper.toAppointmentCustomerViewDTO(appointmentCustomerView);
                 setSatisfactionScore(dto, appointmentCustomerView.getId());
+               
                 return dto;
             })
             .collect(Collectors.toList());
@@ -244,4 +257,9 @@
     public String getAppointmentDetailUrl(Long appointmentId) {
         return applicationProperties.getFrontEndDomain() + "/myAppointmentList/contactedList?appointmentId=" + appointmentId;
     }
+    
+    public Appointment findById(Long id) {
+    	return appointmentRepository.findById(id)
+    			.orElseThrow(AppointmentNotFoundException::new);
+    }
 }

--
Gitblit v1.8.0