From 40ba87b958d3b53f2eef4f95eb3add6548f35006 Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期五, 03 十二月 2021 11:18:48 +0800 Subject: [PATCH] [update] 我的顧問清單新增預約單歷史明細、預約單的更新API、預約單的邏輯刪除API --- pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java | 47 ++++++++++++++++++++--------------------------- 1 files changed, 20 insertions(+), 27 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java b/pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java index ea9842b..30e0e47 100644 --- a/pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java +++ b/pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java @@ -7,7 +7,9 @@ import com.pollex.pam.service.AppointmentService; import com.pollex.pam.service.dto.ConsultantDTO; import com.pollex.pam.service.dto.ConsultantDetailDTO; +import com.pollex.pam.service.dto.CustomerFavoriteConsultantDTO; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -17,17 +19,14 @@ @Service public class ConsultantMapper { - private final static Character SPLIT_MASK = ','; + private static final Character SPLIT_MASK = ','; - @Autowired - AppointmentService appointmentService; - - public ConsultantDTO toDto(Consultant source) { - ConsultantDTO consultantDTO = new ConsultantDTO(); + public CustomerFavoriteConsultantDTO toCustomerFavoriteConsultantDto(Consultant source) { + CustomerFavoriteConsultantDTO consultantDTO = new CustomerFavoriteConsultantDTO(); consultantDTO.setAgentNo(source.getAgentNo()); consultantDTO.setName(source.getName()); consultantDTO.setAvgScore(source.getAvgScore()); - consultantDTO.setSeniority(source.getSeniority()); + consultantDTO.setSeniority(source.getSeniorityDTOString()); consultantDTO.setExpertise(splitStringWithChar(source.getExpertise())); consultantDTO.setImg(source.getPhotoPath()); consultantDTO.setRole(source.getRole()); @@ -39,27 +38,21 @@ return consultantDTO; } - public ConsultantDTO toDto(CustomerFavoriteConsultant customerFavoriteConsultant) { - Consultant consultant = customerFavoriteConsultant.getConsultant(); - ConsultantDTO dto = toDto(consultant); + public ConsultantDTO toDto(Consultant source) { + ConsultantDTO consultantDTO = new ConsultantDTO(); + consultantDTO.setAgentNo(source.getAgentNo()); + consultantDTO.setName(source.getName()); + consultantDTO.setAvgScore(source.getAvgScore()); + consultantDTO.setSeniority(source.getSeniorityDTOString()); + consultantDTO.setExpertise(splitStringWithChar(source.getExpertise())); + consultantDTO.setImg(source.getPhotoPath()); + consultantDTO.setRole(source.getRole()); - final Optional<Appointment> latestAppointmentOptional = appointmentService.findByAgentNoAndCustomerId(consultant.getAgentNo(), customerFavoriteConsultant.getCustomerId()) - .stream() - .max(Comparator.comparing(Appointment::getAppointmentDate)); + consultantDTO.setContactStatus(null); + consultantDTO.setUpdateTime(null); + consultantDTO.setLatestAppointmentId(null); - if(latestAppointmentOptional.isPresent()) { - Appointment latestAppointment = latestAppointmentOptional.get(); - dto.setContactStatus(latestAppointment.getCommunicateStatus()); - dto.setLatestAppointmentId(latestAppointment.getId()); - dto.setUpdateTime(latestAppointment.getAppointmentDate()); - } - else { - dto.setContactStatus(ContactStatusEnum.PICKED); - dto.setLatestAppointmentId(null); - dto.setUpdateTime(customerFavoriteConsultant.getLastModifiedDate()); - } - - return dto; + return consultantDTO; } public ConsultantDetailDTO toDetailDto(Consultant source) { @@ -72,7 +65,7 @@ consultantDetailDTO.setPhoneNumber(source.getPhoneNumber()); consultantDetailDTO.setServeArea(source.getServeArea()); consultantDetailDTO.setCompanyAddress(source.getCompanyAddress()); - consultantDetailDTO.setSeniority(source.getSeniority()); + consultantDetailDTO.setSeniority(source.getSeniorityDTOString()); consultantDetailDTO.setConcept(source.getConcept()); consultantDetailDTO.setAwards(source.getAward()); consultantDetailDTO.setImage(source.getPhotoPath()); -- Gitblit v1.8.0