From 673e586aafc8578f0c7ab063ca9df9b1265f88d5 Mon Sep 17 00:00:00 2001 From: Charles7c Date: Thu, 31 Oct 2024 20:40:18 +0800 Subject: [PATCH] =?UTF-8?q?refactor(data):=20Query=20=E8=8C=83=E5=9B=B4?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=94=AF=E6=8C=81=E6=95=B0=E7=BB=84=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../starter/data/mf/util/QueryWrapperHelper.java | 12 +++++++++--- .../starter/data/mp/util/QueryWrapperHelper.java | 12 +++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/continew-starter-data/continew-starter-data-mf/src/main/java/top/continew/starter/data/mf/util/QueryWrapperHelper.java b/continew-starter-data/continew-starter-data-mf/src/main/java/top/continew/starter/data/mf/util/QueryWrapperHelper.java index 250d0ed0..9232b2b2 100644 --- a/continew-starter-data/continew-starter-data-mf/src/main/java/top/continew/starter/data/mf/util/QueryWrapperHelper.java +++ b/continew-starter-data/continew-starter-data-mf/src/main/java/top/continew/starter/data/mf/util/QueryWrapperHelper.java @@ -199,7 +199,9 @@ public class QueryWrapperHelper { case LT -> consumers.add(q -> q.lt(columnName, fieldValue)); case LE -> consumers.add(q -> q.le(columnName, fieldValue)); case BETWEEN -> { - List between = new ArrayList<>((List)fieldValue); + List between = new ArrayList<>(ArrayUtil.isArray(fieldValue) + ? CollUtil.toList(fieldValue) + : (List)fieldValue); ValidationUtils.throwIf(between.size() != 2, "[{}] 必须是一个范围", columnName); consumers.add(q -> q.between(columnName, between.get(0), between.get(1))); } @@ -208,11 +210,15 @@ public class QueryWrapperHelper { case LIKE_RIGHT -> consumers.add(q -> q.likeRight(columnName, fieldValue)); case IN -> { ValidationUtils.throwIfEmpty(fieldValue, "[{}] 不能为空", columnName); - consumers.add(q -> q.in(columnName, (Collection)fieldValue)); + consumers.add(q -> q.in(columnName, ArrayUtil.isArray(fieldValue) + ? CollUtil.toList(fieldValue) + : (Collection)fieldValue)); } case NOT_IN -> { ValidationUtils.throwIfEmpty(fieldValue, "[{}] 不能为空", columnName); - consumers.add(q -> q.notIn(columnName, (Collection)fieldValue)); + consumers.add(q -> q.notIn(columnName, ArrayUtil.isArray(fieldValue) + ? CollUtil.toList(fieldValue) + : (Collection)fieldValue)); } case IS_NULL -> consumers.add(q -> q.isNull(columnName)); case IS_NOT_NULL -> consumers.add(q -> q.isNotNull(columnName)); diff --git a/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/util/QueryWrapperHelper.java b/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/util/QueryWrapperHelper.java index 22ba82fc..81734f96 100644 --- a/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/util/QueryWrapperHelper.java +++ b/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/util/QueryWrapperHelper.java @@ -193,7 +193,9 @@ public class QueryWrapperHelper { case LT -> consumers.add(q -> q.lt(columnName, fieldValue)); case LE -> consumers.add(q -> q.le(columnName, fieldValue)); case BETWEEN -> { - List between = new ArrayList<>((List)fieldValue); + List between = new ArrayList<>(ArrayUtil.isArray(fieldValue) + ? CollUtil.toList(fieldValue) + : (List)fieldValue); ValidationUtils.throwIf(between.size() != 2, "[{}] 必须是一个范围", columnName); consumers.add(q -> q.between(columnName, between.get(0), between.get(1))); } @@ -202,11 +204,15 @@ public class QueryWrapperHelper { case LIKE_RIGHT -> consumers.add(q -> q.likeRight(columnName, fieldValue)); case IN -> { ValidationUtils.throwIfEmpty(fieldValue, "[{}] 不能为空", columnName); - consumers.add(q -> q.in(columnName, (Collection)fieldValue)); + consumers.add(q -> q.in(columnName, ArrayUtil.isArray(fieldValue) + ? CollUtil.toList(fieldValue) + : (Collection)fieldValue)); } case NOT_IN -> { ValidationUtils.throwIfEmpty(fieldValue, "[{}] 不能为空", columnName); - consumers.add(q -> q.notIn(columnName, (Collection)fieldValue)); + consumers.add(q -> q.notIn(columnName, ArrayUtil.isArray(fieldValue) + ? CollUtil.toList(fieldValue) + : (Collection)fieldValue)); } case IS_NULL -> consumers.add(q -> q.isNull(columnName)); case IS_NOT_NULL -> consumers.add(q -> q.isNotNull(columnName));