From e5065dea306c4a3185fbee8c12525cf8c5ef85ee Mon Sep 17 00:00:00 2001 From: Jack <jack.su@pollex.com.tw> Date: 星期五, 21 一月 2022 17:02:55 +0800 Subject: [PATCH] [ADD] 新增小鈴鐺通知的查詢API [UPDATE] 調整取得最愛顧問清單的狀態判斷 [BUG] 修復結案的進件時間只有日期的問題 --- pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java | 45 ++++++++++++++++++++++++++++----------------- 1 files changed, 28 insertions(+), 17 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 978cb7c..b6c70ce 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 @@ -1,21 +1,22 @@ package com.pollex.pam.appointment.process; -import java.util.Optional; - 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 @@ -24,25 +25,26 @@ @Autowired AppointmentService appointmentService; + @Autowired + AppointmentClosedInfoService appointmentClosedInfoService; + @Autowired + SatisfactionService satisfactionService; @Override - public void doProcess(AbstractAppointmentProcessDTO processDTO) { - - checkClosedInfo(processDTO.getAppointmentId()); - 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.createSatisfaction(appointment); + return appointmentClosedInfoRepository.save(closedInfo); } - - private void checkClosedInfo(Long appointmentId) { - Optional<AppointmentClosedInfo> closedInfo = appointmentClosedInfoRepository.findByAppointmentId(appointmentId); - if(closedInfo.isPresent()) { - throw new IllegalArgumentException("appointment closed info exist"); - } + + private ClosedProcessDTO toClosedProcessDTO(AbstractAppointmentProcessDTO processDTO) { + ClosedProcessDTO closeProcess = (ClosedProcessDTO)processDTO; + BeanUtils.copyProperties(processDTO, closeProcess); + return closeProcess; } @Override @@ -50,5 +52,14 @@ 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