From 991dfe252f275431011ec55c7b47a9bc11e36d87 Mon Sep 17 00:00:00 2001 From: Jack <jack.su@pollex.com.tw> Date: 星期二, 28 十二月 2021 15:02:45 +0800 Subject: [PATCH] [UPDATE] 調整編輯顧問API的文件 [BUG] 處理修改顧問資料未更新個人背景和得獎經歷的問題 --- 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