1. 多实体关联分组查询样例

实体多对象关联查询接口

实体关系:folders - irFolderDocument - documents - irDocumentFile - files,查询文件夹下的最大、最小文件、文件总数、文件名列表等

{
    "condition": [
        {
            "bosclass": "folders",
            "alias": "fo",
            "subCondition": [] //subCondition、nestAnd、nestOr筛选条件与未分组查询逻辑相同
        },
        {
            "bosclass": "documents",
            "alias": "d"
        },
        {
            "bosclass": "files",
            "alias": "f"
        },
        {
            "bosclass": "irFolderDocument",
            "alias": "fod",
            "type": "relationship",
            "from": "fo",
            "to": "d"
        },
        {
            "bosclass": "irDocumentFile",
            "alias": "df",
            "type": "relationship",
            "from": "d",
            "to": "f"
        }
    ],
    "grouping": { //分组统计
        "collect": { //分组字段,必传,可以是单个字段、多个字段组合,也可以是分段数据,分段数据的组间距以“:数字”表示,如age:5表示0-4、5-9等间距
            "folderCode": "fo.code",
            "folderName": "fo.name"
        },
        "keep": { //分组后保留字段,不可有collect字段
            "fileName": "f.name",
            "fileSize": "f.size"
        },
        "count": "length", //聚合返回的数量,count字段可以自定义
        "aggregate": { //聚合方法,使用字段必须在keep中定义,支持MAX(最大值)、MIN(最小值)、SUM(求和)、AVERAGE/AVG(求平均值)、FIRST(第一个值)、LAST(最后一个值)六种聚合函数
            "maxFileSize": "MAX(fileSize)",
            "avrage": "AVERAGE(fileSize)",
            "avg": "AVG(fileSize)", //取平均值
        },
        "condition": [
            { //分组之后的字段筛选,condition、nestAnd、nestOr都支持,与未分组逻辑相同,但field必须是collect、count、aggregate中定义的字段
                "field": "length",
                "operator": ">=",
                "value": "1",
                "number": "true",
                "logic": "And"
            }
        ],
        "sort": [
            {
                "sortby": "length", //分组聚合之后的排序字段,必须是collect、count、aggregate中定义的字段,可用多个字段排序
                "order": "asc" //正序(asc)或倒序(desc),默认asc
            }
        ]
    },
    "select": { //当使用grouping分组时,select字段必须是collect、aggregate、count字段、keep,keep为JSON数组,也可取keep的某个属性如keep.fileName,若未指定,返回配置中的collect、count、aggregate字段和keep。返回值支持ROUND函数,对结果四舍五入取整数。
        "folderCode": "folderCode",
        "folderName": "folderName",
        "最大文件": "maxFileSize",
        "最小文件": "avrage",
        "平均文件大小": "ROUND(average)", //平均文件大小,用ROUND函数取整
        "fileNameList": "keep.fileName", //keep中的字段,用keep.xx表示,结果返回列表
        "keep": "keep"
    }
}

查询结果如下:

{
    "message": "请求处理成功",
    "code": "SUCCESS",
    "data": {
        "data": [
            {
                "folderCode": "1605769684396",
                "最小文件": 1.10056943E8,
                "keep": [
                    {
                        "fileName": "upgrade.ifc",
                        "fileSize": 42329391
                    },
                    {
                        "fileName": "样列模型_全专业.zip",
                        "fileSize": 34262415
                    },
                    {
                        "fileName": "中交国际-地上-13F以下[MEP]_R1502_CEN_-3.zip",
                        "fileSize": 253579023
                    }
                ],
                "fileNameList": [
                    "upgrade.ifc",
                    "样列模型_全专业.zip",
                    "中交国际-地上-13F以下[MEP]_R1502_CEN_-3.zip"
                ],
                "folderName": "模型",
                "最大文件": 253579023
            },
            {
                "folderCode": "1607497132476",
                "最小文件": 995725.0,
                "keep": [
                    {
                        "fileName": "3.2.1预生产.docx",
                        "fileSize": 960739
                    },
                    {
                        "fileName": "response.pdf",
                        "fileSize": 1030711
                    }
                ],
                "fileNameList": [
                    "3.2.1预生产.docx",
                    "response.pdf"
                ],
                "folderName": "文档",
                "最大文件": 1030711
            }
        ],
        "count": 2
    }
}
版权所有@盈嘉互联(北京)科技有限公司 京ICP备15051988号-9 Copyright © 2022 all right reserved,powered by Gitbook该文件修订时间: 2022-05-16 19:01:04

results matching ""

    No results matching ""