118 lines
3.2 KiB
JavaScript
118 lines
3.2 KiB
JavaScript
|
|
/**
|
||
|
|
* 预警管理模块 Swagger 文档
|
||
|
|
* @file swagger-alerts.js
|
||
|
|
* @description 预警管理相关的 Swagger API 文档定义
|
||
|
|
*/
|
||
|
|
|
||
|
|
// 预警管理相关的 API 路径定义
|
||
|
|
const alertsPaths = {
|
||
|
|
'/api/alerts': {
|
||
|
|
get: {
|
||
|
|
summary: '获取所有预警',
|
||
|
|
tags: ['预警管理'],
|
||
|
|
parameters: [
|
||
|
|
{ $ref: '#/components/parameters/PageParam' },
|
||
|
|
{ $ref: '#/components/parameters/LimitParam' },
|
||
|
|
{ $ref: '#/components/parameters/SearchParam' }
|
||
|
|
],
|
||
|
|
responses: {
|
||
|
|
200: { $ref: '#/components/responses/Success' }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
'/api/alerts/{id}': {
|
||
|
|
get: {
|
||
|
|
summary: '根据ID获取预警',
|
||
|
|
tags: ['预警管理'],
|
||
|
|
parameters: [{ $ref: '#/components/parameters/IdParam' }],
|
||
|
|
responses: {
|
||
|
|
200: { $ref: '#/components/responses/Success' },
|
||
|
|
404: { $ref: '#/components/responses/NotFound' }
|
||
|
|
}
|
||
|
|
},
|
||
|
|
put: {
|
||
|
|
summary: '更新预警状态',
|
||
|
|
tags: ['预警管理'],
|
||
|
|
parameters: [{ $ref: '#/components/parameters/IdParam' }],
|
||
|
|
requestBody: {
|
||
|
|
required: true,
|
||
|
|
content: {
|
||
|
|
'application/json': {
|
||
|
|
schema: {
|
||
|
|
type: 'object',
|
||
|
|
properties: {
|
||
|
|
status: {
|
||
|
|
type: 'string',
|
||
|
|
enum: ['pending', 'processing', 'resolved', 'ignored'],
|
||
|
|
description: '预警状态'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
responses: {
|
||
|
|
200: { $ref: '#/components/responses/Success' },
|
||
|
|
404: { $ref: '#/components/responses/NotFound' }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
'/api/alerts/stats/type': {
|
||
|
|
get: {
|
||
|
|
summary: '获取预警类型统计',
|
||
|
|
tags: ['预警管理'],
|
||
|
|
responses: {
|
||
|
|
200: { $ref: '#/components/responses/Success' }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
'/api/alerts/stats/level': {
|
||
|
|
get: {
|
||
|
|
summary: '获取预警级别统计',
|
||
|
|
tags: ['预警管理'],
|
||
|
|
responses: {
|
||
|
|
200: { $ref: '#/components/responses/Success' }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
'/api/alerts/stats/status': {
|
||
|
|
get: {
|
||
|
|
summary: '获取预警状态统计',
|
||
|
|
tags: ['预警管理'],
|
||
|
|
responses: {
|
||
|
|
200: { $ref: '#/components/responses/Success' }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
// 预警管理相关的数据模型定义
|
||
|
|
const alertSchemas = {
|
||
|
|
Alert: {
|
||
|
|
type: 'object',
|
||
|
|
properties: {
|
||
|
|
id: { type: 'integer', description: '预警ID' },
|
||
|
|
type: { type: 'string', description: '预警类型' },
|
||
|
|
level: { type: 'string', enum: ['high', 'medium', 'low'], description: '预警级别' },
|
||
|
|
status: {
|
||
|
|
type: 'string',
|
||
|
|
enum: ['pending', 'processing', 'resolved', 'ignored'],
|
||
|
|
description: '预警状态'
|
||
|
|
},
|
||
|
|
title: { type: 'string', description: '预警标题' },
|
||
|
|
message: { type: 'string', description: '预警消息' },
|
||
|
|
deviceId: { type: 'integer', description: '设备ID' },
|
||
|
|
animalId: { type: 'integer', description: '动物ID' },
|
||
|
|
farmId: { type: 'integer', description: '养殖场ID' },
|
||
|
|
createdAt: { type: 'string', format: 'date-time', description: '创建时间' },
|
||
|
|
updatedAt: { type: 'string', format: 'date-time', description: '更新时间' }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
module.exports = {
|
||
|
|
alertsPaths,
|
||
|
|
alertSchemas
|
||
|
|
};
|
||
|
|
|