public static PredicateBuilder getPredicateBuilder(String name, String property){
//property 2个和3个的处理
String[] resultArr = property.split("\\.");
//客户名称输入带空格的 自动拼成 如111 222 拼成(like 111 and like 222)
PredicateBuilder andLikeInstitutionName = Specifications.and();
if(StringUtils.isNotBlank(name)){
String institutionOriginalName = formatString(name);
String [] institutionOriginalNameArr = institutionOriginalName.split(" ");
for (String s : institutionOriginalNameArr) {
if(StringUtils.isNotBlank(s) && (resultArr.length==1 || resultArr.length==2)){
andLikeInstitutionName.like(property, "%" + s + "%");
}else if(StringUtils.isNotBlank(s) && resultArr.length==3){
andLikeInstitutionName.predicate(StringUtils.isNotBlank(s), (root, query, cb) -> {
Path ins = root.get(resultArr[0]).get(resultArr[1]);
return cb.like(ins.get(resultArr[2]), "%" + s + "%");
});
}
}
}
return andLikeInstitutionName;
}