From 2f0e71d3d73b71cba5a0caebfdb9ba79722989c0 Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期四, 27 一月 2022 14:54:38 +0800 Subject: [PATCH] [update] [todo 134826, 134662] 調整顧問資料格式、棄用搜尋並改將其功能改到前端算匹配度 --- pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java | 73 ++++++++++++++---------------------- 1 files changed, 28 insertions(+), 45 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 8870fec..2406c7e 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 @@ -1,13 +1,11 @@ package com.pollex.pam.service.mapper; -import com.pollex.pam.domain.Appointment; import com.pollex.pam.domain.Consultant; -import com.pollex.pam.domain.CustomerFavoriteConsultant; -import com.pollex.pam.enums.ContactStatusEnum; -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.stereotype.Service; import java.util.*; @@ -16,74 +14,59 @@ @Service public class ConsultantMapper { - private final static Character SPLIT_MASK = ','; + private static final Character SPLIT_MASK = ','; - private final AppointmentService appointmentService; + public CustomerFavoriteConsultantDTO toCustomerFavoriteConsultantDto(Consultant source) { + CustomerFavoriteConsultantDTO consultantDTO = new CustomerFavoriteConsultantDTO(); + 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()); - public ConsultantMapper(AppointmentService appointmentService) { - this.appointmentService = appointmentService; + consultantDTO.setContactStatus(null); + consultantDTO.setUpdateTime(null); + + return consultantDTO; } public ConsultantDTO toDto(Consultant source) { ConsultantDTO consultantDTO = new ConsultantDTO(); consultantDTO.setAgentNo(source.getAgentNo()); consultantDTO.setName(source.getName()); + consultantDTO.setRole(source.getRole()); consultantDTO.setAvgScore(source.getAvgScore()); - consultantDTO.setSeniority(source.getSeniority()); + consultantDTO.setServeArea(splitStringWithChar(source.getServeArea())); + consultantDTO.setSeniority_year(source.getSeniorityYear()); + consultantDTO.setSeniority_month(source.getSeniorityMonth()); consultantDTO.setExpertise(splitStringWithChar(source.getExpertise())); - consultantDTO.setImg(source.getPhotoPath()); - - consultantDTO.setContactStatus(null); - consultantDTO.setUpdateTime(null); - consultantDTO.setLatestAppointmentId(null); + consultantDTO.setGender(source.getGender()); + consultantDTO.setCommunicationStyle(source.getCommunicationStyle()); return consultantDTO; } - public ConsultantDTO toDto(CustomerFavoriteConsultant customerFavoriteConsultant) { - Consultant consultant = customerFavoriteConsultant.getConsultant(); - ConsultantDTO dto = toDto(consultant); - - final Optional<Appointment> latestAppointmentOptional = appointmentService.findByAgentNoAndCustomerId(consultant.getAgentNo(), customerFavoriteConsultant.getCustomerId()) - .stream() - .max(Comparator.comparing(Appointment::getAppointmentDate)); - - 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; - } - public ConsultantDetailDTO toDetailDto(Consultant source) { ConsultantDetailDTO consultantDetailDTO = new ConsultantDetailDTO(); + BeanUtils.copyProperties(source, consultantDetailDTO); consultantDetailDTO.setName(source.getName()); consultantDetailDTO.setAgentNo(source.getAgentNo()); consultantDetailDTO.setRole(source.getRole()); consultantDetailDTO.setAvgScore(source.getAvgScore()); consultantDetailDTO.setTitle(source.getTitle()); consultantDetailDTO.setPhoneNumber(source.getPhoneNumber()); - consultantDetailDTO.setServeArea(source.getServeArea()); + consultantDetailDTO.setServeArea(splitStringWithChar(source.getServeArea())); consultantDetailDTO.setCompanyAddress(source.getCompanyAddress()); - consultantDetailDTO.setLatestLoginTime(source.getLatestLoginTime()); - consultantDetailDTO.setSeniority(source.getSeniority()); + consultantDetailDTO.setSeniority(source.getSeniorityDTOString()); consultantDetailDTO.setConcept(source.getConcept()); consultantDetailDTO.setAwards(source.getAward()); - consultantDetailDTO.setImage(source.getPhotoPath()); + consultantDetailDTO.setExpertise(splitStringWithChar(source.getExpertise())); + consultantDetailDTO.setExperiences(source.getExperience()); - // todo 瘙箏����漲 - consultantDetailDTO.setSuitability(50); + // todo ��蝣箄�垣閰W漲銵函 consultantDetailDTO.setEvaluation(50); - consultantDetailDTO.setExpertises(splitStringWithChar(source.getExpertise())); - consultantDetailDTO.setExperiences(splitStringWithChar(source.getExperience())); return consultantDetailDTO; } -- Gitblit v1.8.0