From ee695de3dee94717f779c3c0b189132c09c3bdc0 Mon Sep 17 00:00:00 2001 From: VergLsm Date: Tue, 29 Apr 2025 14:42:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=A4=9A=E4=B8=AA?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E6=A8=A1=E6=9F=A5=E8=AF=A2=EF=BC=8C=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=E6=97=A7=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/core/request/CrudOption.java | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/cool/core/request/CrudOption.java b/src/main/java/com/cool/core/request/CrudOption.java index cdd3722..922dc1b 100644 --- a/src/main/java/com/cool/core/request/CrudOption.java +++ b/src/main/java/com/cool/core/request/CrudOption.java @@ -140,19 +140,32 @@ public class CrudOption { } }); } - Object keyWord = requestParams.get("keyWord"); - if (ObjectUtil.isNotEmpty(this.keyWordLikeFields) && ObjectUtil.isNotEmpty(keyWord)) { - // 初始化一个空的 QueryCondition - QueryCondition orCondition = null; - for (QueryColumn queryColumn : keyWordLikeFields) { - QueryCondition condition = queryColumn.like(keyWord); - if (orCondition == null) { - orCondition = condition; - } else { - orCondition = orCondition.or(condition); + if (ObjectUtil.isNotEmpty(this.keyWordLikeFields)) { + Object keyWord = requestParams.get("keyWord"); + if (ObjectUtil.isEmpty(keyWord)) { + // // keyWord值为空,遍历keyWordLikeFields字段,根据queryColumn字段名构建查询条件 + for (QueryColumn queryColumn : keyWordLikeFields) { + String fieldName = queryColumn.getName(); + String paramName = StrUtil.toCamelCase(fieldName); + String paramValue = requestParams.getStr(paramName); + if (ObjectUtil.isNotEmpty(paramValue)) { + queryWrapper.and(queryColumn.like(paramValue)); + } } + } else { + // keyWord值非空,使用keyWord构建 + // 初始化一个空的 QueryCondition + QueryCondition orCondition = null; + for (QueryColumn queryColumn : keyWordLikeFields) { + QueryCondition condition = queryColumn.like(keyWord); + if (orCondition == null) { + orCondition = condition; + } else { + orCondition = orCondition.or(condition); + } + } + queryWrapper.and(orCondition); } - queryWrapper.and(orCondition); } if (ObjectUtil.isNotEmpty(select)) { queryWrapper.select(select);