保誠-保戶業務員媒合平台
Mila
2021-12-22 bdae23a40c461c2c6b6ee614f661eac731c949c8
pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java
@@ -3,6 +3,7 @@
import java.time.Instant;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
import com.pollex.pam.domain.Satisfaction;
@@ -52,12 +53,12 @@
   @Autowired
   SatisfactionService satisfactionService;
   public void customerCreateAppointment(AppointmentCreateDTO appointmentCreateDTO) {
   public Appointment customerCreateAppointment(AppointmentCreateDTO appointmentCreateDTO) {
      Appointment appointment = appointmentDTOMapper.toAppointment(appointmentCreateDTO);
        appointment.setStatus(AVAILABLE);
      appointment.setCustomerId(SecurityUtils.getCustomerDBId());
      appointment.setCommunicateStatus(ContactStatusEnum.RESERVED);
      appointmentRepository.save(appointment);
      return appointmentRepository.save(appointment);
   }
    public void updateAppointment(AppointmentUpdateDTO updateAppointmentDTO) {
@@ -72,6 +73,7 @@
        appointment.setRequirement(updateAppointmentDTO.getRequirement());
        appointment.setHopeContactTime(updateAppointmentDTO.getHopeContactTime());
        appointment.setOtherRequirement(updateAppointmentDTO.getOtherRequirement());
        appointment.setLastModifiedDate(Instant.now());
        appointmentRepository.save(appointment);
    }
@@ -79,6 +81,7 @@
    public void markAppointmentDeleted(Long appointmentId) {
        Appointment appointment = appointmentRepository.findById(appointmentId).get();
        appointment.setStatus(DELETED);
        appointment.setLastModifiedDate(Instant.now());
        appointmentRepository.save(appointment);
    }
@@ -87,11 +90,11 @@
   }
   public Appointment markAsContacted(Long appointmentId) {
      Appointment appointment = appointmentRepository.findById(appointmentId).get();
      appointment.setCommunicateStatus(ContactStatusEnum.CONTACTED);
        appointment.setContactTime(Instant.now());
      return appointmentRepository.save(appointment);
        appointment.setLastModifiedDate(Instant.now());
        return appointmentRepository.save(appointment);
   }
   public AppointmentCustomerViewDTO getAppointmentDetail(Long appointmentId) {
@@ -127,6 +130,10 @@
            .collect(Collectors.toList());
    }
    public Optional<Appointment> findLatestAppointmentByAgentNoAndCustomerId(String agentNo, Long customerId) {
        return appointmentRepository.findTopByAgentNoAndCustomerIdOrderByAppointmentDateDesc(agentNo, customerId);
    }
    public void recordConsultantReadTime(Long appointmentId) {
        Appointment appointment = appointmentRepository.findById(appointmentId).get();