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/dto/ConsultantDetailDTO.java | 19 ++++++++++++++----- pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java | 21 +++++++++++++++++++-- pamapi/src/doc/顧問API/指定顧問詳細資訊.txt | 3 ++- 3 files changed, 35 insertions(+), 8 deletions(-) diff --git "a/pamapi/src/doc/\351\241\247\345\225\217API/\346\214\207\345\256\232\351\241\247\345\225\217\350\251\263\347\264\260\350\263\207\350\250\212.txt" "b/pamapi/src/doc/\351\241\247\345\225\217API/\346\214\207\345\256\232\351\241\247\345\225\217\350\251\263\347\264\260\350\263\207\350\250\212.txt" index 7960edd..9b6530d 100644 --- "a/pamapi/src/doc/\351\241\247\345\225\217API/\346\214\207\345\256\232\351\241\247\345\225\217\350\251\263\347\264\260\350\263\207\350\250\212.txt" +++ "b/pamapi/src/doc/\351\241\247\345\225\217API/\346\214\207\345\256\232\351\241\247\345\225\217\350\251\263\347\264\260\350\263\207\350\250\212.txt" @@ -13,7 +13,8 @@ "companyAddress" : "��蝮����銝剜迤頝�30���9璅�", "latestLoginTime" : "2021-12-24T08:48:21.497Z", "seniority" : "38 撟� ", - "evaluation" : 50, + "nearlyMonthAppointmentCount" : 30, 餈����������隢株岷摨� + "allAppointmentCount" : 50, �����������隢株岷摨� "expertise" : [ "�摨瑁����", "摮戊��", "鞈閬��", "璅暑��隡�", "靽�瑼�/閬��", "����" ], "concept" : "瘥遢靽閬������\r\n�敹�敹�票敹����恥�\r\n\r\n����之靽∪艙\r\n��� 擃p�� ���祥�����r\n��� 蝪∪��� ��������r\n��� 摰Zˊ��� �銝�隞賡������r\n\r\n���������風�������犖", "experiences" : "暻餌��極摮賊������飛蝟�,�憭余MBA,銝剖�之摮貉瓷��頂,鈭箄澈靽霅,鞎∠靽霅,�����霅,憭馳�隞�霅,��隡��移蝞葦霅,��靽鴽方�犖��岫霅,蝢�ˊ�蝞∴坐撣怨�,蝢�ˊ�鴽方�葦霅,蝢�瓷������靽葦霅", diff --git a/pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDetailDTO.java b/pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDetailDTO.java index ea92f3f..f514e9d 100644 --- a/pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDetailDTO.java +++ b/pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDetailDTO.java @@ -18,7 +18,8 @@ private String companyAddress; private Instant latestLoginTime; private String seniority; - private Number evaluation; + private Number nearlyMonthAppointmentCount; + private Number allAppointmentCount; private List<String> expertise; private String concept; private String experiences; @@ -115,12 +116,20 @@ this.seniority = seniority; } - public Number getEvaluation() { - return evaluation; + public Number getNearlyMonthAppointmentCount() { + return nearlyMonthAppointmentCount; } - public void setEvaluation(Number evaluation) { - this.evaluation = evaluation; + public void setNearlyMonthAppointmentCount(Number nearlyMonthAppointmentCount) { + this.nearlyMonthAppointmentCount = nearlyMonthAppointmentCount; + } + + public Number getAllAppointmentCount() { + return allAppointmentCount; + } + + public void setAllAppointmentCount(Number allAppointmentCount) { + this.allAppointmentCount = allAppointmentCount; } public List<String> getExpertise() { 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 a04507a..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 = ','; @@ -68,8 +76,17 @@ 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