package com.pollex.pam.service; import java.util.List; 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.enums.ContactStatusEnum; import com.pollex.pam.repository.AppointmentRepository; import com.pollex.pam.security.SecurityUtils; import com.pollex.pam.service.dto.AppointmentCreateDTO; import com.pollex.pam.service.mapper.AppointmentDTOMapper; import com.pollex.pam.service.mapper.AppointmentMapper; @Service @Transactional public class AppointmentService { @Autowired AppointmentRepository appointmentRepository; @Autowired AppointmentDTOMapper appointmentDTOMapper; @Autowired ConsultantService consultantService; public void customerCreateAppointment(AppointmentCreateDTO appointmentCreateDTO) { Appointment appointment = appointmentDTOMapper.toAppointment(appointmentCreateDTO); appointment.setCustomerId(SecurityUtils.getCustomerId()); appointment.setCommunicateStatus(ContactStatusEnum.RESERVED); appointmentRepository.save(appointment); } public List findByAgentNo(String agentNo) { return appointmentRepository.findByAgentNo(agentNo); } public void markAsContacted(Long appointmentId) { Appointment appointment = appointmentRepository.getById(appointmentId); appointment.setCommunicateStatus(ContactStatusEnum.CONTACTED); appointmentRepository.save(appointment); } }