| | |
| | | package com.pollex.pam.appointment.process; |
| | | |
| | | import java.time.Instant; |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | |
| | |
| | | |
| | | 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{ |
| | |
| | | |
| | | public void process(AbstractAppointmentProcessDTO dto) { |
| | | |
| | | AbstractAppointmentProcessDTO appointmentProcessDTO = (AbstractAppointmentProcessDTO)dto; |
| | | // AbstractAppointmentProcessDTO appointmentProcessDTO = dto; |
| | | processList.stream().forEach(process ->{ |
| | | if(process.getProcessType() == appointmentProcessDTO.getContactStatus()) { |
| | | process.doProcess(appointmentProcessDTO); |
| | | if(process.getProcessType() == dto.getContactStatus()) { |
| | | process.createProcess(dto); |
| | | } |
| | | }); |
| | | |
| | | changeAppointmentCommunicateStatus(dto.getAppointmentId(), dto.getContactStatus()); |
| | | |
| | | } |
| | | |
| | | private void changeAppointmentCommunicateStatus(Long appointmentId, ContactStatusEnum contactStatus) { |
| | | Appointment appointment = appointmentService.findById(appointmentId); |
| | | appointment.setCommunicateStatus(contactStatus); |
| | | appointmentRepository.save(appointment); |
| | | } |
| | | |
| | | public void editClosedInfo(AbstractAppointmentProcessDTO dto) { |
| | | processList.stream().forEach(process ->{ |
| | | if(process.getProcessType() == dto.getContactStatus()) { |
| | | process.editClosedInfo(dto); |
| | | } |
| | | }); |
| | | Appointment appointment = appointmentService.findById(dto.getAppointmentId()); |