{ "openapi": "3.0.0", "info": { "title": "报表引擎 - saveWithFields", "version": "1.0.0" }, "servers": [ { "url": "http://localhost:3013", "description": "本地开发" } ], "paths": { "/report/report/saveWithFields": { "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dataengine.controller.report.saveReportWithFieldsReq", "description": "" }, "example": { "id": null, "businessCode": "KUAISHOU", "reportCode": "shop_daily", "reportName": "店铺日报", "description": "快手电商店铺每日统计报表", "status": "ACTIVE", "statTableName": "stat_kuaishou_shop_daily", "statTableComment": "快手电商-店铺日报", "dateField": "stat_date", "primaryKeys": [ "shop_id", "stat_date" ], "conflictKeys": [ "shop_id", "stat_date" ], "config": { "sync_frequency": "daily", "retention_days": 90 }, "fields": [ { "id": null, "businessCode": "KUAISHOU", "reportCode": "shop_daily", "fieldCode": "shop_id", "fieldName": "店铺ID", "fieldType": "STRING", "dataType": "STRING", "fieldRole": "DIMENSION", "isAggregatable": false, "isFilterable": true, "isQueryable": true, "isSortable": false, "defaultAggregate": "", "validAggregates": [], "filterOperators": [ "=", "!=", "IN" ], "expression": "", "expressionType": "DIRECT", "formatPattern": "", "unit": "", "dictCode": "", "sortOrder": 1, "groupName": "基本信息", "status": "ACTIVE" }, { "id": null, "businessCode": "KUAISHOU", "reportCode": "shop_daily", "fieldCode": "order_amount", "fieldName": "订单金额", "fieldType": "FLOAT", "dataType": "STRING", "fieldRole": "INDICATOR", "isAggregatable": true, "isFilterable": false, "isQueryable": true, "isSortable": true, "defaultAggregate": "SUM", "validAggregates": [ "SUM", "COUNT", "AVG", "MAX", "MIN" ], "filterOperators": [], "expression": "", "expressionType": "DIRECT", "formatPattern": "#,##0.00", "unit": "元", "dictCode": "", "sortOrder": 2, "groupName": "交易指标", "status": "ACTIVE" } ] } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/dataengine.controller.report.saveReportWithFieldsRes", "description": "" }, "example": { "success": true, "id": 1, "message": "报表及字段保存成功" } } }, "description": "" } }, "summary": "保存报表及字段配置(全量替换)", "tags": [ "报表引擎" ] } } }, "components": { "schemas": { "dataengine.controller.report.saveReportWithFieldsRes": { "properties": { "success": { "format": "bool", "type": "boolean", "example": true }, "id": { "format": "int64", "type": "integer", "example": 1 }, "message": { "format": "string", "type": "string", "example": "报表及字段保存成功" } }, "type": "object" }, "dataengine.controller.report.saveReportWithFieldsReq": { "properties": { "id": { "format": "*int64", "type": "integer" }, "businessCode": { "description": "业务编码", "format": "string", "type": "string", "example": "KUAISHOU" }, "reportCode": { "description": "报表编码", "format": "string", "type": "string", "example": "shop_daily" }, "reportName": { "description": "报表名称", "format": "string", "type": "string", "example": "店铺日报" }, "description": { "description": "描述", "format": "string", "type": "string", "example": "快手电商店铺每日统计报表" }, "status": { "default": "ACTIVE", "description": "状态", "format": "string", "type": "string", "example": "ACTIVE" }, "statTableName": { "description": "统计宽表名", "format": "string", "type": "string", "example": "stat_kuaishou_shop_daily" }, "statTableComment": { "description": "统计宽表注释", "format": "string", "type": "string", "example": "快手电商-店铺日报" }, "dateField": { "default": "stat_date", "description": "日期字段", "format": "string", "type": "string", "example": "stat_date" }, "primaryKeys": { "description": "主键字段", "format": "[]string", "items": { "format": "string", "type": "string" }, "type": "array", "example": [ "shop_id", "stat_date" ] }, "conflictKeys": { "description": "冲突键(唯一索引)", "format": "[]string", "items": { "format": "string", "type": "string" }, "type": "array", "example": [ "shop_id", "stat_date" ] }, "config": { "additionalProperties": { "$ref": "#/components/schemas/interface", "description": "" }, "description": "扩展配置", "format": "map[string]interface {}", "type": "object" }, "fields": { "description": "字段配置列表(全量替换,不在列表中的字段将被删除)", "format": "[]model.SaveFieldReq", "items": { "$ref": "#/components/schemas/dataengine.common.report.model.SaveFieldReq", "description": "" }, "type": "array", "example": [ { "fieldCode": "shop_id", "fieldName": "店铺ID", "fieldType": "STRING", "fieldRole": "DIMENSION", "isFilterable": true, "isQueryable": true, "sortOrder": 1, "status": "ACTIVE" }, { "fieldCode": "order_amount", "fieldName": "订单金额", "fieldType": "FLOAT", "fieldRole": "INDICATOR", "isAggregatable": true, "defaultAggregate": "SUM", "validAggregates": [ "SUM", "COUNT", "AVG" ], "sortOrder": 2, "status": "ACTIVE" } ] } }, "required": [ "businessCode", "reportCode", "reportName", "statTableName" ], "type": "object" }, "dataengine.common.report.model.SaveFieldReq": { "properties": { "id": { "format": "*int64", "type": "integer" }, "businessCode": { "description": "业务编码", "format": "string", "type": "string" }, "reportCode": { "description": "报表编码", "format": "string", "type": "string" }, "fieldCode": { "description": "字段编码", "format": "string", "type": "string", "example": "order_amount" }, "fieldName": { "description": "字段名称", "format": "string", "type": "string", "example": "订单金额" }, "fieldType": { "description": "字段类型 STRING/INT/FLOAT/DATE/DATETIME/JSONB", "format": "string", "type": "string", "example": "FLOAT" }, "dataType": { "default": "STRING", "description": "数据存储类型", "format": "string", "type": "string", "example": "STRING" }, "fieldRole": { "description": "字段角色 DIMENSION/INDICATOR/FILTER/FILTER_ONLY", "format": "string", "type": "string", "example": "INDICATOR" }, "isAggregatable": { "description": "是否可聚合", "format": "bool", "type": "boolean", "example": true }, "isFilterable": { "default": true, "description": "是否可筛选", "format": "bool", "type": "boolean", "example": true }, "isQueryable": { "default": true, "description": "是否可查询", "format": "bool", "type": "boolean", "example": true }, "isSortable": { "default": true, "description": "是否可排序", "format": "bool", "type": "boolean", "example": true }, "defaultAggregate": { "description": "默认聚合方式", "format": "string", "type": "string", "example": "SUM" }, "validAggregates": { "description": "可选聚合列表", "format": "[]string", "items": { "format": "string", "type": "string" }, "type": "array", "example": [ "SUM", "COUNT", "AVG" ] }, "filterOperators": { "description": "可选操作符列表", "format": "[]string", "items": { "format": "string", "type": "string" }, "type": "array", "example": [ "=", "!=", ">", "<", "IN" ] }, "expression": { "description": "表达式(衍生字段)", "format": "string", "type": "string", "example": "" }, "expressionType": { "description": "表达式类型 DIRECT/CALCULATED", "format": "string", "type": "string", "example": "DIRECT" }, "formatPattern": { "description": "格式化模板", "format": "string", "type": "string", "example": "#,##0.00" }, "unit": { "description": "单位", "format": "string", "type": "string", "example": "元" }, "dictCode": { "description": "字典编码", "format": "string", "type": "string", "example": "" }, "sortOrder": { "description": "排序", "format": "int", "type": "integer", "example": 1 }, "groupName": { "description": "分组名称", "format": "string", "type": "string", "example": "交易指标" }, "status": { "default": "ACTIVE", "description": "状态", "format": "string", "type": "string", "example": "ACTIVE" } }, "required": [ "fieldCode", "fieldName", "fieldType", "fieldRole" ], "type": "object" }, "interface": { "properties": {}, "type": "object" } } } }