• 高级检索


    一、简介

    1.1 概述

    在HZERO平台中,提供了复杂的高级检索功能,能够支持用户在页面操作上自定义查询的条件和比较值,以及自定义排序等。

    注意高级检索功能依赖HZERO的高级检索插件,需要在平台服务添加高级检索插件(默认是依赖的,如果不需要可以手动在依赖中排除)。

    <dependency>
        <groupId>org.hzero.plugin</groupId>
        <artifactId>platform-search</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.hzero.plugin</groupId>
        <artifactId>platform-search-saas</artifactId>
    </dependency>
    

    1.2 高级检索客户端组件坐标

    <dependency>
        <groupId>org.hzero.boot</groupId>
        <artifactId>hzero-boot-platform</artifactId>
        <version>${hzero.boot.version}</version>
    </dependency>
    

    1.3 使用说明

    用户可以自定义查询规则然后保存起来,在列表中选择定义好的查询规则,可以重复使用,自定义规则也允许编辑复制和删除。

    在列表中选择任一检索定义,会在右侧展示查询按钮和选项。

    在列表中点击X可以取消所有检索条件。

    在顶部是检索的配置名称和描述,默认标记只允许一个检索配置拥有,并且默认的检索配置会在列表的第一个展示。

    排序表格是定义当前检索的排序方式,可以自定义选择排序字段和排序方向。

    查询表格用来自定义检索条件和比较方式,点击外层查询旁边的“高级检索”会策划出查询条件的输入框。

    条件表格用于定义默认的检索条件比较方式以及比较值。

    注意:如果同时定义了“条件”和“查询”,并且在外层的高级搜索中录入了比较值,最终的结果是所有条件的交集,也就是所有条件同时生效。


    二、使用说明

    2.1 后端使用

    @Permission(...)
    @GetMapping
    public ResponseEntity<Page<Order>> searchTest(
            SearchRequest searchRequest,
            @SortDefault(Order.FIELD_ORDER_ID) PageRequest pageRequest) {
        ...
    }
    
    List<Order> search(SearchStatement searchStatment);