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));