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