From e22dc426293f42c1e84832ee630156161d36c10e Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期一, 24 一月 2022 12:45:45 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/Phase3' into Phase3 --- pamapi/src/main/java/com/pollex/pam/service/ConsultantQuerySpec.java | 20 ++++++++++++++++++++ 1 files changed, 20 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 33ac5cf..9613973 100644 --- a/pamapi/src/main/java/com/pollex/pam/service/ConsultantQuerySpec.java +++ b/pamapi/src/main/java/com/pollex/pam/service/ConsultantQuerySpec.java @@ -9,6 +9,8 @@ import javax.persistence.criteria.*; import java.util.*; +import static com.pollex.pam.consts.SeniorityQueryConst.*; + public class ConsultantQuerySpec { private ConsultantQuerySpec() { } @@ -34,6 +36,15 @@ set.add(criteriaBuilder.greaterThanOrEqualTo(root.get("avgScore"), param.getAvgScore().intValue())); } + if(StringUtils.isNotEmpty(param.getSeniority()) && !StringUtils.equals(UNLIMITED, param.getSeniority())) { + if(YOUNG.equals(param.getSeniority())) { + set.add(criteriaBuilder.lessThanOrEqualTo(root.get("seniorityYear"), 5)); + } + else if(SENIOR.equals(param.getSeniority())) { + set.add(criteriaBuilder.greaterThan(root.get("seniorityYear"), 5)); + } + } + Predicate[] predicates = new Predicate[set.size()]; predicates = set.toArray(predicates); return criteriaBuilder.and(predicates); @@ -58,6 +69,15 @@ set.add(criteriaBuilder.greaterThanOrEqualTo(root.get("avgScore"), param.getAvgScore().intValue())); } + if(StringUtils.isNotEmpty(param.getSeniority()) && !StringUtils.equals(UNLIMITED, param.getSeniority())) { + if(YOUNG.equals(param.getSeniority())) { + set.add(criteriaBuilder.lessThanOrEqualTo(root.get("seniorityYear"), 5)); + } + else if(SENIOR.equals(param.getSeniority())) { + set.add(criteriaBuilder.greaterThan(root.get("seniorityYear"), 5)); + } + } + if(StringUtils.isNotEmpty(param.getArea())) { Predicate predicate1 = criteriaBuilder.like(root.get("serveArea"), "%" + param.getArea() + "%"); Predicate predicate2 = criteriaBuilder.like(root.get("serveArea"), "%��%"); -- Gitblit v1.8.0