Files
pig-farm-controller/docs/swagger.yaml
2025-10-06 22:26:57 +08:00

1845 lines
45 KiB
YAML
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.

definitions:
controller.Response:
properties:
code:
allOf:
- $ref: '#/definitions/controller.ResponseCode'
description: 业务状态码
data:
description: 业务数据
message:
description: 提示信息
type: string
type: object
controller.ResponseCode:
enum:
- 2000
- 2001
- 4000
- 4001
- 4004
- 4009
- 5000
- 5003
type: integer
x-enum-comments:
CodeBadRequest: 请求参数错误
CodeConflict: 资源冲突
CodeCreated: 创建成功
CodeInternalError: 服务器内部错误
CodeNotFound: 资源未找到
CodeServiceUnavailable: 服务不可用
CodeSuccess: 操作成功
CodeUnauthorized: 未授权
x-enum-descriptions:
- 操作成功
- 创建成功
- 请求参数错误
- 未授权
- 资源未找到
- 资源冲突
- 服务器内部错误
- 服务不可用
x-enum-varnames:
- CodeSuccess
- CodeCreated
- CodeBadRequest
- CodeUnauthorized
- CodeNotFound
- CodeConflict
- CodeInternalError
- CodeServiceUnavailable
dto.AreaControllerResponse:
properties:
created_at:
type: string
id:
type: integer
location:
type: string
name:
type: string
network_id:
type: string
properties:
additionalProperties: true
type: object
status:
type: string
updated_at:
type: string
type: object
dto.CreateAreaControllerRequest:
properties:
location:
type: string
name:
type: string
network_id:
type: string
properties:
additionalProperties: true
type: object
required:
- name
- network_id
type: object
dto.CreateDeviceRequest:
properties:
area_controller_id:
type: integer
device_template_id:
type: integer
location:
type: string
name:
type: string
properties:
additionalProperties: true
type: object
required:
- area_controller_id
- device_template_id
- name
type: object
dto.CreateDeviceTemplateRequest:
properties:
category:
$ref: '#/definitions/models.DeviceCategory'
commands:
additionalProperties: true
type: object
description:
type: string
manufacturer:
type: string
name:
type: string
values:
items:
$ref: '#/definitions/models.ValueDescriptor'
type: array
required:
- category
- commands
- name
type: object
dto.CreatePenRequest:
properties:
capacity:
type: integer
house_id:
type: integer
pen_number:
type: string
required:
- capacity
- house_id
- pen_number
type: object
dto.CreatePigHouseRequest:
properties:
description:
type: string
name:
type: string
required:
- name
type: object
dto.CreatePlanRequest:
properties:
cron_expression:
example: 0 0 6 * * *
type: string
description:
example: 根据温度自动调节风扇和加热器
type: string
execute_num:
example: 10
type: integer
execution_type:
allOf:
- $ref: '#/definitions/models.PlanExecutionType'
example: 自动
name:
example: 猪舍温度控制计划
type: string
sub_plan_ids:
items:
type: integer
type: array
tasks:
items:
$ref: '#/definitions/dto.TaskRequest'
type: array
required:
- execution_type
- name
type: object
dto.CreateUserRequest:
properties:
password:
example: password123
type: string
username:
example: newuser
type: string
required:
- password
- username
type: object
dto.CreateUserResponse:
properties:
id:
example: 1
type: integer
username:
example: newuser
type: string
type: object
dto.DeviceResponse:
properties:
area_controller_id:
type: integer
area_controller_name:
type: string
created_at:
type: string
device_template_id:
type: integer
device_template_name:
type: string
id:
type: integer
location:
type: string
name:
type: string
properties:
additionalProperties: true
type: object
updated_at:
type: string
type: object
dto.DeviceTemplateResponse:
properties:
category:
$ref: '#/definitions/models.DeviceCategory'
commands:
additionalProperties: true
type: object
created_at:
type: string
description:
type: string
id:
type: integer
manufacturer:
type: string
name:
type: string
updated_at:
type: string
values:
items:
$ref: '#/definitions/models.ValueDescriptor'
type: array
type: object
dto.HistoryResponse:
properties:
action_type:
example: 更新设备
type: string
description:
example: 设备更新成功
type: string
target_resource: {}
time:
type: string
user_id:
example: 101
type: integer
username:
example: testuser
type: string
type: object
dto.ListHistoryResponse:
properties:
history:
items:
$ref: '#/definitions/dto.HistoryResponse'
type: array
total:
example: 100
type: integer
type: object
dto.LoginRequest:
properties:
identifier:
description: Identifier 可以是用户名、邮箱、手机号、微信号或飞书账号
example: testuser
type: string
password:
example: password123
type: string
required:
- identifier
- password
type: object
dto.LoginResponse:
properties:
id:
example: 1
type: integer
token:
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
type: string
username:
example: testuser
type: string
type: object
dto.PenResponse:
properties:
capacity:
type: integer
house_id:
type: integer
id:
type: integer
pen_number:
type: string
pig_batch_id:
type: integer
status:
$ref: '#/definitions/models.PenStatus'
type: object
dto.PigBatchCreateDTO:
properties:
batch_number:
description: 批次编号,必填
type: string
initial_count:
description: 初始数量必填最小为1
minimum: 1
type: integer
origin_type:
allOf:
- $ref: '#/definitions/models.PigBatchOriginType'
description: 批次来源,必填
start_date:
description: 批次开始日期,必填
type: string
status:
allOf:
- $ref: '#/definitions/models.PigBatchStatus'
description: 批次状态,必填
required:
- batch_number
- initial_count
- origin_type
- start_date
- status
type: object
dto.PigBatchResponseDTO:
properties:
batch_number:
description: 批次编号
type: string
create_time:
description: 创建时间
type: string
end_date:
description: 批次结束日期
type: string
id:
description: 批次ID
type: integer
initial_count:
description: 初始数量
type: integer
is_active:
description: 是否活跃
type: boolean
origin_type:
allOf:
- $ref: '#/definitions/models.PigBatchOriginType'
description: 批次来源
start_date:
description: 批次开始日期
type: string
status:
allOf:
- $ref: '#/definitions/models.PigBatchStatus'
description: 批次状态
update_time:
description: 更新时间
type: string
type: object
dto.PigBatchUpdateDTO:
properties:
batch_number:
description: 批次编号,可选
type: string
end_date:
description: 批次结束日期,可选
type: string
initial_count:
description: 初始数量,可选
type: integer
origin_type:
allOf:
- $ref: '#/definitions/models.PigBatchOriginType'
description: 批次来源,可选
start_date:
description: 批次开始日期,可选
type: string
status:
allOf:
- $ref: '#/definitions/models.PigBatchStatus'
description: 批次状态,可选
type: object
dto.PigBatchUpdatePensRequest:
type: object
dto.PigHouseResponse:
properties:
description:
type: string
id:
type: integer
name:
type: string
type: object
dto.PlanResponse:
properties:
content_type:
allOf:
- $ref: '#/definitions/models.PlanContentType'
example: 任务
cron_expression:
example: 0 0 6 * * *
type: string
description:
example: 根据温度自动调节风扇和加热器
type: string
execute_count:
example: 0
type: integer
execute_num:
example: 10
type: integer
execution_type:
allOf:
- $ref: '#/definitions/models.PlanExecutionType'
example: 自动
id:
example: 1
type: integer
name:
example: 猪舍温度控制计划
type: string
status:
allOf:
- $ref: '#/definitions/models.PlanStatus'
example: 已启用
sub_plans:
items:
$ref: '#/definitions/dto.SubPlanResponse'
type: array
tasks:
items:
$ref: '#/definitions/dto.TaskResponse'
type: array
type: object
dto.SubPlanResponse:
properties:
child_plan:
$ref: '#/definitions/dto.PlanResponse'
child_plan_id:
example: 2
type: integer
execution_order:
example: 1
type: integer
id:
example: 1
type: integer
parent_plan_id:
example: 1
type: integer
type: object
dto.TaskRequest:
properties:
description:
example: 打开1号风扇
type: string
execution_order:
example: 1
type: integer
name:
example: 打开风扇
type: string
parameters:
additionalProperties: true
type: object
type:
allOf:
- $ref: '#/definitions/models.TaskType'
example: 等待
type: object
dto.TaskResponse:
properties:
description:
example: 打开1号风扇
type: string
execution_order:
example: 1
type: integer
id:
example: 1
type: integer
name:
example: 打开风扇
type: string
parameters:
additionalProperties: true
type: object
plan_id:
example: 1
type: integer
type:
allOf:
- $ref: '#/definitions/models.TaskType'
example: 等待
type: object
dto.UpdateAreaControllerRequest:
properties:
location:
type: string
name:
type: string
network_id:
type: string
properties:
additionalProperties: true
type: object
required:
- name
- network_id
type: object
dto.UpdateDeviceRequest:
properties:
area_controller_id:
type: integer
device_template_id:
type: integer
location:
type: string
name:
type: string
properties:
additionalProperties: true
type: object
required:
- area_controller_id
- device_template_id
- name
type: object
dto.UpdateDeviceTemplateRequest:
properties:
category:
$ref: '#/definitions/models.DeviceCategory'
commands:
additionalProperties: true
type: object
description:
type: string
manufacturer:
type: string
name:
type: string
values:
items:
$ref: '#/definitions/models.ValueDescriptor'
type: array
required:
- category
- commands
- name
type: object
dto.UpdatePenRequest:
properties:
capacity:
type: integer
house_id:
type: integer
pen_number:
type: string
status:
allOf:
- $ref: '#/definitions/models.PenStatus'
description: 添加oneof校验
enum:
- 空闲
- 使用中
- 病猪栏
- 康复栏
- 清洗消毒
- 维修中
required:
- capacity
- house_id
- pen_number
- status
type: object
dto.UpdatePenStatusRequest:
properties:
status:
allOf:
- $ref: '#/definitions/models.PenStatus'
enum:
- 空闲
- 使用中
- 病猪栏
- 康复栏
- 清洗消毒
- 维修中
example: 病猪栏
required:
- status
type: object
dto.UpdatePigHouseRequest:
properties:
description:
type: string
name:
type: string
required:
- name
type: object
dto.UpdatePlanRequest:
properties:
cron_expression:
example: 0 0 6 * * *
type: string
description:
example: 更新后的描述
type: string
execute_num:
example: 10
type: integer
execution_type:
allOf:
- $ref: '#/definitions/models.PlanExecutionType'
example: 自动
name:
example: 猪舍温度控制计划V2
type: string
sub_plan_ids:
items:
type: integer
type: array
tasks:
items:
$ref: '#/definitions/dto.TaskRequest'
type: array
required:
- execution_type
type: object
models.DeviceCategory:
enum:
- 执行器
- 传感器
type: string
x-enum-varnames:
- CategoryActuator
- CategorySensor
models.PenStatus:
enum:
- 空闲
- 使用中
- 病猪栏
- 康复栏
- 清洗消毒
- 维修中
type: string
x-enum-varnames:
- PenStatusEmpty
- PenStatusOccupied
- PenStatusSickPen
- PenStatusRecovering
- PenStatusCleaning
- PenStatusUnderMaint
models.PigBatchOriginType:
enum:
- 自繁
- 外购
type: string
x-enum-varnames:
- OriginTypeSelfFarrowed
- OriginTypePurchased
models.PigBatchStatus:
enum:
- 保育
- 生长
- 育肥
- 待售
- 已出售
- 已归档
type: string
x-enum-comments:
BatchStatusArchived: 批次结束(如全群淘汰等)
BatchStatusFinishing: 最后的育肥阶段
BatchStatusForSale: 达到出栏标准
BatchStatusGrowing: 生长育肥阶段
BatchStatusWeaning: 从断奶到保育结束
x-enum-descriptions:
- 从断奶到保育结束
- 生长育肥阶段
- 最后的育肥阶段
- 达到出栏标准
- ""
- 批次结束(如全群淘汰等)
x-enum-varnames:
- BatchStatusWeaning
- BatchStatusGrowing
- BatchStatusFinishing
- BatchStatusForSale
- BatchStatusSold
- BatchStatusArchived
models.PlanContentType:
enum:
- 子计划
- 任务
type: string
x-enum-comments:
PlanContentTypeSubPlans: 计划包含子计划
PlanContentTypeTasks: 计划包含任务
x-enum-descriptions:
- 计划包含子计划
- 计划包含任务
x-enum-varnames:
- PlanContentTypeSubPlans
- PlanContentTypeTasks
models.PlanExecutionType:
enum:
- 自动
- 手动
type: string
x-enum-comments:
PlanExecutionTypeAutomatic: 自动执行 (包含定时和循环)
PlanExecutionTypeManual: 手动执行
x-enum-descriptions:
- 自动执行 (包含定时和循环)
- 手动执行
x-enum-varnames:
- PlanExecutionTypeAutomatic
- PlanExecutionTypeManual
models.PlanStatus:
enum:
- 已禁用
- 已启用
- 执行完毕
- 执行失败
type: string
x-enum-comments:
PlanStatusDisabled: 禁用计划
PlanStatusEnabled: 启用计划
PlanStatusFailed: 执行失败
PlanStatusStopped: 执行完毕
x-enum-descriptions:
- 禁用计划
- 启用计划
- 执行完毕
- 执行失败
x-enum-varnames:
- PlanStatusDisabled
- PlanStatusEnabled
- PlanStatusStopped
- PlanStatusFailed
models.SensorType:
enum:
- 信号强度
- 电池电量
- 温度
- 湿度
- 重量
type: string
x-enum-comments:
SensorTypeBatteryLevel: 电池电量
SensorTypeHumidity: 湿度
SensorTypeSignalMetrics: 信号强度
SensorTypeTemperature: 温度
SensorTypeWeight: 重量
x-enum-descriptions:
- 信号强度
- 电池电量
- 温度
- 湿度
- 重量
x-enum-varnames:
- SensorTypeSignalMetrics
- SensorTypeBatteryLevel
- SensorTypeTemperature
- SensorTypeHumidity
- SensorTypeWeight
models.TaskType:
enum:
- 计划分析
- 等待
- 下料
type: string
x-enum-comments:
TaskPlanAnalysis: 解析Plan的Task列表并添加到待执行队列的特殊任务
TaskTypeReleaseFeedWeight: 下料口释放指定重量任务
TaskTypeWaiting: 等待任务
x-enum-descriptions:
- 解析Plan的Task列表并添加到待执行队列的特殊任务
- 等待任务
- 下料口释放指定重量任务
x-enum-varnames:
- TaskPlanAnalysis
- TaskTypeWaiting
- TaskTypeReleaseFeedWeight
models.ValueDescriptor:
properties:
multiplier:
description: 乘数,用于原始数据转换
type: number
offset:
description: 偏移量,用于原始数据转换
type: number
type:
$ref: '#/definitions/models.SensorType'
type: object
info:
contact: {}
paths:
/api/v1/area-controllers:
get:
description: 获取系统中所有区域主控的列表
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
items:
$ref: '#/definitions/dto.AreaControllerResponse'
type: array
type: object
summary: 获取所有区域主控列表
tags:
- 区域主控管理
post:
consumes:
- application/json
description: 根据提供的信息创建一个新区域主控
parameters:
- description: 区域主控信息
in: body
name: areaController
required: true
schema:
$ref: '#/definitions/dto.CreateAreaControllerRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.AreaControllerResponse'
type: object
summary: 创建新区域主控
tags:
- 区域主控管理
/api/v1/area-controllers/{id}:
delete:
description: 根据ID删除一个区域主控软删除
parameters:
- description: 区域主控ID
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/controller.Response'
summary: 删除区域主控
tags:
- 区域主控管理
get:
description: 根据ID获取单个区域主控的详细信息
parameters:
- description: 区域主控ID
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.AreaControllerResponse'
type: object
summary: 获取区域主控信息
tags:
- 区域主控管理
put:
consumes:
- application/json
description: 根据ID更新一个已存在的区域主控信息
parameters:
- description: 区域主控ID
in: path
name: id
required: true
type: string
- description: 要更新的区域主控信息
in: body
name: areaController
required: true
schema:
$ref: '#/definitions/dto.UpdateAreaControllerRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.AreaControllerResponse'
type: object
summary: 更新区域主控信息
tags:
- 区域主控管理
/api/v1/device-templates:
get:
description: 获取系统中所有设备模板的列表
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
items:
$ref: '#/definitions/dto.DeviceTemplateResponse'
type: array
type: object
summary: 获取设备模板列表
tags:
- 设备模板管理
post:
consumes:
- application/json
description: 根据提供的信息创建一个新设备模板
parameters:
- description: 设备模板信息
in: body
name: deviceTemplate
required: true
schema:
$ref: '#/definitions/dto.CreateDeviceTemplateRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.DeviceTemplateResponse'
type: object
summary: 创建新设备模板
tags:
- 设备模板管理
/api/v1/device-templates/{id}:
delete:
description: 根据设备模板ID删除一个设备模板软删除
parameters:
- description: 设备模板ID
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/controller.Response'
summary: 删除设备模板
tags:
- 设备模板管理
get:
description: 根据设备模板ID获取单个设备模板的详细信息
parameters:
- description: 设备模板ID
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.DeviceTemplateResponse'
type: object
summary: 获取设备模板信息
tags:
- 设备模板管理
put:
consumes:
- application/json
description: 根据设备模板ID更新一个已存在的设备模板信息
parameters:
- description: 设备模板ID
in: path
name: id
required: true
type: string
- description: 要更新的设备模板信息
in: body
name: deviceTemplate
required: true
schema:
$ref: '#/definitions/dto.UpdateDeviceTemplateRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.DeviceTemplateResponse'
type: object
summary: 更新设备模板信息
tags:
- 设备模板管理
/api/v1/devices:
get:
description: 获取系统中所有设备的列表
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
items:
$ref: '#/definitions/dto.DeviceResponse'
type: array
type: object
summary: 获取设备列表
tags:
- 设备管理
post:
consumes:
- application/json
description: 根据提供的信息创建一个新设备
parameters:
- description: 设备信息
in: body
name: device
required: true
schema:
$ref: '#/definitions/dto.CreateDeviceRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.DeviceResponse'
type: object
summary: 创建新设备
tags:
- 设备管理
/api/v1/devices/{id}:
delete:
description: 根据设备ID删除一个设备软删除
parameters:
- description: 设备ID
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/controller.Response'
summary: 删除设备
tags:
- 设备管理
get:
description: 根据设备ID获取单个设备的详细信息
parameters:
- description: 设备ID
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.DeviceResponse'
type: object
summary: 获取设备信息
tags:
- 设备管理
put:
consumes:
- application/json
description: 根据设备ID更新一个已存在的设备信息
parameters:
- description: 设备ID
in: path
name: id
required: true
type: string
- description: 要更新的设备信息
in: body
name: device
required: true
schema:
$ref: '#/definitions/dto.UpdateDeviceRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.DeviceResponse'
type: object
summary: 更新设备信息
tags:
- 设备管理
/api/v1/pens:
get:
description: 获取所有猪栏的列表
produces:
- application/json
responses:
"200":
description: 获取成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
items:
$ref: '#/definitions/dto.PenResponse'
type: array
type: object
summary: 获取猪栏列表
tags:
- 猪场管理
post:
consumes:
- application/json
description: 创建一个新的猪栏
parameters:
- description: 猪栏信息
in: body
name: body
required: true
schema:
$ref: '#/definitions/dto.CreatePenRequest'
produces:
- application/json
responses:
"201":
description: 创建成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.PenResponse'
type: object
summary: 创建猪栏
tags:
- 猪场管理
/api/v1/pens/{id}:
delete:
description: 根据ID删除一个猪栏
parameters:
- description: 猪栏ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 删除成功
schema:
$ref: '#/definitions/controller.Response'
summary: 删除猪栏
tags:
- 猪场管理
get:
description: 根据ID获取单个猪栏信息
parameters:
- description: 猪栏ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 获取成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.PenResponse'
type: object
summary: 获取单个猪栏
tags:
- 猪场管理
put:
consumes:
- application/json
description: 更新一个已存在的猪栏信息
parameters:
- description: 猪栏ID
in: path
name: id
required: true
type: integer
- description: 猪栏信息
in: body
name: body
required: true
schema:
$ref: '#/definitions/dto.UpdatePenRequest'
produces:
- application/json
responses:
"200":
description: 更新成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.PenResponse'
type: object
summary: 更新猪栏
tags:
- 猪场管理
/api/v1/pens/{id}/status:
put:
consumes:
- application/json
description: 更新指定猪栏的当前状态
parameters:
- description: 猪栏ID
in: path
name: id
required: true
type: integer
- description: 新的猪栏状态
in: body
name: body
required: true
schema:
$ref: '#/definitions/dto.UpdatePenStatusRequest'
produces:
- application/json
responses:
"200":
description: 更新成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.PenResponse'
type: object
summary: 更新猪栏状态
tags:
- 猪场管理
/api/v1/pig-batches:
get:
description: 获取所有猪批次的列表,支持按活跃状态筛选
parameters:
- description: 是否活跃 (true/false)
in: query
name: is_active
type: boolean
produces:
- application/json
responses:
"200":
description: 获取成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
items:
$ref: '#/definitions/dto.PigBatchResponseDTO'
type: array
type: object
summary: 获取猪批次列表
tags:
- 猪批次管理
post:
consumes:
- application/json
description: 创建一个新的猪批次
parameters:
- description: 猪批次信息
in: body
name: body
required: true
schema:
$ref: '#/definitions/dto.PigBatchCreateDTO'
produces:
- application/json
responses:
"201":
description: 创建成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.PigBatchResponseDTO'
type: object
summary: 创建猪批次
tags:
- 猪批次管理
/api/v1/pig-batches/{id}:
delete:
description: 根据ID删除一个猪批次
parameters:
- description: 猪批次ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 删除成功
schema:
$ref: '#/definitions/controller.Response'
summary: 删除猪批次
tags:
- 猪批次管理
get:
description: 根据ID获取单个猪批次信息
parameters:
- description: 猪批次ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 获取成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.PigBatchResponseDTO'
type: object
summary: 获取单个猪批次
tags:
- 猪批次管理
put:
consumes:
- application/json
description: 更新一个已存在的猪批次信息
parameters:
- description: 猪批次ID
in: path
name: id
required: true
type: integer
- description: 猪批次信息
in: body
name: body
required: true
schema:
$ref: '#/definitions/dto.PigBatchUpdateDTO'
produces:
- application/json
responses:
"200":
description: 更新成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.PigBatchResponseDTO'
type: object
summary: 更新猪批次
tags:
- 猪批次管理
/api/v1/pig-batches/{id}/pens:
put:
consumes:
- application/json
description: 更新指定猪批次当前关联的猪栏列表
parameters:
- description: 猪批次ID
in: path
name: id
required: true
type: integer
- description: 猪批次关联的猪栏ID列表
in: body
name: body
required: true
schema:
$ref: '#/definitions/dto.PigBatchUpdatePensRequest'
produces:
- application/json
responses:
"200":
description: 更新成功
schema:
$ref: '#/definitions/controller.Response'
summary: 更新猪批次关联的猪栏
tags:
- 猪批次管理
/api/v1/pig-houses:
get:
description: 获取所有猪舍的列表
produces:
- application/json
responses:
"200":
description: 获取成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
items:
$ref: '#/definitions/dto.PigHouseResponse'
type: array
type: object
summary: 获取猪舍列表
tags:
- 猪场管理
post:
consumes:
- application/json
description: 创建一个新的猪舍
parameters:
- description: 猪舍信息
in: body
name: body
required: true
schema:
$ref: '#/definitions/dto.CreatePigHouseRequest'
produces:
- application/json
responses:
"201":
description: 创建成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.PigHouseResponse'
type: object
summary: 创建猪舍
tags:
- 猪场管理
/api/v1/pig-houses/{id}:
delete:
description: 根据ID删除一个猪舍
parameters:
- description: 猪舍ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 删除成功
schema:
$ref: '#/definitions/controller.Response'
summary: 删除猪舍
tags:
- 猪场管理
get:
description: 根据ID获取单个猪舍信息
parameters:
- description: 猪舍ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 获取成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.PigHouseResponse'
type: object
summary: 获取单个猪舍
tags:
- 猪场管理
put:
consumes:
- application/json
description: 更新一个已存在的猪舍信息
parameters:
- description: 猪舍ID
in: path
name: id
required: true
type: integer
- description: 猪舍信息
in: body
name: body
required: true
schema:
$ref: '#/definitions/dto.UpdatePigHouseRequest'
produces:
- application/json
responses:
"200":
description: 更新成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.PigHouseResponse'
type: object
summary: 更新猪舍
tags:
- 猪场管理
/api/v1/plans:
get:
description: 获取所有计划的列表
produces:
- application/json
responses:
"200":
description: 业务码为200代表成功获取列表
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
items:
$ref: '#/definitions/dto.PlanResponse'
type: array
type: object
summary: 获取计划列表
tags:
- 计划管理
post:
consumes:
- application/json
description: 创建一个新的计划,包括其基本信息和所有关联的子计划/任务。
parameters:
- description: 计划信息
in: body
name: plan
required: true
schema:
$ref: '#/definitions/dto.CreatePlanRequest'
produces:
- application/json
responses:
"200":
description: 业务码为201代表创建成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.PlanResponse'
type: object
summary: 创建计划
tags:
- 计划管理
/api/v1/plans/{id}:
delete:
description: 根据计划ID删除计划。软删除
parameters:
- description: 计划ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 业务码为200代表删除成功
schema:
$ref: '#/definitions/controller.Response'
summary: 删除计划
tags:
- 计划管理
get:
description: 根据计划ID获取单个计划的详细信息。
parameters:
- description: 计划ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 业务码为200代表成功获取
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.PlanResponse'
type: object
summary: 获取计划详情
tags:
- 计划管理
put:
consumes:
- application/json
description: 根据计划ID更新计划的详细信息。
parameters:
- description: 计划ID
in: path
name: id
required: true
type: integer
- description: 更新后的计划信息
in: body
name: plan
required: true
schema:
$ref: '#/definitions/dto.UpdatePlanRequest'
produces:
- application/json
responses:
"200":
description: 业务码为200代表更新成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.PlanResponse'
type: object
summary: 更新计划
tags:
- 计划管理
/api/v1/plans/{id}/start:
post:
description: 根据计划ID启动一个计划的执行。
parameters:
- description: 计划ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 业务码为200代表成功启动计划
schema:
$ref: '#/definitions/controller.Response'
summary: 启动计划
tags:
- 计划管理
/api/v1/plans/{id}/stop:
post:
description: 根据计划ID停止一个正在执行的计划。
parameters:
- description: 计划ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 业务码为200代表成功停止计划
schema:
$ref: '#/definitions/controller.Response'
summary: 停止计划
tags:
- 计划管理
/api/v1/users:
post:
consumes:
- application/json
description: 根据用户名和密码创建一个新的系统用户。
parameters:
- description: 用户信息
in: body
name: user
required: true
schema:
$ref: '#/definitions/dto.CreateUserRequest'
produces:
- application/json
responses:
"200":
description: 业务码为201代表创建成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.CreateUserResponse'
type: object
summary: 创建新用户
tags:
- 用户管理
/api/v1/users/{id}/history:
get:
description: 根据用户ID分页获取该用户的操作审计日志。
parameters:
- description: 用户ID
in: path
name: id
required: true
type: integer
- default: 1
description: 页码
in: query
name: page
type: integer
- default: 10
description: 每页大小
in: query
name: page_size
type: integer
- description: 按操作类型过滤
in: query
name: action_type
type: string
produces:
- application/json
responses:
"200":
description: 业务码为200代表成功获取
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListHistoryResponse'
type: object
summary: 获取指定用户的操作历史
tags:
- 用户管理
/api/v1/users/login:
post:
consumes:
- application/json
description: 用户可以使用用户名、邮箱、手机号、微信号或飞书账号进行登录,成功后返回 JWT 令牌。
parameters:
- description: 登录凭证
in: body
name: credentials
required: true
schema:
$ref: '#/definitions/dto.LoginRequest'
produces:
- application/json
responses:
"200":
description: 业务码为200代表登录成功
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.LoginResponse'
type: object
summary: 用户登录
tags:
- 用户管理
swagger: "2.0"