From a3716f72066d25d745f4d5103ff23a553c3e102b Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期四, 17 二月 2022 11:41:19 +0800 Subject: [PATCH] Merge branch 'sit' into uat --- pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java | 65 ++++++++++++++++++++++++++++++++ 1 files changed, 65 insertions(+), 0 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 new file mode 100644 index 0000000..69dbd24 --- /dev/null +++ b/pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java @@ -0,0 +1,65 @@ +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.ClosedProcessDTO; + +@Service +@Transactional +public class ClosedProcess implements AppointmentProcessInterface{ + + @Autowired + AppointmentClosedInfoRepository appointmentClosedInfoRepository; + + @Autowired + AppointmentService appointmentService; + + @Autowired + AppointmentClosedInfoService appointmentClosedInfoService; + + @Autowired + SatisfactionService satisfactionService; + + @Override + public AppointmentClosedInfo create(AbstractAppointmentProcessDTO processDTO) { + ClosedProcessDTO closeProcess = toClosedProcessDTO(processDTO); + AppointmentClosedInfo closedInfo = new AppointmentClosedInfo(); + 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