Files
pig-farm-controller/bmad/api-contracts-main-zh.md
2025-11-01 19:22:39 +08:00

6.3 KiB

API 契约 - 主模块

本文档概述了猪场控制器应用程序中可用的 API 端点。

公共路由(无需身份验证)

方法 路径 描述
POST /api/v1/users 用户注册
POST /api/v1/users/login 用户登录
POST /upstream 处理设备上行事件
GET /swagger/*any Swagger UI

认证路由(需要 JWT 身份验证和审计日志)

用户端点 (/api/v1/users)

方法 路径 描述
POST /api/v1/users/:id/notifications/test 发送测试通知

设备端点 (/api/v1/devices)

方法 路径 描述
POST /api/v1/devices 创建设备
GET /api/v1/devices 获取设备列表
GET /api/v1/devices/:id 获取单个设备
PUT /api/v1/devices/:id 更新设备
DELETE /api/v1/devices/:id 删除设备
POST /api/v1/devices/manual-control/:id 手动控制设备

区域控制器端点 (/api/v1/area-controllers)

方法 路径 描述
POST /api/v1/area-controllers 创建区域控制器
GET /api/v1/area-controllers 获取区域控制器列表
GET /api/v1/area-controllers/:id 获取单个区域控制器
PUT /api/v1/area-controllers/:id 更新区域控制器
DELETE /api/v1/area-controllers/:id 删除区域控制器

设备模板端点 (/api/v1/device-templates)

方法 路径 描述
POST /api/v1/device-templates 创建设备模板
GET /api/v1/device-templates 获取设备模板列表
GET /api/v1/device-templates/:id 获取单个设备模板
PUT /api/v1/device-templates/:id 更新设备模板
DELETE /api/v1/device-templates/:id 删除设备模板

计划端点 (/api/v1/plans)

方法 路径 描述
POST /api/v1/plans 创建计划
GET /api/v1/plans 获取计划列表
GET /api/v1/plans/:id 获取单个计划
PUT /api/v1/plans/:id 更新计划
DELETE /api/v1/plans/:id 删除计划
POST /api/v1/plans/:id/start 启动计划
POST /api/v1/plans/:id/stop 停止计划

猪舍端点 (/api/v1/pig-houses)

方法 路径 描述
POST /api/v1/pig-houses 创建猪舍
GET /api/v1/pig-houses 获取猪舍列表
GET /api/v1/pig-houses/:id 获取单个猪舍
PUT /api/v1/pig-houses/:id 更新猪舍
DELETE /api/v1/pig-houses/:id 删除猪舍

猪圈端点 (/api/v1/pens)

方法 路径 描述
POST /api/v1/pens 创建猪圈
GET /api/v1/pens 获取猪圈列表
GET /api/v1/pens/:id 获取单个猪圈
PUT /api/v1/pens/:id 更新猪圈
DELETE /api/v1/pens/:id 删除猪圈
PUT /api/v1/pens/:id/status 更新猪圈状态

猪群端点 (/api/v1/pig-batches)

方法 路径 描述
POST /api/v1/pig-batches 创建猪群
GET /api/v1/pig-batches 获取猪群列表
GET /api/v1/pig-batches/:id 获取单个猪群
PUT /api/v1/pig-batches/:id 更新猪群
DELETE /api/v1/pig-batches/:id 删除猪群
POST /api/v1/pig-batches/assign-pens/:id 为猪群分配空栏
POST /api/v1/pig-batches/reclassify-pen/:fromBatchID 将猪栏划拨到新群
DELETE /api/v1/pig-batches/remove-pen/:penID/:batchID 从猪群移除空栏
POST /api/v1/pig-batches/move-pigs-into-pen/:id 将猪只从“虚拟库存”移入指定猪栏
POST /api/v1/pig-batches/sell-pigs/:id 处理卖猪业务
POST /api/v1/pig-batches/buy-pigs/:id 处理买猪业务
POST /api/v1/pig-batches/transfer-across-batches/:sourceBatchID 跨猪群调栏
POST /api/v1/pig-batches/transfer-within-batch/:id 群内调栏
POST /api/v1/pig-batches/record-sick-pigs/:id 记录新增病猪事件
POST /api/v1/pig-batches/record-sick-pig-recovery/:id 记录病猪康复事件
POST /api/v1/pig-batches/record-sick-pig-death/:id 记录病猪死亡事件
POST /api/v1/pig-batches/record-sick-pig-cull/:id 记录病猪淘汰事件
POST /api/v1/pig-batches/record-death/:id 记录正常猪只死亡事件
POST /api/v1/pig-batches/record-cull/:id 记录正常猪只淘汰事件

监控端点 (/api/v1/monitor)

方法 路径 描述
GET /api/v1/monitor/sensor-data 获取传感器数据
GET /api/v1/monitor/device-command-logs 获取设备命令日志
GET /api/v1/monitor/plan-execution-logs 获取计划执行日志
GET /api/v1/monitor/task-execution-logs 获取任务执行日志
GET /api/v1/monitor/pending-collections 获取待处理采集
GET /api/v1/monitor/user-action-logs 获取用户操作日志
GET /api/v1/monitor/raw-material-purchases 获取原材料采购记录
GET /api/v1/monitor/raw-material-stock-logs 获取原材料库存日志
GET /api/v1/monitor/feed-usage-records 获取饲料使用记录
GET /api/v1/monitor/medication-logs 获取用药记录
GET /api/v1/monitor/pig-batch-logs 获取猪群日志
GET /api/v1/monitor/weighing-batches 获取称重批次
GET /api/v1/monitor/weighing-records 获取称重记录
GET /api/v1/monitor/pig-transfer-logs 获取猪只转栏日志
GET /api/v1/monitor/pig-sick-logs 获取病猪日志
GET /api/v1/monitor/pig-purchases 获取猪只采购记录
GET /api/v1/monitor/pig-sales 获取猪只销售记录
GET /api/v1/monitor/notifications 获取通知