高级搜索--值为空的时候

This commit is contained in:
zhn
2022-06-30 17:25:20 +08:00
parent 080c6b14c7
commit f893555845
@@ -486,53 +486,58 @@ public class QueryGenerator {
} }
name = oConvertUtils.camelToUnderline(name); name = oConvertUtils.camelToUnderline(name);
log.info("--查询规则-->"+name+" "+rule.getValue()+" "+value); log.info("--查询规则-->"+name+" "+rule.getValue()+" "+value);
switch (rule) { if(" is null ".equals(value)){
case GT: queryWrapper.isNull(name);
queryWrapper.gt(name, value); }else{
break; switch (rule) {
case GE: case GT:
queryWrapper.ge(name, value); queryWrapper.gt(name, value);
break; break;
case LT: case GE:
queryWrapper.lt(name, value); queryWrapper.ge(name, value);
break; break;
case LE: case LT:
queryWrapper.le(name, value); queryWrapper.lt(name, value);
break; break;
case EQ: case LE:
case EQ_WITH_ADD: queryWrapper.le(name, value);
queryWrapper.eq(name, value); break;
break; case EQ:
case NE: case EQ_WITH_ADD:
queryWrapper.ne(name, value); queryWrapper.eq(name, value);
break; break;
case IN: case NE:
if(value instanceof String) { queryWrapper.ne(name, value);
queryWrapper.in(name, (Object[])value.toString().split(",")); break;
}else if(value instanceof String[]) { case IN:
queryWrapper.in(name, (Object[]) value); if(value instanceof String) {
queryWrapper.in(name, (Object[])value.toString().split(","));
}else if(value instanceof String[]) {
queryWrapper.in(name, (Object[]) value);
}
//update-begin-author:taoyan date:20200909 for:【bug】in 类型多值查询 不适配postgresql #1671
else if(value.getClass().isArray()) {
queryWrapper.in(name, (Object[])value);
}else {
queryWrapper.in(name, value);
}
//update-end-author:taoyan date:20200909 for:【bug】in 类型多值查询 不适配postgresql #1671
break;
case LIKE:
queryWrapper.like(name, value);
break;
case LEFT_LIKE:
queryWrapper.likeLeft(name, value);
break;
case RIGHT_LIKE:
queryWrapper.likeRight(name, value);
break;
default:
log.info("--查询规则未匹配到---");
break;
} }
//update-begin-author:taoyan date:20200909 for:【bug】in 类型多值查询 不适配postgresql #1671
else if(value.getClass().isArray()) {
queryWrapper.in(name, (Object[])value);
}else {
queryWrapper.in(name, value);
}
//update-end-author:taoyan date:20200909 for:【bug】in 类型多值查询 不适配postgresql #1671
break;
case LIKE:
queryWrapper.like(name, value);
break;
case LEFT_LIKE:
queryWrapper.likeLeft(name, value);
break;
case RIGHT_LIKE:
queryWrapper.likeRight(name, value);
break;
default:
log.info("--查询规则未匹配到---");
break;
} }
} }
/** /**
* *