From 03a858f2882bedeb5925b65cb045ccbbb1202329 Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期三, 24 十一月 2021 16:01:04 +0800 Subject: [PATCH] [update] otp呼叫方式調整,並針對sit版本除錯 --- pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java | 56 ++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 40 insertions(+), 16 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 f1261e8..138c713 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,15 +1,17 @@ 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 org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.time.Instant; -import java.util.Arrays; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; @Service @@ -17,26 +19,47 @@ private final static Character SPLIT_MASK = ','; - public List<ConsultantDTO> toDto(List<Consultant> source) { - return source.stream().map(this::toDto).collect(Collectors.toList()); - } + @Autowired + AppointmentService appointmentService; - // todo convert public ConsultantDTO toDto(Consultant source) { ConsultantDTO consultantDTO = new ConsultantDTO(); consultantDTO.setAgentNo(source.getAgentNo()); consultantDTO.setName(source.getName()); consultantDTO.setAvgScore(source.getAvgScore()); consultantDTO.setSeniority(source.getSeniority()); - - // todo - consultantDTO.setImg(""); consultantDTO.setExpertise(splitStringWithChar(source.getExpertise())); - consultantDTO.setNewConsultant(false); - consultantDTO.setContactStatus(ContactStatusEnum.CONTACTED); - consultantDTO.setUpdateTime(Instant.now()); + consultantDTO.setImg(source.getPhotoPath()); + consultantDTO.setRole(source.getRole()); + + consultantDTO.setContactStatus(null); + consultantDTO.setUpdateTime(null); + consultantDTO.setLatestAppointmentId(null); 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) { @@ -53,10 +76,11 @@ consultantDetailDTO.setSeniority(source.getSeniority()); consultantDetailDTO.setConcept(source.getConcept()); consultantDetailDTO.setAwards(source.getAward()); + consultantDetailDTO.setImage(source.getPhotoPath()); - consultantDetailDTO.setImage(""); - consultantDetailDTO.setSuitability(0); - consultantDetailDTO.setEvaluation(0); + // todo 瘙箏����漲 + consultantDetailDTO.setSuitability(50); + consultantDetailDTO.setEvaluation(50); consultantDetailDTO.setExpertises(splitStringWithChar(source.getExpertise())); consultantDetailDTO.setExperiences(splitStringWithChar(source.getExperience())); -- Gitblit v1.8.0