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