保誠-保戶業務員媒合平台
pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java
@@ -1,12 +1,16 @@
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 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.AppointmentService;
import com.pollex.pam.service.dto.AbstractAppointmentProcessDTO;
import com.pollex.pam.service.dto.ClosedProcessDTO;
import com.pollex.pam.service.dto.DoneProcessDTO;
@@ -17,13 +21,28 @@
   @Autowired
   AppointmentClosedInfoRepository appointmentClosedInfoRepository;
   @Autowired
   AppointmentService appointmentService;
   @Override
   public void doProcess(AbstractAppointmentProcessDTO processDTO) {
      checkClosedInfo(processDTO.getAppointmentId());
      ClosedProcessDTO doneProcess = (ClosedProcessDTO)processDTO;
      BeanUtils.copyProperties(processDTO, doneProcess);
      AppointmentClosedInfo closedInfo = new AppointmentClosedInfo();
      BeanUtils.copyProperties(doneProcess, closedInfo);
      appointmentClosedInfoRepository.save(closedInfo);
   }
   private void checkClosedInfo(Long appointmentId) {
      Optional<AppointmentClosedInfo> closedInfo = appointmentClosedInfoRepository.findByAppointmentId(appointmentId);
      if(closedInfo.isPresent()) {
         throw new IllegalArgumentException("appointment closed info exist");
      }
   }
   @Override