Files
hr_data_analyzer/docs/swagger.json
T
2026-05-04 16:20:46 +08:00

3251 lines
112 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"swagger": "2.0",
"info": {
"description": "智能心率采集分析平台后端服务,基于 Gin 框架提供心率采集、AI 分析、教案管理、设备管理等功能",
"title": "智能心率采集分析平台 API",
"contact": {},
"version": "1.0"
},
"host": "localhost:8081",
"basePath": "/api/v1",
"paths": {
"/admin/gateways": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "查询网关列表,支持关键词/售出状态/项目类型/区域筛选。超级管理员可查全部,操作员只能查所属区域",
"produces": [
"application/json"
],
"tags": [
"网关管理"
],
"summary": "获取网关列表",
"parameters": [
{
"type": "string",
"description": "关键词(名称/MAC模糊搜索)",
"name": "keyword",
"in": "query"
},
{
"type": "boolean",
"description": "售出状态",
"name": "isSold",
"in": "query"
},
{
"type": "string",
"description": "项目类型",
"name": "projectType",
"in": "query"
},
{
"type": "integer",
"description": "区域ID",
"name": "regionId",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "创建新的网关记录,自动同步到产品库存",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"网关管理"
],
"summary": "创建网关",
"parameters": [
{
"description": "网关信息",
"name": "gateway",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.gatewayPayload"
}
}
],
"responses": {
"201": {
"description": "创建成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"409": {
"description": "MAC地址已存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/gateways/{id}": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "更新指定网关的详细信息,自动同步到产品库存",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"网关管理"
],
"summary": "更新网关信息",
"parameters": [
{
"type": "integer",
"description": "网关ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "更新信息",
"name": "gateway",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.gatewayPayload"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "网关不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"delete": {
"security": [
{
"BearerAuth": []
}
],
"description": "删除指定网关(已售出的网关禁止删除),自动同步删除产品库存",
"produces": [
"application/json"
],
"tags": [
"网关管理"
],
"summary": "删除网关",
"parameters": [
{
"type": "integer",
"description": "网关ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"403": {
"description": "已售出无法删除",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "网关不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/kindergartens": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "查询幼儿园列表,支持按名称/地址模糊搜索",
"produces": [
"application/json"
],
"tags": [
"幼儿园管理"
],
"summary": "获取幼儿园列表",
"parameters": [
{
"type": "string",
"description": "关键词(名称/地址模糊搜索)",
"name": "keyword",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "创建新的幼儿园记录",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"幼儿园管理"
],
"summary": "创建幼儿园",
"parameters": [
{
"description": "幼儿园信息",
"name": "kindergarten",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.kindergartenPayload"
}
}
],
"responses": {
"201": {
"description": "创建成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/kindergartens/{id}": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "更新指定幼儿园的名称、地址和区域",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"幼儿园管理"
],
"summary": "更新幼儿园信息",
"parameters": [
{
"type": "integer",
"description": "幼儿园ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "更新信息",
"name": "kindergarten",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.kindergartenPayload"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "幼儿园不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"delete": {
"security": [
{
"BearerAuth": []
}
],
"description": "删除指定幼儿园,如果被用户绑定则无法删除",
"produces": [
"application/json"
],
"tags": [
"幼儿园管理"
],
"summary": "删除幼儿园",
"parameters": [
{
"type": "integer",
"description": "幼儿园ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "幼儿园不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"409": {
"description": "已绑定用户无法删除",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/product-definitions": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "查询产品定义列表,支持按关键词/分类/启用状态筛选",
"produces": [
"application/json"
],
"tags": [
"产品定义管理"
],
"summary": "获取产品定义列表",
"parameters": [
{
"type": "string",
"description": "关键词(代码/名称/描述模糊搜索)",
"name": "keyword",
"in": "query"
},
{
"type": "string",
"description": "分类筛选",
"name": "category",
"in": "query"
},
{
"type": "boolean",
"description": "是否启用",
"name": "isActive",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "创建新的产品定义",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"产品定义管理"
],
"summary": "创建产品定义",
"parameters": [
{
"description": "产品定义信息",
"name": "productDefinition",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.productDefinitionPayload"
}
}
],
"responses": {
"201": {
"description": "创建成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/product-definitions/{id}": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "更新指定产品定义的信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"产品定义管理"
],
"summary": "更新产品定义",
"parameters": [
{
"type": "integer",
"description": "产品定义ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "更新信息",
"name": "productDefinition",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.productDefinitionPayload"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "产品定义不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"delete": {
"security": [
{
"BearerAuth": []
}
],
"description": "删除指定产品定义(被库存或模板引用的无法删除)",
"produces": [
"application/json"
],
"tags": [
"产品定义管理"
],
"summary": "删除产品定义",
"parameters": [
{
"type": "integer",
"description": "产品定义ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "产品定义不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"409": {
"description": "已被引用无法删除",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/product-inventories": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "查询产品库存列表,支持多条件筛选",
"produces": [
"application/json"
],
"tags": [
"产品库存管理"
],
"summary": "获取产品库存列表",
"parameters": [
{
"type": "string",
"description": "关键词(资产名称/序列号/购买方等模糊搜索)",
"name": "keyword",
"in": "query"
},
{
"type": "string",
"description": "产品代码筛选",
"name": "productCode",
"in": "query"
},
{
"type": "string",
"description": "项目类型代码筛选",
"name": "projectTypeCode",
"in": "query"
},
{
"type": "string",
"description": "套件代码筛选",
"name": "suiteCode",
"in": "query"
},
{
"type": "string",
"description": "状态筛选",
"name": "status",
"in": "query"
},
{
"type": "string",
"description": "购买方类型筛选",
"name": "soldTargetType",
"in": "query"
},
{
"type": "integer",
"description": "区域ID",
"name": "regionId",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "创建新的产品库存记录",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"产品库存管理"
],
"summary": "创建产品库存记录",
"parameters": [
{
"description": "库存信息",
"name": "inventory",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.productInventoryPayload"
}
}
],
"responses": {
"201": {
"description": "创建成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/product-inventories/{id}": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "更新指定产品库存记录",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"产品库存管理"
],
"summary": "更新产品库存",
"parameters": [
{
"type": "integer",
"description": "库存ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "更新信息",
"name": "inventory",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.productInventoryPayload"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "库存记录不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"delete": {
"security": [
{
"BearerAuth": []
}
],
"description": "删除指定产品库存记录(已售出的无法删除)",
"produces": [
"application/json"
],
"tags": [
"产品库存管理"
],
"summary": "删除产品库存",
"parameters": [
{
"type": "integer",
"description": "库存ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "库存记录不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"409": {
"description": "已售出无法删除",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/product-prototypes": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "查询产品原型列表,支持按关键词/产品代码/项目类型筛选",
"produces": [
"application/json"
],
"tags": [
"产品原型管理"
],
"summary": "获取产品原型列表",
"parameters": [
{
"type": "string",
"description": "关键词(名称/备注模糊搜索)",
"name": "keyword",
"in": "query"
},
{
"type": "string",
"description": "产品代码筛选",
"name": "productCode",
"in": "query"
},
{
"type": "string",
"description": "项目类型代码筛选",
"name": "projectTypeCode",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "创建新的产品原型",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"产品原型管理"
],
"summary": "创建产品原型",
"parameters": [
{
"description": "产品原型信息",
"name": "productPrototype",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.productPrototypePayload"
}
}
],
"responses": {
"201": {
"description": "创建成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/product-prototypes/{id}": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "更新指定产品原型的信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"产品原型管理"
],
"summary": "更新产品原型",
"parameters": [
{
"type": "integer",
"description": "产品原型ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "更新信息",
"name": "productPrototype",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.productPrototypePayload"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "产品原型不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"delete": {
"security": [
{
"BearerAuth": []
}
],
"description": "删除指定产品原型",
"produces": [
"application/json"
],
"tags": [
"产品原型管理"
],
"summary": "删除产品原型",
"parameters": [
{
"type": "integer",
"description": "产品原型ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "产品原型不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/product-suites": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "查询产品套件列表,含套件下的库存明细",
"produces": [
"application/json"
],
"tags": [
"产品套件管理"
],
"summary": "获取产品套件列表",
"parameters": [
{
"type": "string",
"description": "关键词(代码/名称/备注模糊搜索)",
"name": "keyword",
"in": "query"
},
{
"type": "string",
"description": "项目类型代码筛选",
"name": "projectTypeCode",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "创建新的产品套件,可选关联库存记录",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"产品套件管理"
],
"summary": "创建产品套件",
"parameters": [
{
"description": "套件信息",
"name": "suite",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.productSuitePayload"
}
}
],
"responses": {
"201": {
"description": "创建成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/product-suites/{id}": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "更新指定产品套件的信息和关联库存",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"产品套件管理"
],
"summary": "更新产品套件",
"parameters": [
{
"type": "integer",
"description": "套件ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "更新信息",
"name": "suite",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.productSuitePayload"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "套件不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"delete": {
"security": [
{
"BearerAuth": []
}
],
"description": "删除指定产品套件,自动解除关联库存的绑定",
"produces": [
"application/json"
],
"tags": [
"产品套件管理"
],
"summary": "删除产品套件",
"parameters": [
{
"type": "integer",
"description": "套件ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "套件不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/project-product-templates": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "查询项目产品模板列表,含项目类型和产品名称",
"produces": [
"application/json"
],
"tags": [
"项目产品模板管理"
],
"summary": "获取项目产品模板列表",
"parameters": [
{
"type": "string",
"description": "项目类型代码筛选",
"name": "projectTypeCode",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/project-types": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "查询项目类型列表,支持按关键词/是否支持网关/是否启用筛选",
"produces": [
"application/json"
],
"tags": [
"项目类型管理"
],
"summary": "获取项目类型列表",
"parameters": [
{
"type": "string",
"description": "关键词(代码/名称/描述模糊搜索)",
"name": "keyword",
"in": "query"
},
{
"type": "boolean",
"description": "是否支持网关",
"name": "supportsGateway",
"in": "query"
},
{
"type": "boolean",
"description": "是否启用",
"name": "isActive",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "创建新的项目类型",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"项目类型管理"
],
"summary": "创建项目类型",
"parameters": [
{
"description": "项目类型信息",
"name": "projectType",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.projectTypePayload"
}
}
],
"responses": {
"201": {
"description": "创建成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/project-types/{id}": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "更新指定项目类型的信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"项目类型管理"
],
"summary": "更新项目类型",
"parameters": [
{
"type": "integer",
"description": "项目类型ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "更新信息",
"name": "projectType",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.projectTypePayload"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "项目类型不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"delete": {
"security": [
{
"BearerAuth": []
}
],
"description": "删除指定项目类型(被网关引用的无法删除)",
"produces": [
"application/json"
],
"tags": [
"项目类型管理"
],
"summary": "删除项目类型",
"parameters": [
{
"type": "integer",
"description": "项目类型ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "项目类型不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"409": {
"description": "已被网关引用无法删除",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/statistics/ai-analysis": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "按区域统计AI分析的使用情况包括调用次数、Token消耗、费用等",
"produces": [
"application/json"
],
"tags": [
"统计管理"
],
"summary": "AI分析区域统计",
"parameters": [
{
"type": "integer",
"description": "区域ID",
"name": "regionId",
"in": "query"
},
{
"type": "integer",
"description": "开始时间(毫秒时间戳)",
"name": "startTime",
"in": "query"
},
{
"type": "integer",
"description": "结束时间(毫秒时间戳)",
"name": "endTime",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/statistics/ai-analysis-records": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "分页查询AI分析记录支持按区域和时间范围筛选",
"produces": [
"application/json"
],
"tags": [
"统计管理"
],
"summary": "获取AI分析记录列表",
"parameters": [
{
"type": "integer",
"description": "页码(默认1)",
"name": "pageNum",
"in": "query"
},
{
"type": "integer",
"description": "每页数量(默认10,最大100)",
"name": "pageSize",
"in": "query"
},
{
"type": "integer",
"description": "区域ID",
"name": "regionId",
"in": "query"
},
{
"type": "integer",
"description": "开始时间(毫秒时间戳)",
"name": "startTime",
"in": "query"
},
{
"type": "integer",
"description": "结束时间(毫秒时间戳)",
"name": "endTime",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/statistics/ai-analysis-records/{id}": {
"delete": {
"security": [
{
"BearerAuth": []
}
],
"description": "删除指定的AI分析记录",
"produces": [
"application/json"
],
"tags": [
"统计管理"
],
"summary": "删除AI分析记录",
"parameters": [
{
"type": "integer",
"description": "记录ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "记录不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/statistics/ai-analysis-timeline": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "按日期统计AI分析的使用情况趋势含总体和分区域数据",
"produces": [
"application/json"
],
"tags": [
"统计管理"
],
"summary": "AI分析时间线统计",
"parameters": [
{
"type": "integer",
"description": "区域ID",
"name": "regionId",
"in": "query"
},
{
"type": "integer",
"description": "开始时间(毫秒时间戳)",
"name": "startTime",
"in": "query"
},
{
"type": "integer",
"description": "结束时间(毫秒时间戳)",
"name": "endTime",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/statistics/mqtt-training-sessions": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "按区域统计MQTT训练会话情况包括开始、结束、完成、进行中的会话数",
"produces": [
"application/json"
],
"tags": [
"统计管理"
],
"summary": "训练会话区域统计",
"parameters": [
{
"type": "integer",
"description": "区域ID",
"name": "regionId",
"in": "query"
},
{
"type": "string",
"description": "类型筛选",
"name": "flavorType",
"in": "query"
},
{
"type": "integer",
"description": "开始时间(毫秒时间戳)",
"name": "startTime",
"in": "query"
},
{
"type": "integer",
"description": "结束时间(毫秒时间戳)",
"name": "endTime",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/system-debug/mqtt/start": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "启动MQTT调试服务",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"系统调试"
],
"summary": "启动MQTT调试",
"parameters": [
{
"description": "是否持久化到数据库",
"name": "persist",
"in": "body",
"schema": {
"$ref": "#/definitions/controllers.mqttDebugStartRequest"
}
}
],
"responses": {
"200": {
"description": "启动成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/system-debug/mqtt/status": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "获取MQTT调试服务的当前运行状态",
"produces": [
"application/json"
],
"tags": [
"系统调试"
],
"summary": "获取MQTT调试状态",
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/system-debug/mqtt/stop": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "停止MQTT调试服务",
"produces": [
"application/json"
],
"tags": [
"系统调试"
],
"summary": "停止MQTT调试",
"responses": {
"200": {
"description": "停止成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/system-debug/mqtt/ws": {
"get": {
"description": "通过WebSocket实时监听MQTT消息需要SuperAdmin权限",
"tags": [
"系统调试"
],
"summary": "MQTT WebSocket连接",
"parameters": [
{
"type": "string",
"description": "JWT Token",
"name": "token",
"in": "query",
"required": true
}
],
"responses": {
"101": {
"description": "切换为WebSocket协议"
}
}
}
},
"/admin/users": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "查询系统用户列表,支持按关键词/角色/类型筛选",
"produces": [
"application/json"
],
"tags": [
"用户管理"
],
"summary": "获取用户列表",
"parameters": [
{
"type": "string",
"description": "关键词(用户名/邮箱/手机号模糊搜索)",
"name": "keyword",
"in": "query"
},
{
"type": "string",
"description": "角色筛选",
"name": "role",
"in": "query"
},
{
"type": "string",
"description": "类型筛选",
"name": "flavorType",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "创建新的系统用户",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"用户管理"
],
"summary": "创建用户",
"parameters": [
{
"description": "用户信息",
"name": "user",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.userAdminPayload"
}
}
],
"responses": {
"201": {
"description": "创建成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/admin/users/{id}": {
"put": {
"security": [
{
"BearerAuth": []
}
],
"description": "更新指定用户的详细信息支持重置密码和吊销Token",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"用户管理"
],
"summary": "更新用户信息",
"parameters": [
{
"type": "integer",
"description": "用户ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "更新信息",
"name": "user",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.userAdminPayload"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "用户不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
},
"delete": {
"security": [
{
"BearerAuth": []
}
],
"description": "删除指定用户不能删除admin账号和当前登录用户",
"produces": [
"application/json"
],
"tags": [
"用户管理"
],
"summary": "删除用户",
"parameters": [
{
"type": "integer",
"description": "用户ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "无法删除受保护账号",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "用户不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/gateways/by-mac": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "根据MAC地址查询网关信息支持格式兼容带冒号/横线/纯数字)",
"produces": [
"application/json"
],
"tags": [
"网关管理"
],
"summary": "按MAC查询网关",
"parameters": [
{
"type": "string",
"description": "MAC地址",
"name": "mac",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "MAC参数为空",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "未找到该网关",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/lesson-plans": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "获取教案文件列表(非分页),按创建时间倒序",
"produces": [
"application/json"
],
"tags": [
"教案管理"
],
"summary": "获取教案列表",
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"401": {
"description": "未认证",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/lesson-plans/page": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "分页获取教案文件列表,支持文件名模糊搜索、上传者搜索、区域筛选、排序",
"produces": [
"application/json"
],
"tags": [
"教案管理"
],
"summary": "分页查询教案",
"parameters": [
{
"type": "integer",
"description": "页码(默认1)",
"name": "pageNum",
"in": "query"
},
{
"type": "integer",
"description": "每页数量(默认10,最大100)",
"name": "pageSize",
"in": "query"
},
{
"type": "string",
"description": "文件名模糊搜索",
"name": "keyword",
"in": "query"
},
{
"type": "string",
"description": "上传者名模糊搜索",
"name": "uploaderName",
"in": "query"
},
{
"type": "integer",
"description": "区域ID",
"name": "regionId",
"in": "query"
},
{
"type": "string",
"description": "排序字段: file_size | created_at",
"name": "sortBy",
"in": "query"
},
{
"type": "string",
"description": "排序方向: asc | desc",
"name": "sortOrder",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"401": {
"description": "未认证",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/lesson-plans/share/{code}/download": {
"get": {
"description": "通过6位分享码下载教案文件无需认证",
"produces": [
"application/octet-stream"
],
"tags": [
"教案管理"
],
"summary": "通过分享码下载教案",
"parameters": [
{
"type": "string",
"description": "6位分享码",
"name": "code",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "教案文件",
"schema": {
"type": "file"
}
},
"400": {
"description": "分享码无效",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "分享码过期或不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/lesson-plans/upload": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "上传 .docx 格式的教案文件支持MD5去重最大10MB",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"教案管理"
],
"summary": "上传教案文件",
"parameters": [
{
"type": "file",
"description": "教案文件(.docx)",
"name": "file",
"in": "formData",
"required": true
}
],
"responses": {
"201": {
"description": "上传成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"401": {
"description": "未认证",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"409": {
"description": "文件已存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/lesson-plans/{id}": {
"delete": {
"security": [
{
"BearerAuth": []
}
],
"description": "删除教案文件及其关联的分享码",
"produces": [
"application/json"
],
"tags": [
"教案管理"
],
"summary": "删除教案文件",
"parameters": [
{
"type": "integer",
"description": "教案ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"401": {
"description": "未认证",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"403": {
"description": "无权限",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "文件不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/lesson-plans/{id}/download": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "通过ID下载教案文件自动更新下载计数和最后下载时间",
"produces": [
"application/octet-stream"
],
"tags": [
"教案管理"
],
"summary": "下载教案文件",
"parameters": [
{
"type": "integer",
"description": "教案ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "教案文件",
"schema": {
"type": "file"
}
},
"401": {
"description": "未认证",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"403": {
"description": "无权限",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "文件不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/lesson-plans/{id}/share-code": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "为教案文件生成6位数字分享码有效期5分钟每次生成会失效之前的分享码",
"produces": [
"application/json"
],
"tags": [
"教案管理"
],
"summary": "生成分享码",
"parameters": [
{
"type": "integer",
"description": "教案ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "生成成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"401": {
"description": "未认证",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"403": {
"description": "无权限",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "文件不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/login": {
"post": {
"description": "用户名密码登录返回JWT Token和用户信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"认证"
],
"summary": "用户登录",
"parameters": [
{
"description": "登录信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.SwagLoginRequest"
}
}
],
"responses": {
"200": {
"description": "登录成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"401": {
"description": "用户名或密码错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"403": {
"description": "用户已禁用",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/register": {
"post": {
"description": "注册新用户返回JWT Token",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"认证"
],
"summary": "用户注册",
"parameters": [
{
"description": "注册信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.SwagRegisterRequest"
}
}
],
"responses": {
"201": {
"description": "注册成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"409": {
"description": "用户名已存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/step": {
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "接收并保存踏步训练记录,包含心率和步频数据,异步计算回归结果",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"踏步训练"
],
"summary": "创建踏步训练记录",
"parameters": [
{
"description": "踏步训练记录",
"name": "record",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
],
"responses": {
"201": {
"description": "保存成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"401": {
"description": "未认证",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/step/train-data/{trainId}": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "根据训练ID获取踏步训练的详细信息包含心率和步频数据",
"produces": [
"application/json"
],
"tags": [
"踏步训练"
],
"summary": "获取踏步训练详情",
"parameters": [
{
"type": "integer",
"description": "训练ID",
"name": "trainId",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"401": {
"description": "未认证",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"404": {
"description": "训练记录不存在",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/step/train-rank/{trainId}": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "根据训练ID和回归类型获取训练排名",
"produces": [
"application/json"
],
"tags": [
"踏步训练"
],
"summary": "获取训练排名",
"parameters": [
{
"type": "integer",
"description": "训练ID",
"name": "trainId",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "回归类型: 1=线性回归 | 3=二次回归",
"name": "type",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"401": {
"description": "未认证",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/step/train-records": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"description": "分页获取当前用户的踏步训练记录,按开始时间倒序",
"produces": [
"application/json"
],
"tags": [
"踏步训练"
],
"summary": "获取踏步训练记录列表",
"parameters": [
{
"type": "integer",
"description": "页码(默认1)",
"name": "pageNum",
"in": "query"
},
{
"type": "integer",
"description": "每页数量(默认10,最大100)",
"name": "pageSize",
"in": "query"
}
],
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"401": {
"description": "未认证",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/train-records": {
"post": {
"description": "接收并保存训练记录及心率数据支持重复上传按train_id去重更新",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"训练管理"
],
"summary": "创建训练记录",
"parameters": [
{
"description": "训练记录数据",
"name": "record",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
],
"responses": {
"201": {
"description": "保存成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/train-records/analysis": {
"get": {
"description": "对历史心率数据进行统计分析和正态分布曲线拟合",
"produces": [
"application/json"
],
"tags": [
"训练管理"
],
"summary": "心率曲线分析",
"responses": {
"200": {
"description": "分析成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "数据量不足",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/train-records/analysis-by-ai": {
"post": {
"description": "上传心率CSV和教案文件通过AI生成课堂分析报告支持流式和非流式输出",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"AI分析"
],
"summary": "AI分析",
"parameters": [
{
"type": "file",
"description": "心率数据CSV文件",
"name": "heart_rate_data",
"in": "formData",
"required": true
},
{
"type": "file",
"description": "步数数据CSV文件(analysis_type为heart_rate_with_steps时必填)",
"name": "step_data",
"in": "formData"
},
{
"type": "file",
"description": "教案DOCX文件(teaching_plan_source为upload/wechat时必填)",
"name": "teaching_plan",
"in": "formData"
},
{
"type": "string",
"description": "分析类型: heart_rate_only(默认) | heart_rate_with_steps",
"name": "analysis_type",
"in": "formData"
},
{
"type": "string",
"description": "教案来源: upload(默认) | cloud | wechat",
"name": "teaching_plan_source",
"in": "formData"
},
{
"type": "string",
"description": "区域ID",
"name": "regionid",
"in": "formData"
},
{
"type": "string",
"description": "训练ID",
"name": "trainid",
"in": "formData"
},
{
"type": "string",
"description": "云端教案ID(teaching_plan_source=cloud时必填)",
"name": "lesson_plan_id",
"in": "formData"
},
{
"type": "string",
"description": "是否流式输出: true | false",
"name": "stream",
"in": "formData"
}
],
"responses": {
"200": {
"description": "分析成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/train-records/cloud-files": {
"get": {
"description": "获取所有云端教案文件列表",
"produces": [
"application/json"
],
"tags": [
"训练管理"
],
"summary": "获取云端教案列表",
"responses": {
"200": {
"description": "查询成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
},
"/train-records/session": {
"post": {
"description": "上传训练开始/结束会话用于MQTT训练会话追踪",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"训练管理"
],
"summary": "上传训练会话",
"parameters": [
{
"description": "训练会话数据",
"name": "session",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/controllers.trainingSessionRequest"
}
}
],
"responses": {
"200": {
"description": "操作成功",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/controllers.SwagAPIResponse"
}
}
}
}
}
},
"definitions": {
"controllers.SwagAPIResponse": {
"type": "object",
"properties": {
"code": {
"description": "HTTP状态码",
"type": "integer"
},
"data": {
"description": "响应数据"
},
"msg": {
"description": "响应消息",
"type": "string"
}
}
},
"controllers.SwagLoginRequest": {
"type": "object",
"properties": {
"password": {
"description": "密码",
"type": "string"
},
"username": {
"description": "用户名",
"type": "string"
}
}
},
"controllers.SwagRegisterRequest": {
"type": "object",
"properties": {
"flavorType": {
"description": "类型",
"type": "string"
},
"password": {
"description": "密码",
"type": "string"
},
"regionIds": {
"description": "区域ID列表",
"type": "array",
"items": {
"type": "integer"
}
},
"role": {
"description": "角色",
"type": "string"
},
"username": {
"description": "用户名",
"type": "string"
}
}
},
"controllers.gatewayPayload": {
"type": "object",
"properties": {
"isSold": {
"type": "boolean"
},
"location": {
"type": "string"
},
"mac": {
"type": "string"
},
"name": {
"type": "string"
},
"projectType": {
"type": "string"
},
"regionId": {
"type": "integer"
},
"soldAt": {
"description": "SoldAt 是可选字段。如果 IsSold 为 true 且未传此字段,后端自动设为当前时间",
"type": "string"
}
}
},
"controllers.kindergartenPayload": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"name": {
"type": "string"
},
"regionId": {
"type": "integer"
}
}
},
"controllers.mqttDebugStartRequest": {
"type": "object",
"properties": {
"persistToDatabase": {
"type": "boolean"
}
}
},
"controllers.productDefinitionPayload": {
"type": "object",
"properties": {
"category": {
"type": "string"
},
"code": {
"type": "string"
},
"description": {
"type": "string"
},
"isActive": {
"type": "boolean"
},
"name": {
"type": "string"
},
"parameterSchema": {
"type": "string"
},
"sort": {
"type": "integer"
},
"trackSerialNumber": {
"type": "boolean"
}
}
},
"controllers.productInventoryPayload": {
"type": "object",
"properties": {
"assetName": {
"type": "string"
},
"notes": {
"type": "string"
},
"parameterValues": {
"type": "string"
},
"productCode": {
"type": "string"
},
"projectTypeCode": {
"type": "string"
},
"regionId": {
"type": "integer"
},
"serialNumber": {
"type": "string"
},
"soldAt": {
"type": "string"
},
"soldTargetName": {
"type": "string"
},
"soldTargetType": {
"type": "string"
},
"soldTo": {
"type": "string"
},
"status": {
"type": "string"
},
"storageLocation": {
"type": "string"
},
"suiteCode": {
"type": "string"
},
"suiteId": {
"type": "integer"
}
}
},
"controllers.productPrototypePayload": {
"type": "object",
"properties": {
"assetName": {
"type": "string"
},
"name": {
"type": "string"
},
"notes": {
"type": "string"
},
"parameterValues": {
"type": "string"
},
"productCode": {
"type": "string"
},
"projectTypeCode": {
"type": "string"
},
"regionId": {
"type": "integer"
},
"status": {
"type": "string"
},
"storageLocation": {
"type": "string"
}
}
},
"controllers.productSuitePayload": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"inventoryIds": {
"type": "array",
"items": {
"type": "integer"
}
},
"name": {
"type": "string"
},
"notes": {
"type": "string"
},
"projectTypeCode": {
"type": "string"
},
"regionId": {
"type": "integer"
},
"soldTargetName": {
"type": "string"
},
"soldTargetType": {
"type": "string"
}
}
},
"controllers.projectTypePayload": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"description": {
"type": "string"
},
"isActive": {
"type": "boolean"
},
"name": {
"type": "string"
},
"sort": {
"type": "integer"
},
"supportsGateway": {
"type": "boolean"
}
}
},
"controllers.trainingSessionRequest": {
"type": "object",
"properties": {
"age": {
"type": "integer"
},
"aiResult": {
"type": "string"
},
"appName": {
"type": "string"
},
"duration": {
"type": "integer"
},
"endTime": {
"type": "integer"
},
"evaluation": {
"type": "string"
},
"gender": {
"type": "string"
},
"isStart": {
"type": "boolean"
},
"maxHeartRate": {
"type": "integer"
},
"name": {
"type": "string"
},
"peopleNum": {
"type": "integer"
},
"regionId": {
"type": "integer"
},
"runType": {
"type": "string"
},
"testTime": {
"type": "integer"
},
"tid": {
"type": "integer"
},
"time": {
"type": "integer"
}
}
},
"controllers.userAdminPayload": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"flavorType": {
"$ref": "#/definitions/models.UserFlavorType"
},
"isActive": {
"type": "boolean"
},
"password": {
"type": "string"
},
"phone": {
"type": "string"
},
"regionIds": {
"type": "array",
"items": {
"type": "integer"
}
},
"revokeTokens": {
"type": "boolean"
},
"role": {
"$ref": "#/definitions/models.UserRole"
},
"username": {
"type": "string"
}
}
},
"models.UserFlavorType": {
"type": "string",
"enum": [
"all",
"flink",
"full",
"light",
"heartrate",
"run50"
],
"x-enum-varnames": [
"UserFlavorAll",
"UserFlavorFlink",
"UserFlavorFull",
"UserFlavorLight",
"UserFlavorHeartRate",
"UserFlavorRun50"
]
},
"models.UserRole": {
"type": "string",
"enum": [
"super_admin",
"region_admin",
"operator",
"viewer"
],
"x-enum-varnames": [
"UserRoleSuperAdmin",
"UserRoleRegionAdmin",
"UserRoleOperator",
"UserRoleViewer"
]
}
},
"securityDefinitions": {
"BearerAuth": {
"type": "apiKey",
"name": "Authorization",
"in": "header"
}
}
}