From 06d3a2b2801ecaaa60a3427a70a8179164ffedb9 Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期三, 16 二月 2022 16:44:38 +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/appointment/process/ClosedProcess.java | 48 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 39 insertions(+), 9 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java b/pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java index 8d728c5..69dbd24 100644 --- a/pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java +++ b/pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java @@ -3,33 +3,63 @@ 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.ClosedProcessDTO; -import com.pollex.pam.service.dto.DoneProcessDTO; @Service +@Transactional public class ClosedProcess implements AppointmentProcessInterface{ - + @Autowired AppointmentClosedInfoRepository appointmentClosedInfoRepository; + @Autowired + AppointmentService appointmentService; + + @Autowired + AppointmentClosedInfoService appointmentClosedInfoService; + + @Autowired + SatisfactionService satisfactionService; + @Override - public void doProcess(AbstractAppointmentProcessDTO processDTO) { - ClosedProcessDTO doneProcess = (ClosedProcessDTO)processDTO; - BeanUtils.copyProperties(processDTO, doneProcess); + public AppointmentClosedInfo create(AbstractAppointmentProcessDTO processDTO) { + ClosedProcessDTO closeProcess = toClosedProcessDTO(processDTO); AppointmentClosedInfo closedInfo = new AppointmentClosedInfo(); - BeanUtils.copyProperties(doneProcess, closedInfo); - appointmentClosedInfoRepository.save(closedInfo); + BeanUtils.copyProperties(closeProcess, closedInfo); + Appointment appointment = appointmentService.findById(processDTO.getAppointmentId()); + satisfactionService.createAppointmentSatisfaction(appointment); + return appointmentClosedInfoRepository.save(closedInfo); + } + + private ClosedProcessDTO toClosedProcessDTO(AbstractAppointmentProcessDTO processDTO) { + ClosedProcessDTO closeProcess = (ClosedProcessDTO)processDTO; + BeanUtils.copyProperties(processDTO, closeProcess); + return closeProcess; } @Override public ContactStatusEnum getProcessType() { return ContactStatusEnum.CLOSED; } - - + + @Override + public AppointmentClosedInfo editClosedInfo( + AbstractAppointmentProcessDTO abstractDTO + , AppointmentClosedInfo closedInfo) { + ClosedProcessDTO closeProcess = toClosedProcessDTO(abstractDTO); + BeanUtils.copyProperties(closeProcess, closedInfo); + return appointmentClosedInfoRepository.save(closedInfo); + } + + } -- Gitblit v1.8.0