From fa782dca2a00e9a4a48c5b3588f5eb3b47af93cf Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期二, 01 三月 2022 15:41:05 +0800 Subject: [PATCH] [update] [todo 136031] 諮詢度表現,提供前端該顧問所有預約單數量以及近一個月的預約單數量 --- pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java | 38 +++++++++++++++++++++++++++++--------- 1 files changed, 29 insertions(+), 9 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 2406c7e..a5f8a21 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,18 +1,26 @@ package com.pollex.pam.service.mapper; +import com.pollex.pam.domain.Appointment; import com.pollex.pam.domain.Consultant; +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; +import java.time.Instant; +import java.time.ZonedDateTime; import java.util.*; import java.util.stream.Collectors; @Service public class ConsultantMapper { + + @Autowired + AppointmentService appointmentService; private static final Character SPLIT_MASK = ','; @@ -36,14 +44,16 @@ ConsultantDTO consultantDTO = new ConsultantDTO(); consultantDTO.setAgentNo(source.getAgentNo()); consultantDTO.setName(source.getName()); - consultantDTO.setRole(source.getRole()); consultantDTO.setAvgScore(source.getAvgScore()); - consultantDTO.setServeArea(splitStringWithChar(source.getServeArea())); - consultantDTO.setSeniority_year(source.getSeniorityYear()); - consultantDTO.setSeniority_month(source.getSeniorityMonth()); + consultantDTO.setSeniority(source.getSeniorityDTOString()); consultantDTO.setExpertise(splitStringWithChar(source.getExpertise())); - consultantDTO.setGender(source.getGender()); - consultantDTO.setCommunicationStyle(source.getCommunicationStyle()); + consultantDTO.setImg(source.getPhotoPath()); + consultantDTO.setRole(source.getRole()); + + consultantDTO.setSuitability(0); + consultantDTO.setContactStatus(null); + consultantDTO.setUpdateTime(null); +// consultantDTO.setLatestAppointmentId(null); return consultantDTO; } @@ -57,16 +67,26 @@ consultantDetailDTO.setAvgScore(source.getAvgScore()); consultantDetailDTO.setTitle(source.getTitle()); consultantDetailDTO.setPhoneNumber(source.getPhoneNumber()); - consultantDetailDTO.setServeArea(splitStringWithChar(source.getServeArea())); + consultantDetailDTO.setServeArea(source.getServeArea()); consultantDetailDTO.setCompanyAddress(source.getCompanyAddress()); consultantDetailDTO.setSeniority(source.getSeniorityDTOString()); consultantDetailDTO.setConcept(source.getConcept()); consultantDetailDTO.setAwards(source.getAward()); + consultantDetailDTO.setImg(source.getPhotoPath()); consultantDetailDTO.setExpertise(splitStringWithChar(source.getExpertise())); consultantDetailDTO.setExperiences(source.getExperience()); - // todo ��蝣箄�垣閰W漲銵函 - consultantDetailDTO.setEvaluation(50); + List<Appointment> appointments = appointmentService.findByAgentNo(source.getAgentNo()); + long allAppointmentCount = appointments.size(); + long nearlyMonthAppointmentCount = appointments + .stream() + .filter(appointment -> { + Instant oneMonthAgo = ZonedDateTime.now().minusMonths(1).toInstant(); + return appointment.getAppointmentDate().isAfter(oneMonthAgo); + }).count(); + + consultantDetailDTO.setAllAppointmentCount(allAppointmentCount); + consultantDetailDTO.setNearlyMonthAppointmentCount(nearlyMonthAppointmentCount); return consultantDetailDTO; } -- Gitblit v1.8.0