From 57f31fe94be82237318aa5706f03e08b5354daf8 Mon Sep 17 00:00:00 2001
From: wayne <wayne8692wayne8692@gmail.com>
Date: 星期五, 07 一月 2022 18:15:40 +0800
Subject: [PATCH] [fix] 修正因合併錯誤導致有漏掉部分設定

---
 pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java |   42 ++++++++++++++++++++++++++++++------------
 1 files changed, 30 insertions(+), 12 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 06b9eb0..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());
@@ -189,11 +202,11 @@
         String consultantMobile = consultantService.findByAgentNo(appointment.getAgentNo()).getPhoneNumber();
 
         try {
-            if(StringUtils.hasText(consultantMobile)) {
-                sendMsgService.sendMsgBySMS(consultantMobile, msg);
+            if(!StringUtils.hasText(consultantMobile)) {
+                throw new SendSMSFailException("the consultant does not have mobile!");
             }
 
-            throw new SendEmailFailException("the consultant does not have mobile!");
+            sendMsgService.sendMsgBySMS(consultantMobile, msg);
         } catch (SendSMSFailException e) {
             log.warn("send appointment notify by sms was fail, appointment Id = {}", appointment.getId(), e);
         }
@@ -202,13 +215,13 @@
     private String getAppointmentNotifyWording(Appointment appointment) {
         String normalContent;
         if(StringUtils.hasText(appointment.getPhone())) {
-            normalContent = "閬芣��“��憟踝����蝑�靽�犖憯賢��像��������恥�����Ⅳ�" + appointment.getPhone() + "\n\n";
+            normalContent = "閬芣��“��憟踝����蝑�靽�犖憯賢��像��������恥�����Ⅳ�" + appointment.getPhone();
         }
         else {
-            normalContent = "閬芣��“��憟踝����蝑�靽�犖憯賢��像�����n\n";
+            normalContent = "閬芣��“��憟踝����蝑�靽�犖憯賢��像������";
         }
 
-        String urlContent = "隢��雯��嚗�" + getAppointmentDetailUrl(appointment.getId()) + " ����蒂摰�蝯∟赤隢�����";
+        String urlContent = "嚗���雯��嚗�" + getAppointmentDetailUrl(appointment.getId()) + "����蒂摰�蝯∟赤隢�����";
         return normalContent + urlContent;
     }
 
@@ -219,10 +232,10 @@
         String normalContent;
 
         if(StringUtils.hasText(customerMobile)) {
-            normalContent = "閬芣��“��憟踝����蝑�靽�犖憯賢��像��������恥�����Ⅳ�" + customerMobile + "";
+            normalContent = "閬芣��“��憟踝����蝑�靽�犖憯賢��像��������恥�����Ⅳ�" + customerMobile + "嚗�";
         }
         else {
-            normalContent = "閬芣��“��憟踝����蝑�靽�犖憯賢��像������";
+            normalContent = "閬芣��“��憟踝����蝑�靽�犖憯賢��像�������";
         }
 
         Context context = new Context();
@@ -231,11 +244,11 @@
         String content = springTemplateEngine.process("mail/appointmentNotifyEmail", context);
 
         try {
-            if(StringUtils.hasText(consultantEmail)) {
-                sendMsgService.sendMsgByEmail(senderEmail, consultantEmail, NOTIFY_EMAIL_SUBJECT, content, true);
+            if(!StringUtils.hasText(consultantEmail)) {
+                throw new SendEmailFailException("the consultant does not have email!");
             }
 
-            throw new SendEmailFailException("the consultant does not have email!");
+            sendMsgService.sendMsgByEmail(senderEmail, consultantEmail, NOTIFY_EMAIL_SUBJECT, content, true);
         } catch (SendEmailFailException e) {
             log.warn("send appointment notify by email was fail, appointment Id = {}", appointment.getId(), e);
         }
@@ -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