保誠-保戶業務員媒合平台
Jack
2022-01-18 c2a3da1d4071f2f1d6a5beb63b8442920767584e
pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java
@@ -10,10 +10,12 @@
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.dto.AbstractAppointmentProcessDTO;
import com.pollex.pam.service.dto.ClosedProcessDTO;
import com.pollex.pam.service.dto.DoneProcessDTO;
import com.pollex.pam.web.rest.errors.AppointmentClosedInfoNotFoundException;
@Service
public class ClosedProcess implements AppointmentProcessInterface{
@@ -24,18 +26,23 @@
   @Autowired
   AppointmentService appointmentService;
   
   @Autowired
   AppointmentClosedInfoService appointmentClosedInfoService;
   
   @Override
   public void doProcess(AbstractAppointmentProcessDTO processDTO) {
   public void createProcess(AbstractAppointmentProcessDTO processDTO) {
      checkClosedInfo(processDTO.getAppointmentId());
      ClosedProcessDTO doneProcess = (ClosedProcessDTO)processDTO;
      BeanUtils.copyProperties(processDTO, doneProcess);
      ClosedProcessDTO closeProcess = toClosedProcessDTO(processDTO);
      AppointmentClosedInfo closedInfo = new AppointmentClosedInfo();
      BeanUtils.copyProperties(doneProcess, closedInfo);
      BeanUtils.copyProperties(closeProcess, closedInfo);
      appointmentClosedInfoRepository.save(closedInfo);
      
   }
   private ClosedProcessDTO toClosedProcessDTO(AbstractAppointmentProcessDTO processDTO) {
      ClosedProcessDTO closeProcess = (ClosedProcessDTO)processDTO;
      BeanUtils.copyProperties(processDTO, closeProcess);
      return closeProcess;
   }
   private void checkClosedInfo(Long appointmentId) {
@@ -49,6 +56,15 @@
   public ContactStatusEnum getProcessType() {
      return ContactStatusEnum.CLOSED;
   }
   @Override
   public AppointmentClosedInfo editClosedInfo(AbstractAppointmentProcessDTO abstractDTO) {
      ClosedProcessDTO closeProcess =  toClosedProcessDTO(abstractDTO);
      AppointmentClosedInfo closedInfo = appointmentClosedInfoService.findByAppointmentId(abstractDTO.getAppointmentId());
      BeanUtils.copyProperties(closeProcess, closedInfo);
      return appointmentClosedInfoRepository.save(closedInfo);
   }
   
   
}