pamapi/src/doc/顧問API/指定顧問詳細資訊.txt | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDetailDTO.java | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 |
pamapi/src/doc/ÅU°ÝAPI/«ü©wÅU°Ý¸Ô²Ó¸ê°T.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â é«cpå¼ ãä½ä¿è²»ãé«ä¿éã\r\nâ ç°¡å®å ãè¼é¬ãææä¿éªã\r\nâ 客製å ãé¸ä¸ä»½é©åçè¦åã\r\n\r\næä¾å®åçè¦åä¿è·æ¨åææç人", "experiences" : "麻ççå·¥å¸é¢æè³èéèå¸ç³»,æ¿å¤§EMBA,ä¸å大å¸è²¡éç³»,人身ä¿éªèç §,財ç¢ä¿éªèç §,æè³åä¿å®èç §,å¤å¹£æ¶ä»ä¿éªèç §,éä¼éé¡ç²¾ç®å¸«èç §,ç¢ç©ä¿éªï§¤è³ 人å¡èè©¦èæ¸,ç¾å壽éªç®¡ï§¤å¸«èæ¸,ç¾å壽éªï§¤è³ å¸«èæ¸,ç¾å財ç¢åæå¤éªæ¿ä¿å¸«èæ¸", 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() { 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 é確èªè«®è©¢åº¦è¡¨ç¾ 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; }