public PagequeryByPage(OrderQueryVo orderQueryVo) throws Exception { //创建查询对象 BoolQueryBuilder base_query = QueryBuilders.boolQuery(); //添加查询条件 //判断,订单id if(orderQueryVo.getId()!=null){ base_query.must(QueryBuilders.termQuery("id",orderQueryVo.getId())); } //判断,订单状态 if(orderQueryVo.getStatus()!=null){ base_query.must (QueryBuilders.termQuery("status", orderQueryVo.getStatus())); }else if(orderQueryVo.getStatusName() != null && !orderQueryVo.getStatusName().trim().equals("")){ base_query.must(QueryBuilders. termQuery("statusName", orderQueryVo.getStatusName().trim())); } //判断,订单创建时间范围查询 if(orderQueryVo.getMaxOrderTime()!=null){ base_query.must(QueryBuilders.rangeQuery("orderTime"). lte(DateUtil.format(orderQueryVo.getMaxOrderTime(), "yyyy-MM-dd'T'HH:mm:ss"))); } if(orderQueryVo.getMinOrderTime()!=null){ base_query.must(QueryBuilders.rangeQuery("orderTime"). gte(DateUtil.format(orderQueryVo.getMinOrderTime(), "yyyy-MM-dd'T'HH:mm:ss"))); } //判断, 关键字 if (orderQueryVo.getKeyword() != null && !orderQueryVo.getKeyword().trim().equals("")){ //获取keyword String keyword = orderQueryVo.getKeyword().trim(); //创建子查询对象 BoolQueryBuilder sub_query = QueryBuilders.boolQuery(); //添加查询条件 sub_query.should(QueryBuilders.matchQuery("productName", keyword)); //将子查询添加到base_query base_query.must(sub_query); } //设置分页和根据创建时间降序排序 PageRequest page = PageRequest.of (orderQueryVo.getPageNo(), orderQueryVo.getPageSize(), Sort.by(Sort.Order.desc("orderTime"))); //查询 Page pa = orderDao.search(base_query, page); return pa; }



