From aa0f9381d424b98e86845c6da21e2fd8640fe056 Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期一, 21 二月 2022 18:32:45 +0800 Subject: [PATCH] [update] 若顧問狀態非啟用時,則搜尋及推薦會找不到該顧問 --- pamapi/src/main/java/com/pollex/pam/service/ConsultantQuerySpec.java | 5 +++++ pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/service/ConsultantQuerySpec.java b/pamapi/src/main/java/com/pollex/pam/service/ConsultantQuerySpec.java index 8e14d66..cc9d20d 100644 --- a/pamapi/src/main/java/com/pollex/pam/service/ConsultantQuerySpec.java +++ b/pamapi/src/main/java/com/pollex/pam/service/ConsultantQuerySpec.java @@ -1,6 +1,7 @@ package com.pollex.pam.service; import com.pollex.pam.domain.Consultant; +import com.pollex.pam.enums.ConsultantStatusEnum; import com.pollex.pam.service.dto.FastQueryConsultantParam; import com.pollex.pam.service.dto.StrictQueryConsultantParam; import org.apache.commons.lang3.StringUtils; @@ -23,6 +24,8 @@ @Override public Predicate toPredicate(Root<Consultant> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) { Set<Predicate> set = new HashSet<>(); + + set.add(criteriaBuilder.equal(root.get("status"), ConsultantStatusEnum.AVAILABLE)); param.getCommunicationStyles().forEach((communicationStyle) -> { set.add(criteriaBuilder.like(root.get("communicationStyle"), "%" + communicationStyle + "%")); @@ -61,6 +64,8 @@ public Predicate toPredicate(Root<Consultant> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) { Set<Predicate> set = new HashSet<>(); + set.add(criteriaBuilder.equal(root.get("status"), ConsultantStatusEnum.AVAILABLE)); + if(Objects.nonNull(param.getGender())) { set.add(criteriaBuilder.equal(root.get("gender"), param.getGender())); } diff --git a/pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java b/pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java index 246eef7..e8d7f82 100644 --- a/pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java +++ b/pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java @@ -6,6 +6,7 @@ import com.pollex.pam.domain.Consultant; import com.pollex.pam.domain.CustomerFavoriteConsultant; import com.pollex.pam.domain.Satisfaction; +import com.pollex.pam.enums.ConsultantStatusEnum; import com.pollex.pam.enums.ContactStatusEnum; import com.pollex.pam.enums.LoginResult; import com.pollex.pam.repository.ConsultantRepository; @@ -150,6 +151,7 @@ public List<ConsultantDTO> getRecommendConsultantList() { return consultantRepository.findAllByRecommendIsTrue() .stream() + .filter(consultant -> consultant.getStatus() == ConsultantStatusEnum.AVAILABLE) .map(consultantMapper::toDto) .collect(Collectors.toList()); } -- Gitblit v1.8.0