From e08e0d877a40db15ff667337ee34c2c1ab219d1c Mon Sep 17 00:00:00 2001
From: Mila <Mila@pollex.com.tw>
Date: 星期一, 10 一月 2022 12:06:58 +0800
Subject: [PATCH] update: TODO#133824 企業識別Logo調整

---
 pamapi/src/main/java/com/pollex/pam/service/ConsultantQuerySpec.java |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 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 45f936f..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() {
     }
@@ -31,7 +33,16 @@
                 }
 
                 if(Objects.nonNull(param.getAvgScore()) && param.getAvgScore().intValue() != 0) {
-                    set.add(criteriaBuilder.equal(root.get("avgScore"), param.getAvgScore()));
+                    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()];
@@ -55,7 +66,16 @@
                 }
 
                 if(Objects.nonNull(param.getAvgScore()) && param.getAvgScore().intValue() != 0) {
-                    set.add(criteriaBuilder.equal(root.get("avgScore"), param.getAvgScore()));
+                    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())) {

--
Gitblit v1.8.0