Browse Source

分页查询企业关键字为空时没数据问题

wangmh 7 years ago
parent
commit
865d509571

+ 7 - 2
sso-server/src/main/java/com/uas/sso/service/impl/UserspaceServiceImpl.java

@@ -27,6 +27,8 @@ import javax.persistence.criteria.*;
 import java.sql.Timestamp;
 import java.util.*;
 
+import static antlr.build.ANTLR.root;
+
 /**
  * 企业信息service层
  *
@@ -349,18 +351,21 @@ public class UserspaceServiceImpl implements UserspaceService {
         Page<Userspace> page = userspaceDao.findAll(new Specification<Userspace>() {
             @Override
             public Predicate toPredicate(Root<Userspace> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+                if (StringUtils.isEmpty(keyword)) {
+                    return null;
+                }
                 List<Predicate> keyPredicates = new ArrayList<>();
                 // 模糊查询企业名称,营业执照号,注册地址,管理员姓名
                 keyPredicates.add(cb.like(cb.upper(root.get("spaceName").as(String.class)), "%" + keyword.toUpperCase() + "%"));
                 keyPredicates.add(cb.like(cb.upper(root.get("businessCode").as(String.class)), "%" + keyword.toUpperCase() + "%"));
                 keyPredicates.add(cb.like(cb.upper(root.get("regAddress").as(String.class)), "%" + keyword.toUpperCase() + "%"));
                 keyPredicates.add(cb.like(cb.upper(root.join("admin", JoinType.INNER).get("vipName").as(String.class)), "%" + keyword.toUpperCase() + "%"));
-
+                keyPredicates.removeAll(Collections.singletonList(null));
                 Predicate[] predicates = new Predicate[keyPredicates.size()];
                 query.where(cb.or(keyPredicates.toArray(predicates)));
                 query.orderBy(cb.desc(root.get("registerDate").as(Integer.class)));
 
-                return query.getRestriction();
+                return null;
             }
         }, pageable);
         return new PageInfo<Userspace>(page.getContent(), pageable, page.getTotalElements());