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/DoneProcess.java | 64 ++++++++++++++++++++++++++++++++ 1 files changed, 64 insertions(+), 0 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/appointment/process/DoneProcess.java b/pamapi/src/main/java/com/pollex/pam/appointment/process/DoneProcess.java new file mode 100644 index 0000000..b4d628f --- /dev/null +++ b/pamapi/src/main/java/com/pollex/pam/appointment/process/DoneProcess.java @@ -0,0 +1,64 @@ +package com.pollex.pam.appointment.process; + +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +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.service.AppointmentClosedInfoService; +import com.pollex.pam.service.AppointmentService; +import com.pollex.pam.service.SatisfactionService; +import com.pollex.pam.service.dto.AbstractAppointmentProcessDTO; +import com.pollex.pam.service.dto.DoneProcessDTO; + +@Service +@Transactional +public class DoneProcess implements AppointmentProcessInterface{ + + @Autowired + AppointmentClosedInfoRepository appointmentClosedInfoRepository; + + @Autowired + AppointmentClosedInfoService appointmentClosedInfoService; + + @Autowired + SatisfactionService satisfactionService; + + @Autowired + AppointmentService appointmentService; + + @Override + public AppointmentClosedInfo create(AbstractAppointmentProcessDTO processDTO) { + DoneProcessDTO doneProcess = toDoneProcessDTO(processDTO); + AppointmentClosedInfo closedInfo = new AppointmentClosedInfo(); + BeanUtils.copyProperties(doneProcess, closedInfo); + Appointment appointment = appointmentService.findById(processDTO.getAppointmentId()); + satisfactionService.createSatisfaction(appointment); + return appointmentClosedInfoRepository.save(closedInfo); + } + + @Override + public ContactStatusEnum getProcessType() { + return ContactStatusEnum.DONE; + } + + @Override + public AppointmentClosedInfo editClosedInfo( + AbstractAppointmentProcessDTO abstractDTO + , AppointmentClosedInfo closedInfo) { + DoneProcessDTO doneProcess = toDoneProcessDTO(abstractDTO); + BeanUtils.copyProperties(doneProcess, closedInfo); + return appointmentClosedInfoRepository.save(closedInfo); + } + + private DoneProcessDTO toDoneProcessDTO(AbstractAppointmentProcessDTO abstractDTO) { + DoneProcessDTO doneProcess = (DoneProcessDTO)abstractDTO; + BeanUtils.copyProperties(abstractDTO, doneProcess); + return doneProcess; + } + +} -- Gitblit v1.8.0