From 13ae6947a48f4c061b1a6479df889fa2aaf07099 Mon Sep 17 00:00:00 2001 From: Jack <jack.su@pollex.com.tw> Date: 星期一, 29 十一月 2021 16:01:58 +0800 Subject: [PATCH] Merge branch 'master' of ssh://192.168.0.10:29418/pcalife/PAM --- pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java | 46 +++++++++++++++++++++++++++++++++++++++------- 1 files changed, 39 insertions(+), 7 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java b/pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java index 3aba678..b23f88e 100644 --- a/pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java +++ b/pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java @@ -4,34 +4,66 @@ 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.AppointmentCustomerView; import com.pollex.pam.enums.ContactStatusEnum; +import com.pollex.pam.repository.AppointmentCustomerViewRepository; import com.pollex.pam.repository.AppointmentRepository; import com.pollex.pam.security.SecurityUtils; import com.pollex.pam.service.dto.AppointmentCreateDTO; +import com.pollex.pam.service.dto.AppointmentCustomerViewDTO; +import com.pollex.pam.service.mapper.AppointmentCustomerViewMapper; import com.pollex.pam.service.mapper.AppointmentDTOMapper; -import com.pollex.pam.service.mapper.AppointmentMapper; +import com.pollex.pam.web.rest.errors.AppointmentNotFoundException; @Service +@Transactional public class AppointmentService { - + @Autowired AppointmentRepository appointmentRepository; - + @Autowired AppointmentDTOMapper appointmentDTOMapper; - - + + @Autowired + ConsultantService consultantService; + + @Autowired + AppointmentCustomerViewMapper appointmentCustomerViewMapper; + + @Autowired + AppointmentCustomerViewRepository appointmentCustomerViewRepository; + public void customerCreateAppointment(AppointmentCreateDTO appointmentCreateDTO) { Appointment appointment = appointmentDTOMapper.toAppointment(appointmentCreateDTO); - appointment.setCustomerId(SecurityUtils.getCustomerId()); + appointment.setCustomerId(SecurityUtils.getCustomerDBId()); appointment.setCommunicateStatus(ContactStatusEnum.RESERVED); appointmentRepository.save(appointment); } - public List<Appointment> findByAgentNo(String agentNo) { return appointmentRepository.findByAgentNo(agentNo); } + + public void markAsContacted(Long appointmentId) { + + Appointment appointment = appointmentRepository.findById(appointmentId).get(); + appointment.setCommunicateStatus(ContactStatusEnum.CONTACTED); + appointmentRepository.save(appointment); + } + + + public AppointmentCustomerViewDTO getAppointmentDetail(Long appointmentId) { + AppointmentCustomerView appointment = appointmentCustomerViewRepository.findById(appointmentId) + .orElseThrow(AppointmentNotFoundException::new); + return appointmentCustomerViewMapper.toAppointmentCustomerViewDTO(appointment); + } + + + public List<Appointment> findByAgentNoAndCustomerId(String agentNo, Long customerId) { + return appointmentRepository.findByAgentNoAndCustomerId(agentNo, customerId); + } } -- Gitblit v1.8.0