From 6fa4bba623713c396432ba8b863846883d6a1906 Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期三, 26 一月 2022 10:52:23 +0800 Subject: [PATCH] Merge branch 'pollex-dev' into sit --- pamapi/src/main/java/com/pollex/pam/appointment/process/AppointmentProcess.java | 22 +++++++++++++++++----- 1 files changed, 17 insertions(+), 5 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/appointment/process/AppointmentProcess.java b/pamapi/src/main/java/com/pollex/pam/appointment/process/AppointmentProcess.java index 4f72f86..846287c 100644 --- a/pamapi/src/main/java/com/pollex/pam/appointment/process/AppointmentProcess.java +++ b/pamapi/src/main/java/com/pollex/pam/appointment/process/AppointmentProcess.java @@ -1,5 +1,6 @@ package com.pollex.pam.appointment.process; +import java.time.Instant; import java.util.List; import java.util.Optional; @@ -8,11 +9,13 @@ 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.repository.AppointmentRepository; import com.pollex.pam.service.AppointmentClosedInfoService; import com.pollex.pam.service.AppointmentService; import com.pollex.pam.service.dto.AbstractAppointmentProcessDTO; +import com.pollex.pam.service.dto.DoneProcessDTO; @Service public class AppointmentProcess{ @@ -31,14 +34,23 @@ public void process(AbstractAppointmentProcessDTO dto) { - AbstractAppointmentProcessDTO appointmentProcessDTO = (AbstractAppointmentProcessDTO)dto; processList.stream().forEach(process ->{ - if(process.getProcessType() == appointmentProcessDTO.getContactStatus()) { - process.doProcess(appointmentProcessDTO); + if(process.getProcessType() == dto.getContactStatus()) { + Optional<AppointmentClosedInfo> closedInfoOP = appointmentClosedInfoRepository.findByAppointmentId(dto.getAppointmentId()); + if(closedInfoOP.isPresent()) { + process.editClosedInfo(dto, closedInfoOP.get()); + }else { + process.create(dto); + } } }); - Appointment appointment = appointmentService.findById(dto.getAppointmentId()); - appointment.setCommunicateStatus(dto.getContactStatus()); + + changeAppointmentCommunicateStatus(dto.getAppointmentId(), dto.getContactStatus()); + } + + private void changeAppointmentCommunicateStatus(Long appointmentId, ContactStatusEnum contactStatus) { + Appointment appointment = appointmentService.findById(appointmentId); + appointment.setCommunicateStatus(contactStatus); appointmentRepository.save(appointment); } -- Gitblit v1.8.0