Files
pig-farm-controller/docs/swagger.yaml

5294 lines
128 KiB
YAML
Raw Normal View History

2025-10-03 23:59:25 +08:00
definitions:
controller.Response:
properties:
code:
allOf:
- $ref: '#/definitions/controller.ResponseCode'
description: 业务状态码
data:
2025-10-31 16:01:49 +08:00
description: 业务数据, omitempty表示如果为空则不序列化
2025-10-03 23:59:25 +08:00
message:
description: 提示信息
type: string
type: object
controller.ResponseCode:
enum:
- 2000
- 2001
- 4000
- 4001
2025-10-29 17:52:07 +08:00
- 4003
2025-10-03 23:59:25 +08:00
- 4004
- 4009
- 5000
- 5003
type: integer
x-enum-comments:
CodeBadRequest: 请求参数错误
CodeConflict: 资源冲突
CodeCreated: 创建成功
2025-10-29 17:52:07 +08:00
CodeForbidden: 禁止访问
2025-10-03 23:59:25 +08:00
CodeInternalError: 服务器内部错误
CodeNotFound: 资源未找到
CodeServiceUnavailable: 服务不可用
CodeSuccess: 操作成功
CodeUnauthorized: 未授权
x-enum-descriptions:
- 操作成功
- 创建成功
- 请求参数错误
- 未授权
2025-10-29 17:52:07 +08:00
- 禁止访问
2025-10-03 23:59:25 +08:00
- 资源未找到
- 资源冲突
- 服务器内部错误
- 服务不可用
x-enum-varnames:
- CodeSuccess
- CodeCreated
- CodeBadRequest
- CodeUnauthorized
2025-10-29 17:52:07 +08:00
- CodeForbidden
2025-10-03 23:59:25 +08:00
- CodeNotFound
- CodeConflict
- CodeInternalError
- CodeServiceUnavailable
dto.ActiveAlarmDTO:
properties:
alarm_code:
$ref: '#/definitions/models.AlarmCode'
alarm_details:
type: string
alarm_summary:
type: string
created_at:
type: string
id:
type: integer
ignored_until:
type: string
is_ignored:
type: boolean
last_notified_at:
type: string
level:
$ref: '#/definitions/models.SeverityLevel'
source_id:
type: integer
source_type:
$ref: '#/definitions/models.AlarmSourceType'
trigger_time:
type: string
updated_at:
type: string
type: object
2025-10-03 23:59:25 +08:00
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
2025-11-10 19:18:49 +08:00
dto.AreaThresholdAlarmDTO:
properties:
area_controller_id:
type: integer
id:
type: integer
level:
$ref: '#/definitions/models.SeverityLevel'
operator:
$ref: '#/definitions/models.Operator'
sensor_type:
$ref: '#/definitions/models.SensorType'
thresholds:
type: number
type: object
2025-10-06 23:10:58 +08:00
dto.AssignEmptyPensToBatchRequest:
2025-10-31 17:59:48 +08:00
properties:
2025-10-31 18:14:12 +08:00
pen_ids:
2025-10-31 17:59:48 +08:00
description: 待分配的猪栏ID列表
example:
- 1
- 2
- 3
items:
type: integer
minItems: 1
type: array
required:
2025-10-31 18:14:12 +08:00
- pen_ids
2025-10-06 23:10:58 +08:00
type: object
2025-10-06 23:22:47 +08:00
dto.BuyPigsRequest:
properties:
2025-10-31 18:14:12 +08:00
pen_id:
2025-10-06 23:22:47 +08:00
description: 猪栏ID
type: integer
quantity:
description: 买入猪只数量
minimum: 1
type: integer
remarks:
description: 备注
type: string
2025-10-31 18:14:12 +08:00
total_price:
2025-10-06 23:22:47 +08:00
description: 总价
minimum: 0
type: number
2025-10-31 18:14:12 +08:00
trade_date:
2025-10-06 23:22:47 +08:00
description: 交易日期
type: string
2025-10-31 18:14:12 +08:00
trader_name:
2025-10-06 23:22:47 +08:00
description: 交易方名称
type: string
2025-10-31 18:14:12 +08:00
unit_price:
2025-10-06 23:22:47 +08:00
description: 单价
minimum: 0
type: number
required:
2025-10-31 18:14:12 +08:00
- pen_id
2025-10-06 23:22:47 +08:00
- quantity
2025-10-31 18:14:12 +08:00
- total_price
- trade_date
- trader_name
- unit_price
2025-10-06 23:22:47 +08:00
type: object
2025-10-03 23:59:25 +08:00
dto.CreateAreaControllerRequest:
properties:
location:
type: string
name:
type: string
network_id:
type: string
properties:
additionalProperties: true
type: object
required:
- name
- network_id
type: object
2025-11-10 19:18:49 +08:00
dto.CreateAreaThresholdAlarmDTO:
properties:
area_controller_id:
description: 区域主控ID
type: integer
level:
allOf:
- $ref: '#/definitions/models.SeverityLevel'
description: 告警等级,可选
operator:
allOf:
- $ref: '#/definitions/models.Operator'
description: 操作符
sensor_type:
allOf:
- $ref: '#/definitions/models.SensorType'
description: 传感器类型
thresholds:
description: 阈值
type: number
required:
- area_controller_id
- operator
- sensor_type
- thresholds
type: object
2025-10-03 23:59:25 +08:00
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
2025-11-10 19:18:49 +08:00
dto.CreateDeviceThresholdAlarmDTO:
properties:
device_id:
description: 设备ID
type: integer
level:
allOf:
- $ref: '#/definitions/models.SeverityLevel'
description: 告警等级,可选,如果未提供则使用默认值
operator:
allOf:
- $ref: '#/definitions/models.Operator'
description: 操作符 (使用string类型与前端交互更通用)
sensor_type:
allOf:
- $ref: '#/definitions/models.SensorType'
description: 传感器类型
thresholds:
description: 阈值
type: number
required:
- device_id
- operator
- sensor_type
- thresholds
type: object
2025-10-03 23:59:25 +08:00
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
2025-10-31 16:01:49 +08:00
minimum: 0
2025-10-03 23:59:25 +08:00
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
2025-11-10 19:18:49 +08:00
dto.DeleteDeviceThresholdAlarmDTO:
properties:
sensor_type:
allOf:
- $ref: '#/definitions/models.SensorType'
description: 传感器类型
required:
- sensor_type
type: object
2025-10-19 20:24:01 +08:00
dto.DeviceCommandLogDTO:
properties:
acknowledged_at:
type: string
device_id:
type: integer
message_id:
type: string
received_success:
type: boolean
sent_at:
type: string
type: object
2025-10-03 23:59:25 +08:00
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
2025-11-10 19:18:49 +08:00
dto.DeviceThresholdAlarmDTO:
properties:
device_id:
type: integer
id:
type: integer
level:
$ref: '#/definitions/models.SeverityLevel'
operator:
$ref: '#/definitions/models.Operator'
sensor_type:
$ref: '#/definitions/models.SensorType'
thresholds:
type: number
type: object
2025-10-19 20:24:01 +08:00
dto.FeedFormulaDTO:
properties:
id:
type: integer
name:
type: string
type: object
dto.FeedUsageRecordDTO:
properties:
amount:
type: number
feed_formula:
$ref: '#/definitions/dto.FeedFormulaDTO'
feed_formula_id:
type: integer
id:
type: integer
operator_id:
type: integer
pen:
$ref: '#/definitions/dto.PenDTO'
pen_id:
type: integer
recorded_at:
type: string
remarks:
type: string
type: object
dto.HistoricalAlarmDTO:
properties:
alarm_code:
$ref: '#/definitions/models.AlarmCode'
alarm_summary:
type: string
id:
type: integer
2025-11-16 16:30:26 +08:00
json_details:
type: string
level:
$ref: '#/definitions/models.SeverityLevel'
resolve_method:
type: string
resolve_time:
type: string
resolved_by:
type: integer
source_id:
type: integer
source_type:
$ref: '#/definitions/models.AlarmSourceType'
trigger_time:
type: string
type: object
dto.ListActiveAlarmResponse:
properties:
list:
items:
$ref: '#/definitions/dto.ActiveAlarmDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
2025-11-16 16:30:26 +08:00
dto.ListAreaThresholdAlarmResponse:
properties:
list:
items:
$ref: '#/definitions/dto.AreaThresholdAlarmDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
2025-10-19 20:24:01 +08:00
dto.ListDeviceCommandLogResponse:
properties:
list:
items:
$ref: '#/definitions/dto.DeviceCommandLogDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
2025-11-16 16:30:26 +08:00
dto.ListDeviceThresholdAlarmResponse:
properties:
list:
items:
$ref: '#/definitions/dto.DeviceThresholdAlarmDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
2025-10-19 20:24:01 +08:00
dto.ListFeedUsageRecordResponse:
properties:
list:
items:
$ref: '#/definitions/dto.FeedUsageRecordDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
dto.ListHistoricalAlarmResponse:
properties:
list:
items:
$ref: '#/definitions/dto.HistoricalAlarmDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
2025-10-19 20:24:01 +08:00
dto.ListMedicationLogResponse:
properties:
list:
items:
$ref: '#/definitions/dto.MedicationLogDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
2025-10-25 15:04:47 +08:00
dto.ListNotificationResponse:
properties:
list:
items:
$ref: '#/definitions/dto.NotificationDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
2025-10-19 20:24:01 +08:00
dto.ListPendingCollectionResponse:
properties:
list:
items:
$ref: '#/definitions/dto.PendingCollectionDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
dto.ListPigBatchLogResponse:
properties:
list:
items:
$ref: '#/definitions/dto.PigBatchLogDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
dto.ListPigPurchaseResponse:
properties:
list:
items:
$ref: '#/definitions/dto.PigPurchaseDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
dto.ListPigSaleResponse:
properties:
list:
items:
$ref: '#/definitions/dto.PigSaleDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
dto.ListPigSickLogResponse:
properties:
list:
items:
$ref: '#/definitions/dto.PigSickLogDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
dto.ListPigTransferLogResponse:
properties:
list:
items:
$ref: '#/definitions/dto.PigTransferLogDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
dto.ListPlanExecutionLogResponse:
properties:
list:
items:
$ref: '#/definitions/dto.PlanExecutionLogDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
2025-10-29 17:52:07 +08:00
dto.ListPlansResponse:
properties:
plans:
items:
$ref: '#/definitions/dto.PlanResponse'
type: array
total:
example: 100
type: integer
type: object
2025-10-19 20:24:01 +08:00
dto.ListRawMaterialPurchaseResponse:
properties:
list:
items:
$ref: '#/definitions/dto.RawMaterialPurchaseDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
dto.ListRawMaterialStockLogResponse:
properties:
list:
items:
$ref: '#/definitions/dto.RawMaterialStockLogDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
dto.ListSensorDataResponse:
properties:
list:
items:
$ref: '#/definitions/dto.SensorDataDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
dto.ListTaskExecutionLogResponse:
properties:
list:
items:
$ref: '#/definitions/dto.TaskExecutionLogDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
dto.ListUserActionLogResponse:
properties:
list:
items:
$ref: '#/definitions/dto.UserActionLogDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
dto.ListWeighingBatchResponse:
properties:
list:
items:
$ref: '#/definitions/dto.WeighingBatchDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
dto.ListWeighingRecordResponse:
properties:
list:
items:
$ref: '#/definitions/dto.WeighingRecordDTO'
type: array
pagination:
$ref: '#/definitions/dto.PaginationDTO'
type: object
2025-10-03 23:59:25 +08:00
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
2025-10-13 12:16:36 +08:00
dto.ManualControlDeviceRequest:
properties:
action:
description: Action 不传表示这是一个传感器, 会触发一次采集
type: string
type: object
2025-10-19 20:24:01 +08:00
dto.MedicationDTO:
properties:
id:
type: integer
name:
type: string
type: object
dto.MedicationLogDTO:
properties:
description:
type: string
dosage_used:
type: number
happened_at:
type: string
id:
type: integer
medication:
$ref: '#/definitions/dto.MedicationDTO'
medication_id:
type: integer
operator_id:
type: integer
pig_batch_id:
type: integer
reason:
$ref: '#/definitions/models.MedicationReasonType'
target_count:
type: integer
type: object
2025-10-06 23:10:58 +08:00
dto.MovePigsIntoPenRequest:
properties:
quantity:
description: 移入猪只数量
minimum: 1
type: integer
remarks:
description: 备注
type: string
2025-10-31 18:14:12 +08:00
to_pen_id:
2025-10-06 23:10:58 +08:00
description: 目标猪栏ID
type: integer
required:
- quantity
2025-10-31 18:14:12 +08:00
- to_pen_id
2025-10-06 23:10:58 +08:00
type: object
2025-10-25 15:04:47 +08:00
dto.NotificationDTO:
properties:
alarm_timestamp:
type: string
created_at:
type: string
error_message:
type: string
id:
type: integer
level:
$ref: '#/definitions/models.SeverityLevel'
2025-10-25 15:04:47 +08:00
message:
type: string
notifier_type:
$ref: '#/definitions/models.NotifierType'
2025-10-25 15:04:47 +08:00
status:
$ref: '#/definitions/models.NotificationStatus'
title:
type: string
to_address:
type: string
updated_at:
type: string
user_id:
type: integer
type: object
2025-10-19 20:24:01 +08:00
dto.PaginationDTO:
properties:
page:
type: integer
2025-10-31 17:59:48 +08:00
page_size:
2025-10-19 20:24:01 +08:00
type: integer
total:
type: integer
type: object
dto.PenDTO:
properties:
id:
type: integer
name:
type: string
type: object
2025-10-03 23:59:25 +08:00
dto.PenResponse:
properties:
capacity:
type: integer
current_pig_count:
type: integer
2025-10-03 23:59:25 +08:00
house_id:
type: integer
id:
type: integer
pen_number:
type: string
pig_batch_id:
type: integer
status:
$ref: '#/definitions/models.PenStatus'
type: object
2025-10-19 20:24:01 +08:00
dto.PendingCollectionDTO:
properties:
command_metadata:
items:
type: integer
type: array
correlation_id:
type: string
created_at:
type: string
device_id:
type: integer
fulfilled_at:
type: string
status:
$ref: '#/definitions/models.PendingCollectionStatus'
type: object
2025-10-03 23:59:25 +08:00
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
2025-10-19 20:24:01 +08:00
dto.PigBatchLogDTO:
properties:
after_count:
type: integer
before_count:
type: integer
change_count:
type: integer
change_type:
$ref: '#/definitions/models.LogChangeType'
created_at:
type: string
happened_at:
type: string
id:
type: integer
operator_id:
type: integer
pig_batch_id:
type: integer
reason:
type: string
updated_at:
type: string
type: object
2025-10-03 23:59:25 +08:00
dto.PigBatchResponseDTO:
properties:
batch_number:
description: 批次编号
type: string
create_time:
description: 创建时间
type: string
2025-10-31 18:14:12 +08:00
current_total_pigs_in_pens:
description: 当前存栏总数
type: integer
2025-10-31 18:14:12 +08:00
current_total_quantity:
description: 当前总数
type: integer
2025-10-03 23:59:25 +08:00
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.PigHouseResponse:
properties:
description:
type: string
id:
type: integer
name:
type: string
type: object
2025-10-19 20:24:01 +08:00
dto.PigPurchaseDTO:
properties:
created_at:
type: string
id:
type: integer
operator_id:
type: integer
pig_batch_id:
type: integer
purchase_date:
type: string
quantity:
type: integer
remarks:
type: string
supplier:
type: string
total_price:
type: number
unit_price:
type: number
updated_at:
type: string
type: object
dto.PigSaleDTO:
properties:
buyer:
type: string
created_at:
type: string
id:
type: integer
operator_id:
type: integer
pig_batch_id:
type: integer
quantity:
type: integer
remarks:
type: string
sale_date:
type: string
total_price:
type: number
unit_price:
type: number
updated_at:
type: string
type: object
dto.PigSickLogDTO:
properties:
after_count:
type: integer
before_count:
type: integer
change_count:
type: integer
created_at:
type: string
happened_at:
type: string
id:
type: integer
operator_id:
type: integer
pen_id:
type: integer
pig_batch_id:
type: integer
reason:
$ref: '#/definitions/models.PigBatchSickPigReasonType'
remarks:
type: string
treatment_location:
$ref: '#/definitions/models.PigBatchSickPigTreatmentLocation'
updated_at:
type: string
type: object
dto.PigTransferLogDTO:
properties:
correlation_id:
type: string
created_at:
type: string
id:
type: integer
operator_id:
type: integer
pen_id:
type: integer
pig_batch_id:
type: integer
quantity:
type: integer
remarks:
type: string
transfer_time:
type: string
type:
$ref: '#/definitions/models.PigTransferType'
updated_at:
type: string
type: object
dto.PlanExecutionLogDTO:
properties:
created_at:
type: string
ended_at:
type: string
error:
type: string
id:
type: integer
plan_id:
type: integer
2025-10-29 17:52:07 +08:00
plan_name:
type: string
2025-10-19 20:24:01 +08:00
started_at:
type: string
status:
$ref: '#/definitions/models.ExecutionStatus'
updated_at:
type: string
type: object
2025-10-03 23:59:25 +08:00
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
2025-10-29 17:52:07 +08:00
plan_type:
allOf:
- $ref: '#/definitions/models.PlanType'
example: 自定义任务
2025-10-03 23:59:25 +08:00
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
2025-10-19 20:24:01 +08:00
dto.RawMaterialDTO:
2025-10-06 23:10:58 +08:00
properties:
2025-10-19 20:24:01 +08:00
id:
2025-10-06 23:10:58 +08:00
type: integer
2025-10-19 20:24:01 +08:00
name:
2025-10-06 23:10:58 +08:00
type: string
type: object
2025-10-19 20:24:01 +08:00
dto.RawMaterialPurchaseDTO:
2025-10-06 23:22:47 +08:00
properties:
2025-10-19 20:24:01 +08:00
amount:
type: number
created_at:
type: string
id:
type: integer
purchase_date:
type: string
raw_material:
$ref: '#/definitions/dto.RawMaterialDTO'
raw_material_id:
type: integer
supplier:
type: string
total_price:
type: number
unit_price:
type: number
type: object
dto.RawMaterialStockLogDTO:
properties:
change_amount:
type: number
happened_at:
type: string
id:
type: integer
raw_material_id:
type: integer
remarks:
type: string
source_id:
type: integer
source_type:
$ref: '#/definitions/models.StockLogSourceType'
type: object
dto.ReclassifyPenToNewBatchRequest:
properties:
2025-10-31 18:14:12 +08:00
pen_id:
2025-10-19 20:24:01 +08:00
description: 待划拨的猪栏ID
type: integer
remarks:
description: 备注
type: string
2025-10-31 18:14:12 +08:00
to_batch_id:
2025-10-19 20:24:01 +08:00
description: 目标猪批次ID
type: integer
required:
2025-10-31 18:14:12 +08:00
- pen_id
- to_batch_id
2025-10-19 20:24:01 +08:00
type: object
dto.RecordCullRequest:
properties:
2025-10-31 18:14:12 +08:00
happened_at:
2025-10-19 20:24:01 +08:00
description: 发生时间
type: string
2025-10-31 18:14:12 +08:00
pen_id:
2025-10-06 23:22:47 +08:00
description: 猪栏ID
type: integer
quantity:
description: 淘汰猪数量
minimum: 1
type: integer
remarks:
description: 备注
type: string
required:
2025-10-31 18:14:12 +08:00
- happened_at
- pen_id
2025-10-06 23:22:47 +08:00
- quantity
type: object
dto.RecordDeathRequest:
properties:
2025-10-31 18:14:12 +08:00
happened_at:
2025-10-06 23:22:47 +08:00
description: 发生时间
type: string
2025-10-31 18:14:12 +08:00
pen_id:
2025-10-06 23:22:47 +08:00
description: 猪栏ID
type: integer
quantity:
description: 死亡猪数量
minimum: 1
type: integer
remarks:
description: 备注
type: string
required:
2025-10-31 18:14:12 +08:00
- happened_at
- pen_id
2025-10-06 23:22:47 +08:00
- quantity
type: object
dto.RecordSickPigCullRequest:
properties:
2025-10-31 18:14:12 +08:00
happened_at:
2025-10-06 23:22:47 +08:00
description: 发生时间
type: string
2025-10-31 18:14:12 +08:00
pen_id:
2025-10-06 23:22:47 +08:00
description: 猪栏ID
type: integer
quantity:
description: 淘汰猪数量
minimum: 1
type: integer
remarks:
description: 备注
type: string
2025-10-31 18:14:12 +08:00
treatment_location:
2025-10-06 23:22:47 +08:00
allOf:
- $ref: '#/definitions/models.PigBatchSickPigTreatmentLocation'
description: 治疗地点
required:
2025-10-31 18:14:12 +08:00
- happened_at
- pen_id
2025-10-06 23:22:47 +08:00
- quantity
2025-10-31 18:14:12 +08:00
- treatment_location
2025-10-06 23:22:47 +08:00
type: object
dto.RecordSickPigDeathRequest:
properties:
2025-10-31 18:14:12 +08:00
happened_at:
2025-10-06 23:22:47 +08:00
description: 发生时间
type: string
2025-10-31 18:14:12 +08:00
pen_id:
2025-10-06 23:22:47 +08:00
description: 猪栏ID
type: integer
quantity:
description: 死亡猪数量
minimum: 1
type: integer
remarks:
description: 备注
type: string
2025-10-31 18:14:12 +08:00
treatment_location:
2025-10-06 23:22:47 +08:00
allOf:
- $ref: '#/definitions/models.PigBatchSickPigTreatmentLocation'
description: 治疗地点
required:
2025-10-31 18:14:12 +08:00
- happened_at
- pen_id
2025-10-06 23:22:47 +08:00
- quantity
2025-10-31 18:14:12 +08:00
- treatment_location
2025-10-06 23:22:47 +08:00
type: object
dto.RecordSickPigRecoveryRequest:
properties:
2025-10-31 18:14:12 +08:00
happened_at:
2025-10-06 23:22:47 +08:00
description: 发生时间
type: string
2025-10-31 18:14:12 +08:00
pen_id:
2025-10-06 23:22:47 +08:00
description: 猪栏ID
type: integer
quantity:
description: 康复猪数量
minimum: 1
type: integer
remarks:
description: 备注
type: string
2025-10-31 18:14:12 +08:00
treatment_location:
2025-10-06 23:22:47 +08:00
allOf:
- $ref: '#/definitions/models.PigBatchSickPigTreatmentLocation'
description: 治疗地点
required:
2025-10-31 18:14:12 +08:00
- happened_at
- pen_id
2025-10-06 23:22:47 +08:00
- quantity
2025-10-31 18:14:12 +08:00
- treatment_location
2025-10-06 23:22:47 +08:00
type: object
dto.RecordSickPigsRequest:
properties:
2025-10-31 18:14:12 +08:00
happened_at:
2025-10-06 23:22:47 +08:00
description: 发生时间
type: string
2025-10-31 18:14:12 +08:00
pen_id:
2025-10-06 23:22:47 +08:00
description: 猪栏ID
type: integer
quantity:
description: 病猪数量
minimum: 1
type: integer
remarks:
description: 备注
type: string
2025-10-31 18:14:12 +08:00
treatment_location:
2025-10-06 23:22:47 +08:00
allOf:
- $ref: '#/definitions/models.PigBatchSickPigTreatmentLocation'
description: 治疗地点
required:
2025-10-31 18:14:12 +08:00
- happened_at
- pen_id
2025-10-06 23:22:47 +08:00
- quantity
2025-10-31 18:14:12 +08:00
- treatment_location
2025-10-06 23:22:47 +08:00
type: object
dto.SellPigsRequest:
properties:
2025-10-31 18:14:12 +08:00
pen_id:
2025-10-06 23:22:47 +08:00
description: 猪栏ID
type: integer
quantity:
description: 卖出猪只数量
minimum: 1
type: integer
remarks:
description: 备注
type: string
2025-10-31 18:14:12 +08:00
total_price:
2025-10-06 23:22:47 +08:00
description: 总价
minimum: 0
type: number
2025-10-31 18:14:12 +08:00
trade_date:
2025-10-06 23:22:47 +08:00
description: 交易日期
type: string
2025-10-31 18:14:12 +08:00
trader_name:
2025-10-06 23:22:47 +08:00
description: 交易方名称
type: string
2025-10-31 18:14:12 +08:00
unit_price:
2025-10-06 23:22:47 +08:00
description: 单价
minimum: 0
type: number
required:
2025-10-31 18:14:12 +08:00
- pen_id
2025-10-06 23:22:47 +08:00
- quantity
2025-10-31 18:14:12 +08:00
- total_price
- trade_date
- trader_name
- unit_price
2025-10-06 23:22:47 +08:00
type: object
dto.SendTestNotificationRequest:
properties:
type:
allOf:
- $ref: '#/definitions/models.NotifierType'
2025-10-24 21:38:52 +08:00
description: Type 指定要测试的通知渠道
required:
- type
type: object
2025-10-19 20:24:01 +08:00
dto.SensorDataDTO:
properties:
2025-11-10 21:32:18 +08:00
area_controller_id:
type: integer
2025-10-19 20:24:01 +08:00
data:
items:
type: integer
type: array
device_id:
type: integer
sensor_type:
$ref: '#/definitions/models.SensorType'
time:
type: string
type: object
dto.SnoozeAlarmRequest:
properties:
duration_minutes:
description: 忽略时长,单位分钟
minimum: 1
type: integer
required:
- duration_minutes
type: object
2025-10-03 23:59:25 +08:00
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
2025-10-19 20:24:01 +08:00
dto.TaskDTO:
properties:
description:
type: string
id:
type: integer
name:
type: string
type: object
dto.TaskExecutionLogDTO:
properties:
created_at:
type: string
ended_at:
type: string
id:
type: integer
output:
type: string
plan_execution_log_id:
type: integer
started_at:
type: string
status:
$ref: '#/definitions/models.ExecutionStatus'
task:
allOf:
- $ref: '#/definitions/dto.TaskDTO'
description: 嵌套的任务信息
task_id:
type: integer
updated_at:
type: string
type: object
2025-10-03 23:59:25 +08:00
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
2025-10-06 23:22:47 +08:00
dto.TransferPigsAcrossBatchesRequest:
properties:
2025-10-31 18:14:12 +08:00
dest_batch_id:
2025-10-06 23:22:47 +08:00
description: 目标猪批次ID
type: integer
2025-10-31 18:14:12 +08:00
from_pen_id:
2025-10-06 23:22:47 +08:00
description: 源猪栏ID
type: integer
quantity:
description: 调栏猪只数量
minimum: 1
type: integer
remarks:
description: 备注
type: string
2025-10-31 18:14:12 +08:00
to_pen_id:
2025-10-06 23:22:47 +08:00
description: 目标猪栏ID
type: integer
required:
2025-10-31 18:14:12 +08:00
- dest_batch_id
- from_pen_id
2025-10-06 23:22:47 +08:00
- quantity
2025-10-31 18:14:12 +08:00
- to_pen_id
2025-10-06 23:22:47 +08:00
type: object
dto.TransferPigsWithinBatchRequest:
properties:
2025-10-31 18:14:12 +08:00
from_pen_id:
2025-10-06 23:22:47 +08:00
description: 源猪栏ID
type: integer
quantity:
description: 调栏猪只数量
minimum: 1
type: integer
remarks:
description: 备注
type: string
2025-10-31 18:14:12 +08:00
to_pen_id:
2025-10-06 23:22:47 +08:00
description: 目标猪栏ID
type: integer
required:
2025-10-31 18:14:12 +08:00
- from_pen_id
2025-10-06 23:22:47 +08:00
- quantity
2025-10-31 18:14:12 +08:00
- to_pen_id
2025-10-06 23:22:47 +08:00
type: object
2025-10-03 23:59:25 +08:00
dto.UpdateAreaControllerRequest:
properties:
location:
type: string
name:
type: string
network_id:
type: string
properties:
additionalProperties: true
type: object
required:
- name
- network_id
type: object
2025-11-10 19:18:49 +08:00
dto.UpdateAreaThresholdAlarmDTO:
properties:
level:
allOf:
- $ref: '#/definitions/models.SeverityLevel'
description: 新的告警等级,可选
operator:
allOf:
- $ref: '#/definitions/models.Operator'
description: 新的操作符
thresholds:
description: 新的阈值
type: number
required:
- operator
- thresholds
type: object
2025-10-03 23:59:25 +08:00
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
2025-11-10 19:18:49 +08:00
dto.UpdateDeviceThresholdAlarmDTO:
properties:
level:
allOf:
- $ref: '#/definitions/models.SeverityLevel'
description: 新的告警等级,可选
operator:
allOf:
- $ref: '#/definitions/models.Operator'
description: 新的操作符
thresholds:
description: 新的阈值
type: number
required:
- operator
- thresholds
type: object
2025-10-03 23:59:25 +08:00
dto.UpdatePenRequest:
properties:
capacity:
type: integer
house_id:
type: integer
pen_number:
type: string
status:
2025-10-04 01:31:35 +08:00
allOf:
- $ref: '#/definitions/models.PenStatus'
description: 添加oneof校验
enum:
- 空闲
- 使用中
- 病猪栏
- 康复栏
- 清洗消毒
- 维修中
2025-10-03 23:59:25 +08:00
required:
- capacity
- house_id
- pen_number
- status
type: object
2025-10-04 01:31:35 +08:00
dto.UpdatePenStatusRequest:
properties:
status:
allOf:
- $ref: '#/definitions/models.PenStatus'
enum:
- 空闲
- 使用中
- 病猪栏
- 康复栏
- 清洗消毒
- 维修中
example: 病猪栏
required:
- status
type: object
2025-10-03 23:59:25 +08:00
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
2025-10-31 16:01:49 +08:00
minimum: 0
2025-10-03 23:59:25 +08:00
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
2025-10-19 20:24:01 +08:00
dto.UserActionLogDTO:
properties:
action_type:
type: string
description:
type: string
http_method:
type: string
http_path:
type: string
id:
type: integer
result_details:
type: string
source_ip:
type: string
status:
$ref: '#/definitions/models.AuditStatus'
target_resource:
items:
type: integer
type: array
time:
type: string
user_id:
type: integer
username:
type: string
type: object
dto.WeighingBatchDTO:
properties:
created_at:
type: string
description:
type: string
id:
type: integer
pig_batch_id:
type: integer
updated_at:
type: string
weighing_time:
type: string
type: object
dto.WeighingRecordDTO:
properties:
created_at:
type: string
id:
type: integer
operator_id:
type: integer
pen_id:
type: integer
remark:
type: string
updated_at:
type: string
weighing_batch_id:
type: integer
weighing_time:
type: string
weight:
type: number
type: object
models.AlarmCode:
enum:
- 温度阈值
- 湿度阈值
- 重量阈值
- 电池电量阈值
- 信号强度阈值
- 设备离线
- 区域主控离线
type: string
x-enum-varnames:
- AlarmCodeTemperature
- AlarmCodeHumidity
- AlarmCodeWeight
- AlarmCodeBatteryLevel
- AlarmCodeSignalMetrics
- AlarmCodeDeviceOffline
- AlarmCodeAreaControllerOffline
models.AlarmSourceType:
enum:
- 普通设备
- 区域主控
- 系统
type: string
x-enum-varnames:
- AlarmSourceTypeDevice
- AlarmSourceTypeAreaController
- AlarmSourceTypeSystem
2025-10-19 20:24:01 +08:00
models.AuditStatus:
enum:
- 成功
- 失败
type: string
x-enum-varnames:
- AuditStatusSuccess
- AuditStatusFailed
2025-10-03 23:59:25 +08:00
models.DeviceCategory:
enum:
- 执行器
- 传感器
type: string
x-enum-varnames:
- CategoryActuator
- CategorySensor
2025-10-19 20:24:01 +08:00
models.ExecutionStatus:
enum:
- 已开始
- 已完成
- 失败
- 已取消
- 等待中
type: string
x-enum-comments:
ExecutionStatusCancelled: 执行取消
ExecutionStatusCompleted: 执行完成
ExecutionStatusFailed: 执行失败
ExecutionStatusStarted: 开始执行
ExecutionStatusWaiting: 等待执行 (用于预写日志)
x-enum-descriptions:
- 开始执行
- 执行完成
- 执行失败
- 执行取消
- 等待执行 (用于预写日志)
x-enum-varnames:
- ExecutionStatusStarted
- ExecutionStatusCompleted
- ExecutionStatusFailed
- ExecutionStatusCancelled
- ExecutionStatusWaiting
models.LogChangeType:
enum:
- 死亡
- 淘汰
- 销售
- 购买
- 转入
- 转出
- 盘点校正
type: string
x-enum-varnames:
- ChangeTypeDeath
- ChangeTypeCull
- ChangeTypeSale
- ChangeTypeBuy
- ChangeTypeTransferIn
- ChangeTypeTransferOut
- ChangeTypeCorrection
models.MedicationReasonType:
enum:
- 预防
- 治疗
- 保健
type: string
x-enum-varnames:
- ReasonTypePreventive
- ReasonTypeTreatment
- ReasonTypeHealthCare
2025-10-25 15:04:47 +08:00
models.NotificationStatus:
enum:
- 发送成功
- 发送失败
- 已跳过
type: string
x-enum-comments:
NotificationStatusFailed: 通知发送失败
NotificationStatusSkipped: 通知因某些原因被跳过(例如:用户未配置联系方式)
NotificationStatusSuccess: 通知已成功发送
x-enum-descriptions:
- 通知已成功发送
- 通知发送失败
- 通知因某些原因被跳过(例如:用户未配置联系方式)
x-enum-varnames:
- NotificationStatusSuccess
- NotificationStatusFailed
- NotificationStatusSkipped
models.NotifierType:
enum:
- 邮件
- 企业微信
- 飞书
- 日志
type: string
x-enum-varnames:
- NotifierTypeSMTP
- NotifierTypeWeChat
- NotifierTypeLark
- NotifierTypeLog
2025-11-10 19:18:49 +08:00
models.Operator:
enum:
- <
- <=
- '>'
- '>='
- =
- '!='
type: string
x-enum-varnames:
- OperatorLessThan
- OperatorLessThanOrEqualTo
- OperatorGreaterThan
- OperatorGreaterThanOrEqualTo
- OperatorEqualTo
- OperatorNotEqualTo
2025-10-03 23:59:25 +08:00
models.PenStatus:
enum:
- 空闲
2025-10-04 01:31:35 +08:00
- 使用中
2025-10-03 23:59:25 +08:00
- 病猪栏
- 康复栏
- 清洗消毒
- 维修中
type: string
x-enum-varnames:
- PenStatusEmpty
- PenStatusOccupied
- PenStatusSickPen
- PenStatusRecovering
- PenStatusCleaning
- PenStatusUnderMaint
2025-10-19 20:24:01 +08:00
models.PendingCollectionStatus:
enum:
- 等待中
- 已完成
- 已超时
type: string
x-enum-comments:
PendingStatusFulfilled: 已收到设备响应并成功处理
PendingStatusPending: 请求已发送,等待设备响应
PendingStatusTimedOut: 请求超时,未收到设备响应
x-enum-descriptions:
- 请求已发送,等待设备响应
- 已收到设备响应并成功处理
- 请求超时,未收到设备响应
x-enum-varnames:
- PendingStatusPending
- PendingStatusFulfilled
- PendingStatusTimedOut
2025-10-03 23:59:25 +08:00
models.PigBatchOriginType:
enum:
- 自繁
- 外购
type: string
x-enum-varnames:
- OriginTypeSelfFarrowed
- OriginTypePurchased
2025-10-19 20:24:01 +08:00
models.PigBatchSickPigReasonType:
enum:
- 患病
- 康复
- 死亡
- 淘汰
- 转入
- 转出
- 其他
type: string
x-enum-comments:
SickPigReasonTypeDeath: 猪只死亡
SickPigReasonTypeEliminate: 猪只淘汰
SickPigReasonTypeIllness: 猪只患病
SickPigReasonTypeOther: 其他原因
SickPigReasonTypeRecovery: 猪只康复
SickPigReasonTypeTransferIn: 病猪转入当前批次
SickPigReasonTypeTransferOut: 病猪转出当前批次 (例如转到其他批次或出售)
x-enum-descriptions:
- 猪只患病
- 猪只康复
- 猪只死亡
- 猪只淘汰
- 病猪转入当前批次
- 病猪转出当前批次 (例如转到其他批次或出售)
- 其他原因
x-enum-varnames:
- SickPigReasonTypeIllness
- SickPigReasonTypeRecovery
- SickPigReasonTypeDeath
- SickPigReasonTypeEliminate
- SickPigReasonTypeTransferIn
- SickPigReasonTypeTransferOut
- SickPigReasonTypeOther
2025-10-06 23:22:47 +08:00
models.PigBatchSickPigTreatmentLocation:
enum:
- 原地治疗
- 病猪栏治疗
type: string
x-enum-varnames:
- TreatmentLocationOnSite
- TreatmentLocationSickBay
2025-10-03 23:59:25 +08:00
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
2025-10-19 20:24:01 +08:00
models.PigTransferType:
enum:
- 群内调栏
- 跨群调栏
- 销售
- 死亡
- 淘汰
- 新购入
- 产房转入
type: string
x-enum-comments:
PigTransferTypeCrossBatch: 不同猪群间的调动
PigTransferTypeCull: 猪只淘汰
PigTransferTypeDeath: 猪只死亡
PigTransferTypeDeliveryRoomTransfor: 产房转入
PigTransferTypeInternal: 同一猪群内猪栏间的调动
PigTransferTypePurchase: 新购入猪只
PigTransferTypeSale: 猪只售出
x-enum-descriptions:
- 同一猪群内猪栏间的调动
- 不同猪群间的调动
- 猪只售出
- 猪只死亡
- 猪只淘汰
- 新购入猪只
- 产房转入
x-enum-varnames:
- PigTransferTypeInternal
- PigTransferTypeCrossBatch
- PigTransferTypeSale
- PigTransferTypeDeath
- PigTransferTypeCull
- PigTransferTypePurchase
- PigTransferTypeDeliveryRoomTransfor
2025-10-03 23:59:25 +08:00
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
2025-10-29 17:52:07 +08:00
models.PlanType:
enum:
- 自定义任务
- 系统任务
type: string
x-enum-varnames:
- PlanTypeCustom
- PlanTypeSystem
2025-10-03 23:59:25 +08:00
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.SeverityLevel:
enum:
- Debug
- Info
- Warn
- Error
- DPanic
- Panic
- Fatal
type: string
x-enum-varnames:
- DebugLevel
- InfoLevel
- WarnLevel
- ErrorLevel
- DPanicLevel
- PanicLevel
- FatalLevel
2025-10-19 20:24:01 +08:00
models.StockLogSourceType:
enum:
- 采购入库
- 饲喂出库
- 变质出库
- 售卖出库
- 杂用领取
- 手动盘点
type: string
x-enum-varnames:
- StockLogSourcePurchase
- StockLogSourceFeeding
- StockLogSourceDeteriorate
- StockLogSourceSale
- StockLogSourceMiscellaneous
- StockLogSourceManual
2025-10-03 23:59:25 +08:00
models.TaskType:
enum:
- 计划分析
- 等待
- 下料
2025-10-29 17:52:07 +08:00
- 全量采集
- 告警通知
2025-11-10 19:18:49 +08:00
- 设备阈值检查
- 区域阈值检查
2025-10-03 23:59:25 +08:00
type: string
x-enum-comments:
TaskPlanAnalysis: 解析Plan的Task列表并添加到待执行队列的特殊任务
TaskTypeAlarmNotification: 告警通知任务
2025-11-10 19:18:49 +08:00
TaskTypeAreaCollectorThresholdCheck: 区域阈值检查任务
TaskTypeDeviceThresholdCheck: 设备阈值检查任务
2025-10-29 17:52:07 +08:00
TaskTypeFullCollection: 新增的全量采集任务
2025-10-03 23:59:25 +08:00
TaskTypeReleaseFeedWeight: 下料口释放指定重量任务
TaskTypeWaiting: 等待任务
x-enum-descriptions:
- 解析Plan的Task列表并添加到待执行队列的特殊任务
- 等待任务
- 下料口释放指定重量任务
2025-10-29 17:52:07 +08:00
- 新增的全量采集任务
- 告警通知任务
2025-11-10 19:18:49 +08:00
- 设备阈值检查任务
- 区域阈值检查任务
2025-10-03 23:59:25 +08:00
x-enum-varnames:
- TaskPlanAnalysis
- TaskTypeWaiting
- TaskTypeReleaseFeedWeight
2025-10-29 17:52:07 +08:00
- TaskTypeFullCollection
- TaskTypeAlarmNotification
2025-11-10 19:18:49 +08:00
- TaskTypeDeviceThresholdCheck
- TaskTypeAreaCollectorThresholdCheck
2025-10-03 23:59:25 +08:00
models.ValueDescriptor:
properties:
multiplier:
description: 乘数,用于原始数据转换
type: number
offset:
description: 偏移量,用于原始数据转换
type: number
type:
$ref: '#/definitions/models.SensorType'
type: object
2025-10-29 18:56:05 +08:00
repository.PlanTypeFilter:
enum:
- 所有任务
- 自定义任务
- 系统任务
type: string
x-enum-varnames:
- PlanTypeFilterAll
- PlanTypeFilterCustom
- PlanTypeFilterSystem
2025-10-25 15:04:47 +08:00
zapcore.Level:
enum:
- -1
- 0
- 1
- 2
- 3
- 4
- 5
- -1
- 5
- 6
2025-11-10 22:23:31 +08:00
- 7
2025-10-25 15:04:47 +08:00
format: int32
type: integer
x-enum-varnames:
- DebugLevel
- InfoLevel
- WarnLevel
- ErrorLevel
- DPanicLevel
- PanicLevel
- FatalLevel
- _minLevel
- _maxLevel
- InvalidLevel
2025-11-10 22:23:31 +08:00
- _numLevels
2025-10-03 23:59:25 +08:00
info:
2025-10-13 14:15:38 +08:00
contact:
email: divano@example.com
name: Divano
url: http://www.example.com
description: 这是一个用于管理猪场设备的后端服务。
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
title: 猪场管理系统 API
version: "1.0"
2025-10-03 23:59:25 +08:00
paths:
/api/v1/alarm/threshold/{id}/cancel-snooze:
post:
consumes:
- application/json
description: 根据告警ID取消对一个阈值告警的忽略状态
parameters:
- description: 告警ID
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: 成功取消忽略告警
schema:
$ref: '#/definitions/controller.Response'
security:
- BearerAuth: []
summary: 取消忽略阈值告警
tags:
- 告警管理
/api/v1/alarm/threshold/{id}/snooze:
post:
consumes:
- application/json
description: 根据告警ID忽略一个活跃的阈值告警或更新其忽略时间
parameters:
- description: 告警ID
in: path
name: id
required: true
type: string
- description: 忽略告警请求体
in: body
name: request
required: true
schema:
$ref: '#/definitions/dto.SnoozeAlarmRequest'
produces:
- application/json
responses:
"200":
description: 成功忽略告警
schema:
$ref: '#/definitions/controller.Response'
security:
- BearerAuth: []
summary: 忽略阈值告警
tags:
- 告警管理
/api/v1/alarm/threshold/active-alarms:
get:
consumes:
- application/json
description: 根据过滤条件和分页参数查询活跃告警列表
parameters:
- description: 告警触发时间范围 - 结束时间
in: query
name: end_time
type: string
- description: 按是否被忽略过滤
in: query
name: is_ignored
type: boolean
- description: 按告警严重性等级过滤
enum:
- Debug
- Info
- Warn
- Error
- DPanic
- Panic
- Fatal
in: query
name: level
type: string
x-enum-varnames:
- DebugLevel
- InfoLevel
- WarnLevel
- ErrorLevel
- DPanicLevel
- PanicLevel
- FatalLevel
- description: 排序字段,例如 "trigger_time DESC"
in: query
name: order_by
type: string
- in: query
name: page
type: integer
- in: query
name: page_size
type: integer
- description: 按告警来源ID过滤
in: query
name: source_id
type: integer
- description: 按告警来源类型过滤
enum:
- 普通设备
- 区域主控
- 系统
in: query
name: source_type
type: string
x-enum-varnames:
- AlarmSourceTypeDevice
- AlarmSourceTypeAreaController
- AlarmSourceTypeSystem
- description: 告警触发时间范围 - 开始时间
in: query
name: trigger_time
type: string
produces:
- application/json
responses:
"200":
description: 成功获取活跃告警列表
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListActiveAlarmResponse'
type: object
security:
- BearerAuth: []
summary: 批量查询活跃告警
tags:
- 告警管理
2025-11-10 19:18:49 +08:00
/api/v1/alarm/threshold/area:
2025-11-16 16:30:26 +08:00
get:
consumes:
- application/json
description: 根据过滤条件和分页参数查询区域阈值告警列表
parameters:
- description: 按区域主控ID过滤
in: query
name: area_controller_id
type: integer
- description: 按告警等级过滤
enum:
- Debug
- Info
- Warn
- Error
- DPanic
- Panic
- Fatal
in: query
name: level
type: string
x-enum-varnames:
- DebugLevel
- InfoLevel
- WarnLevel
- ErrorLevel
- DPanicLevel
- PanicLevel
- FatalLevel
- description: 排序字段,例如 "id DESC"
in: query
name: order_by
type: string
- in: query
name: page
type: integer
- in: query
name: page_size
type: integer
- description: 按传感器类型过滤
enum:
- 信号强度
- 电池电量
- 温度
- 湿度
- 重量
in: query
name: sensor_type
type: string
x-enum-comments:
SensorTypeBatteryLevel: 电池电量
SensorTypeHumidity: 湿度
SensorTypeSignalMetrics: 信号强度
SensorTypeTemperature: 温度
SensorTypeWeight: 重量
x-enum-descriptions:
- 信号强度
- 电池电量
- 温度
- 湿度
- 重量
x-enum-varnames:
- SensorTypeSignalMetrics
- SensorTypeBatteryLevel
- SensorTypeTemperature
- SensorTypeHumidity
- SensorTypeWeight
produces:
- application/json
responses:
"200":
description: 成功获取区域阈值告警列表
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListAreaThresholdAlarmResponse'
type: object
security:
- BearerAuth: []
summary: 批量查询区域阈值告警
tags:
- 告警管理
2025-11-10 19:18:49 +08:00
post:
consumes:
- application/json
description: 为指定的区域主控创建一个新的阈值告警规则
parameters:
- description: 创建区域阈值告警请求体
in: body
name: request
required: true
schema:
$ref: '#/definitions/dto.CreateAreaThresholdAlarmDTO'
produces:
- application/json
responses:
"200":
description: 成功创建区域阈值告警
schema:
$ref: '#/definitions/controller.Response'
security:
- BearerAuth: []
summary: 创建区域阈值告警
tags:
- 告警管理
/api/v1/alarm/threshold/area/{task_id}:
delete:
description: 根据任务ID删除区域阈值告警规则
parameters:
- description: 任务ID
in: path
name: task_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 成功删除区域阈值告警
schema:
$ref: '#/definitions/controller.Response'
security:
- BearerAuth: []
summary: 删除区域阈值告警
tags:
- 告警管理
get:
description: 根据任务ID获取单个区域阈值告警规则的详细信息
parameters:
- description: 任务ID
in: path
name: task_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 成功获取区域阈值告警
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.AreaThresholdAlarmDTO'
type: object
security:
- BearerAuth: []
summary: 获取区域阈值告警
tags:
- 告警管理
put:
consumes:
- application/json
description: 根据任务ID更新已存在的区域阈值告警规则
parameters:
- description: 任务ID
in: path
name: task_id
required: true
type: integer
- description: 更新区域阈值告警请求体
in: body
name: request
required: true
schema:
$ref: '#/definitions/dto.UpdateAreaThresholdAlarmDTO'
produces:
- application/json
responses:
"200":
description: 成功更新区域阈值告警
schema:
$ref: '#/definitions/controller.Response'
security:
- BearerAuth: []
summary: 更新区域阈值告警
tags:
- 告警管理
/api/v1/alarm/threshold/device:
2025-11-16 16:30:26 +08:00
get:
consumes:
- application/json
description: 根据过滤条件和分页参数查询设备阈值告警列表
parameters:
- description: 按设备ID过滤
in: query
name: device_id
type: integer
- description: 按告警等级过滤
enum:
- Debug
- Info
- Warn
- Error
- DPanic
- Panic
- Fatal
in: query
name: level
type: string
x-enum-varnames:
- DebugLevel
- InfoLevel
- WarnLevel
- ErrorLevel
- DPanicLevel
- PanicLevel
- FatalLevel
- description: 排序字段,例如 "id DESC"
in: query
name: order_by
type: string
- in: query
name: page
type: integer
- in: query
name: page_size
type: integer
- description: 按传感器类型过滤
enum:
- 信号强度
- 电池电量
- 温度
- 湿度
- 重量
in: query
name: sensor_type
type: string
x-enum-comments:
SensorTypeBatteryLevel: 电池电量
SensorTypeHumidity: 湿度
SensorTypeSignalMetrics: 信号强度
SensorTypeTemperature: 温度
SensorTypeWeight: 重量
x-enum-descriptions:
- 信号强度
- 电池电量
- 温度
- 湿度
- 重量
x-enum-varnames:
- SensorTypeSignalMetrics
- SensorTypeBatteryLevel
- SensorTypeTemperature
- SensorTypeHumidity
- SensorTypeWeight
produces:
- application/json
responses:
"200":
description: 成功获取设备阈值告警列表
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListDeviceThresholdAlarmResponse'
type: object
security:
- BearerAuth: []
summary: 批量查询设备阈值告警
tags:
- 告警管理
2025-11-10 19:18:49 +08:00
post:
consumes:
- application/json
description: 为单个设备创建一条新的阈值告警规则
parameters:
- description: 创建设备阈值告警请求体
in: body
name: request
required: true
schema:
$ref: '#/definitions/dto.CreateDeviceThresholdAlarmDTO'
produces:
- application/json
responses:
"200":
description: 成功创建设备阈值告警
schema:
$ref: '#/definitions/controller.Response'
security:
- BearerAuth: []
summary: 创建设备阈值告警
tags:
- 告警管理
/api/v1/alarm/threshold/device/{task_id}:
delete:
consumes:
- application/json
description: 根据任务ID删除设备阈值告警规则
parameters:
- description: 任务ID
in: path
name: task_id
required: true
type: integer
- description: 删除设备阈值告警请求体
in: body
name: request
required: true
schema:
$ref: '#/definitions/dto.DeleteDeviceThresholdAlarmDTO'
produces:
- application/json
responses:
"200":
description: 成功删除设备阈值告警
schema:
$ref: '#/definitions/controller.Response'
security:
- BearerAuth: []
summary: 删除设备阈值告警
tags:
- 告警管理
get:
description: 根据任务ID获取单个设备阈值告警规则的详细信息
parameters:
- description: 任务ID
in: path
name: task_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 成功获取设备阈值告警
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.DeviceThresholdAlarmDTO'
type: object
security:
- BearerAuth: []
summary: 获取设备阈值告警
tags:
- 告警管理
put:
consumes:
- application/json
description: 根据任务ID更新已存在的设备阈值告警规则
parameters:
- description: 任务ID
in: path
name: task_id
required: true
type: integer
- description: 更新设备阈值告警请求体
in: body
name: request
required: true
schema:
$ref: '#/definitions/dto.UpdateDeviceThresholdAlarmDTO'
produces:
- application/json
responses:
"200":
description: 成功更新设备阈值告警
schema:
$ref: '#/definitions/controller.Response'
security:
- BearerAuth: []
summary: 更新设备阈值告警
tags:
- 告警管理
/api/v1/alarm/threshold/historical-alarms:
get:
consumes:
- application/json
description: 根据过滤条件和分页参数查询历史告警列表
parameters:
- description: 按告警严重性等级过滤
enum:
- Debug
- Info
- Warn
- Error
- DPanic
- Panic
- Fatal
in: query
name: level
type: string
x-enum-varnames:
- DebugLevel
- InfoLevel
- WarnLevel
- ErrorLevel
- DPanicLevel
- PanicLevel
- FatalLevel
- description: 排序字段,例如 "trigger_time DESC"
in: query
name: order_by
type: string
- in: query
name: page
type: integer
- in: query
name: page_size
type: integer
- description: 告警解决时间范围 - 结束时间
in: query
name: resolve_time_end
type: string
- description: 告警解决时间范围 - 开始时间
in: query
name: resolve_time_start
type: string
- description: 按告警来源ID过滤
in: query
name: source_id
type: integer
- description: 按告警来源类型过滤
enum:
- 普通设备
- 区域主控
- 系统
in: query
name: source_type
type: string
x-enum-varnames:
- AlarmSourceTypeDevice
- AlarmSourceTypeAreaController
- AlarmSourceTypeSystem
- description: 告警触发时间范围 - 结束时间
in: query
name: trigger_time_end
type: string
- description: 告警触发时间范围 - 开始时间
in: query
name: trigger_time_start
type: string
produces:
- application/json
responses:
"200":
description: 成功获取历史告警列表
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListHistoricalAlarmResponse'
type: object
security:
- BearerAuth: []
summary: 批量查询历史告警
tags:
- 告警管理
2025-10-03 23:59:25 +08:00
/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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
summary: 更新设备信息
tags:
- 设备管理
2025-10-13 12:16:36 +08:00
/api/v1/devices/manual-control/{id}:
post:
consumes:
- application/json
description: 根据设备ID和指定的动作开启或关闭来手动控制设备
parameters:
- description: 设备ID
in: path
name: id
required: true
type: string
- description: 手动控制指令
in: body
name: manualControl
required: true
schema:
$ref: '#/definitions/dto.ManualControlDeviceRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-13 12:16:36 +08:00
summary: 手动控制设备
tags:
- 设备管理
2025-10-19 20:24:01 +08:00
/api/v1/monitor/device-command-logs:
get:
description: 根据提供的过滤条件,分页获取设备命令日志
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: device_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: received_success
2025-10-19 20:24:01 +08:00
type: boolean
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListDeviceCommandLogResponse'
type: object
security:
- BearerAuth: []
summary: 获取设备命令日志列表
tags:
- 数据监控
/api/v1/monitor/feed-usage-records:
get:
description: 根据提供的过滤条件,分页获取饲料使用记录
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: feed_formula_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: operator_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: pen_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListFeedUsageRecordResponse'
type: object
security:
- BearerAuth: []
summary: 获取饲料使用记录列表
tags:
- 数据监控
/api/v1/monitor/medication-logs:
get:
description: 根据提供的过滤条件,分页获取用药记录
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: medication_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: operator_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: pig_batch_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
name: reason
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListMedicationLogResponse'
type: object
security:
- BearerAuth: []
summary: 获取用药记录列表
tags:
- 数据监控
2025-10-25 15:04:47 +08:00
/api/v1/monitor/notifications:
get:
description: 根据提供的过滤条件,分页获取通知列表
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-25 15:04:47 +08:00
type: string
- enum:
- -1
- 0
- 1
- 2
- 3
- 4
- 5
- -1
- 5
- 6
2025-11-10 22:23:31 +08:00
- 7
2025-10-25 15:04:47 +08:00
format: int32
in: query
name: level
type: integer
x-enum-varnames:
- DebugLevel
- InfoLevel
- WarnLevel
- ErrorLevel
- DPanicLevel
- PanicLevel
- FatalLevel
- _minLevel
- _maxLevel
- InvalidLevel
2025-11-10 22:23:31 +08:00
- _numLevels
2025-10-25 15:04:47 +08:00
- enum:
- 邮件
- 企业微信
- 飞书
- 日志
in: query
2025-10-31 18:14:12 +08:00
name: notifier_type
2025-10-25 15:04:47 +08:00
type: string
x-enum-varnames:
- NotifierTypeSMTP
- NotifierTypeWeChat
- NotifierTypeLark
- NotifierTypeLog
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-25 15:04:47 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-25 15:04:47 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-25 15:04:47 +08:00
type: string
- enum:
- 发送成功
- 发送失败
- 已跳过
in: query
name: status
type: string
x-enum-comments:
NotificationStatusFailed: 通知发送失败
NotificationStatusSkipped: 通知因某些原因被跳过(例如:用户未配置联系方式)
NotificationStatusSuccess: 通知已成功发送
x-enum-descriptions:
- 通知已成功发送
- 通知发送失败
- 通知因某些原因被跳过(例如:用户未配置联系方式)
x-enum-varnames:
- NotificationStatusSuccess
- NotificationStatusFailed
- NotificationStatusSkipped
- in: query
2025-10-31 18:14:12 +08:00
name: user_id
2025-10-25 15:04:47 +08:00
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListNotificationResponse'
type: object
security:
- BearerAuth: []
summary: 批量查询通知
tags:
- 数据监控
2025-10-19 20:24:01 +08:00
/api/v1/monitor/pending-collections:
get:
description: 根据提供的过滤条件,分页获取待采集请求
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: device_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: status
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListPendingCollectionResponse'
type: object
security:
- BearerAuth: []
summary: 获取待采集请求列表
tags:
- 数据监控
/api/v1/monitor/pig-batch-logs:
get:
description: 根据提供的过滤条件,分页获取猪批次日志
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: change_type
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: operator_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: pig_batch_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListPigBatchLogResponse'
type: object
security:
- BearerAuth: []
summary: 获取猪批次日志列表
tags:
- 数据监控
/api/v1/monitor/pig-purchases:
get:
description: 根据提供的过滤条件,分页获取猪只采购记录
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: operator_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: pig_batch_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: supplier
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListPigPurchaseResponse'
type: object
security:
- BearerAuth: []
summary: 获取猪只采购记录列表
tags:
- 数据监控
/api/v1/monitor/pig-sales:
get:
description: 根据提供的过滤条件,分页获取猪只售卖记录
parameters:
- in: query
name: buyer
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: operator_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: pig_batch_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListPigSaleResponse'
type: object
security:
- BearerAuth: []
summary: 获取猪只售卖记录列表
tags:
- 数据监控
/api/v1/monitor/pig-sick-logs:
get:
description: 根据提供的过滤条件,分页获取病猪日志
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: operator_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: pen_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: pig_batch_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
name: reason
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: treatment_location
2025-10-19 20:24:01 +08:00
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListPigSickLogResponse'
type: object
security:
- BearerAuth: []
summary: 获取病猪日志列表
tags:
- 数据监控
/api/v1/monitor/pig-transfer-logs:
get:
description: 根据提供的过滤条件,分页获取猪只迁移日志
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: correlation_id
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: operator_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: pen_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: pig_batch_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: transfer_type
2025-10-19 20:24:01 +08:00
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListPigTransferLogResponse'
type: object
security:
- BearerAuth: []
summary: 获取猪只迁移日志列表
tags:
- 数据监控
/api/v1/monitor/plan-execution-logs:
get:
description: 根据提供的过滤条件,分页获取计划执行日志
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: plan_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: status
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListPlanExecutionLogResponse'
type: object
security:
- BearerAuth: []
summary: 获取计划执行日志列表
tags:
- 数据监控
/api/v1/monitor/raw-material-purchases:
get:
description: 根据提供的过滤条件,分页获取原料采购记录
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: raw_material_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: supplier
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListRawMaterialPurchaseResponse'
type: object
security:
- BearerAuth: []
summary: 获取原料采购记录列表
tags:
- 数据监控
/api/v1/monitor/raw-material-stock-logs:
get:
description: 根据提供的过滤条件,分页获取原料库存日志
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: raw_material_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: source_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: source_type
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListRawMaterialStockLogResponse'
type: object
security:
- BearerAuth: []
summary: 获取原料库存日志列表
tags:
- 数据监控
/api/v1/monitor/sensor-data:
get:
description: 根据提供的过滤条件,分页获取传感器数据
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: device_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: sensor_type
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListSensorDataResponse'
type: object
security:
- BearerAuth: []
summary: 获取传感器数据列表
tags:
- 数据监控
/api/v1/monitor/task-execution-logs:
get:
description: 根据提供的过滤条件,分页获取任务执行日志
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: plan_execution_log_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: status
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: task_id
2025-10-19 20:24:01 +08:00
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListTaskExecutionLogResponse'
type: object
security:
- BearerAuth: []
summary: 获取任务执行日志列表
tags:
- 数据监控
/api/v1/monitor/user-action-logs:
get:
description: 根据提供的过滤条件,分页获取用户操作日志
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: action_type
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: status
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: user_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
name: username
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListUserActionLogResponse'
type: object
security:
- BearerAuth: []
summary: 获取用户操作日志列表
tags:
- 数据监控
/api/v1/monitor/weighing-batches:
get:
description: 根据提供的过滤条件,分页获取批次称重记录
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: pig_batch_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListWeighingBatchResponse'
type: object
security:
- BearerAuth: []
summary: 获取批次称重记录列表
tags:
- 数据监控
/api/v1/monitor/weighing-records:
get:
description: 根据提供的过滤条件,分页获取单次称重记录
parameters:
- in: query
2025-10-31 18:14:12 +08:00
name: end_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: operator_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: order_by
2025-10-19 20:24:01 +08:00
type: string
- in: query
name: page
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: pen_id
2025-10-19 20:24:01 +08:00
type: integer
- in: query
2025-10-31 18:14:12 +08:00
name: start_time
2025-10-19 20:24:01 +08:00
type: string
- in: query
2025-10-31 18:14:12 +08:00
name: weighing_batch_id
2025-10-19 20:24:01 +08:00
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
$ref: '#/definitions/dto.ListWeighingRecordResponse'
type: object
security:
- BearerAuth: []
summary: 获取单次称重记录列表
tags:
- 数据监控
2025-10-03 23:59:25 +08:00
/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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
summary: 更新猪栏
tags:
- 猪场管理
2025-10-04 01:31:35 +08:00
/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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-04 01:31:35 +08:00
summary: 更新猪栏状态
tags:
- 猪场管理
2025-10-03 23:59:25 +08:00
/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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
summary: 获取猪批次列表
tags:
2025-10-06 23:22:47 +08:00
- 猪群管理
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
summary: 创建猪批次
tags:
2025-10-06 23:22:47 +08:00
- 猪群管理
2025-10-03 23:59:25 +08:00
/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'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
summary: 删除猪批次
tags:
2025-10-06 23:22:47 +08:00
- 猪群管理
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
summary: 获取单个猪批次
tags:
2025-10-06 23:22:47 +08:00
- 猪群管理
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
summary: 更新猪批次
tags:
2025-10-06 23:22:47 +08:00
- 猪群管理
2025-10-13 12:16:36 +08:00
/api/v1/pig-batches/assign-pens/{id}:
2025-10-06 23:10:58 +08:00
post:
2025-10-04 00:47:27 +08:00
consumes:
- application/json
2025-10-06 23:10:58 +08:00
description: 将一个或多个空闲猪栏分配给指定的猪批次
2025-10-04 00:47:27 +08:00
parameters:
- description: 猪批次ID
in: path
name: id
required: true
type: integer
2025-10-06 23:10:58 +08:00
- description: 待分配的猪栏ID列表
2025-10-04 00:47:27 +08:00
in: body
name: body
required: true
schema:
2025-10-06 23:10:58 +08:00
$ref: '#/definitions/dto.AssignEmptyPensToBatchRequest'
2025-10-04 00:47:27 +08:00
produces:
- application/json
responses:
"200":
2025-10-06 23:10:58 +08:00
description: 分配成功
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-06 23:10:58 +08:00
summary: 为猪批次分配空栏
tags:
2025-10-06 23:22:47 +08:00
- 猪群管理
2025-10-13 12:16:36 +08:00
/api/v1/pig-batches/buy-pigs/{id}:
2025-10-06 23:22:47 +08:00
post:
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.BuyPigsRequest'
produces:
- application/json
responses:
"200":
description: 买猪成功
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-06 23:22:47 +08:00
summary: 处理买猪的业务逻辑
tags:
2025-10-13 12:16:36 +08:00
- 猪群管理
/api/v1/pig-batches/move-pigs-into-pen/{id}:
2025-10-06 23:10:58 +08:00
post:
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.MovePigsIntoPenRequest'
produces:
- application/json
responses:
"200":
description: 移入成功
2025-10-04 00:47:27 +08:00
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-06 23:10:58 +08:00
summary: 将猪只从“虚拟库存”移入指定猪栏
2025-10-04 00:47:27 +08:00
tags:
2025-10-06 23:22:47 +08:00
- 猪群管理
2025-10-13 12:16:36 +08:00
/api/v1/pig-batches/reclassify-pen/{fromBatchID}:
post:
consumes:
- application/json
description: 将一个猪栏(连同其中的猪只)从一个批次整体划拨到另一个批次
parameters:
- description: 源猪批次ID
in: path
name: fromBatchID
required: true
type: integer
- description: 划拨请求信息 (包含目标批次ID、猪栏ID和备注)
in: body
name: body
required: true
schema:
$ref: '#/definitions/dto.ReclassifyPenToNewBatchRequest'
produces:
- application/json
responses:
"200":
description: 划拨成功
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-13 12:16:36 +08:00
summary: 将猪栏划拨到新批次
tags:
- 猪群管理
/api/v1/pig-batches/record-cull/{id}:
2025-10-06 23:22:47 +08:00
post:
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.RecordCullRequest'
produces:
- application/json
responses:
"200":
description: 记录成功
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-06 23:22:47 +08:00
summary: 记录正常猪只淘汰事件
tags:
2025-10-13 12:16:36 +08:00
- 猪群管理
/api/v1/pig-batches/record-death/{id}:
2025-10-06 23:22:47 +08:00
post:
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.RecordDeathRequest'
produces:
- application/json
responses:
"200":
description: 记录成功
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-06 23:22:47 +08:00
summary: 记录正常猪只死亡事件
tags:
2025-10-13 12:16:36 +08:00
- 猪群管理
/api/v1/pig-batches/record-sick-pig-cull/{id}:
2025-10-06 23:22:47 +08:00
post:
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.RecordSickPigCullRequest'
produces:
- application/json
responses:
"200":
description: 记录成功
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-06 23:22:47 +08:00
summary: 记录病猪淘汰事件
tags:
2025-10-13 12:16:36 +08:00
- 猪群管理
/api/v1/pig-batches/record-sick-pig-death/{id}:
2025-10-06 23:22:47 +08:00
post:
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.RecordSickPigDeathRequest'
produces:
- application/json
responses:
"200":
description: 记录成功
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-06 23:22:47 +08:00
summary: 记录病猪死亡事件
tags:
2025-10-13 12:16:36 +08:00
- 猪群管理
/api/v1/pig-batches/record-sick-pig-recovery/{id}:
2025-10-06 23:22:47 +08:00
post:
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.RecordSickPigRecoveryRequest'
produces:
- application/json
responses:
"200":
description: 记录成功
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-06 23:22:47 +08:00
summary: 记录病猪康复事件
tags:
2025-10-13 12:16:36 +08:00
- 猪群管理
/api/v1/pig-batches/record-sick-pigs/{id}:
2025-10-06 23:22:47 +08:00
post:
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.RecordSickPigsRequest'
produces:
- application/json
responses:
"200":
description: 记录成功
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-06 23:22:47 +08:00
summary: 记录新增病猪事件
tags:
2025-10-13 12:16:36 +08:00
- 猪群管理
/api/v1/pig-batches/remove-pen/{penID}/{batchID}:
delete:
description: 将一个空闲猪栏从指定的猪批次中移除
parameters:
- description: 猪批次ID
in: path
name: batchID
required: true
type: integer
- description: 待移除的猪栏ID
in: path
name: penID
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 移除成功
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-13 12:16:36 +08:00
summary: 从猪批次移除空栏
tags:
- 猪群管理
/api/v1/pig-batches/sell-pigs/{id}:
2025-10-06 23:22:47 +08:00
post:
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.SellPigsRequest'
produces:
- application/json
responses:
"200":
description: 卖猪成功
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-06 23:22:47 +08:00
summary: 处理卖猪的业务逻辑
tags:
2025-10-13 12:16:36 +08:00
- 猪群管理
/api/v1/pig-batches/transfer-across-batches/{sourceBatchID}:
2025-10-06 23:22:47 +08:00
post:
consumes:
- application/json
2025-10-13 12:16:36 +08:00
description: 将指定数量的猪只从一个猪群的猪栏调动到另一个猪群的猪栏
2025-10-06 23:22:47 +08:00
parameters:
2025-10-13 12:16:36 +08:00
- description: 源猪批次ID
2025-10-06 23:22:47 +08:00
in: path
2025-10-13 12:16:36 +08:00
name: sourceBatchID
2025-10-06 23:22:47 +08:00
required: true
type: integer
2025-10-13 12:16:36 +08:00
- description: 跨群调栏请求信息
2025-10-06 23:22:47 +08:00
in: body
name: body
required: true
schema:
2025-10-13 12:16:36 +08:00
$ref: '#/definitions/dto.TransferPigsAcrossBatchesRequest'
2025-10-06 23:22:47 +08:00
produces:
- application/json
responses:
"200":
description: 调栏成功
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-13 12:16:36 +08:00
summary: 跨猪群调栏
2025-10-06 23:22:47 +08:00
tags:
2025-10-13 12:16:36 +08:00
- 猪群管理
/api/v1/pig-batches/transfer-within-batch/{id}:
2025-10-06 23:22:47 +08:00
post:
consumes:
- application/json
2025-10-13 12:16:36 +08:00
description: 将指定数量的猪只在同一个猪群的不同猪栏间调动
2025-10-06 23:22:47 +08:00
parameters:
2025-10-13 12:16:36 +08:00
- description: 猪批次ID
2025-10-06 23:22:47 +08:00
in: path
2025-10-13 12:16:36 +08:00
name: id
2025-10-06 23:22:47 +08:00
required: true
type: integer
2025-10-13 12:16:36 +08:00
- description: 群内调栏请求信息
2025-10-06 23:22:47 +08:00
in: body
name: body
required: true
schema:
2025-10-13 12:16:36 +08:00
$ref: '#/definitions/dto.TransferPigsWithinBatchRequest'
2025-10-06 23:22:47 +08:00
produces:
- application/json
responses:
"200":
description: 调栏成功
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-13 12:16:36 +08:00
summary: 群内调栏
2025-10-06 23:22:47 +08:00
tags:
2025-10-13 12:16:36 +08:00
- 猪群管理
2025-10-03 23:59:25 +08:00
/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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
summary: 获取猪舍列表
tags:
- 猪场管理
post:
consumes:
- application/json
2025-10-31 16:01:49 +08:00
description: 根据提供的信息创建一个新猪舍
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
summary: 更新猪舍
tags:
- 猪场管理
/api/v1/plans:
get:
2025-10-29 17:52:07 +08:00
description: 获取所有计划的列表,支持按类型过滤和分页
parameters:
- description: 页码
in: query
name: page
type: integer
- description: 每页大小
in: query
2025-10-31 18:14:12 +08:00
name: page_size
2025-10-29 17:52:07 +08:00
type: integer
2025-10-29 18:56:05 +08:00
- description: 计划类型
enum:
- 所有任务
- 自定义任务
- 系统任务
2025-10-29 17:52:07 +08:00
in: query
2025-10-31 18:14:12 +08:00
name: plan_type
2025-10-29 17:52:07 +08:00
type: string
2025-10-29 18:56:05 +08:00
x-enum-varnames:
- PlanTypeFilterAll
- PlanTypeFilterCustom
- PlanTypeFilterSystem
2025-10-03 23:59:25 +08:00
produces:
- application/json
responses:
"200":
description: 业务码为200代表成功获取列表
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
2025-10-29 17:52:07 +08:00
$ref: '#/definitions/dto.ListPlansResponse'
2025-10-03 23:59:25 +08:00
type: object
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
summary: 创建计划
tags:
- 计划管理
/api/v1/plans/{id}:
delete:
2025-10-29 17:52:07 +08:00
description: 根据计划ID删除计划。软删除系统计划不允许删除。
2025-10-03 23:59:25 +08:00
parameters:
- description: 计划ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 业务码为200代表删除成功
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
summary: 获取计划详情
tags:
- 计划管理
put:
consumes:
- application/json
2025-10-29 17:52:07 +08:00
description: 根据计划ID更新计划的详细信息。系统计划不允许修改。
2025-10-03 23:59:25 +08:00
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
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
summary: 更新计划
tags:
- 计划管理
/api/v1/plans/{id}/start:
post:
2025-10-29 17:52:07 +08:00
description: 根据计划ID启动一个计划的执行。系统计划不允许手动启动。
2025-10-03 23:59:25 +08:00
parameters:
- description: 计划ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 业务码为200代表成功启动计划
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
summary: 启动计划
tags:
- 计划管理
/api/v1/plans/{id}/stop:
post:
2025-10-29 17:52:07 +08:00
description: 根据计划ID停止一个正在执行的计划。系统计划不能被停止。
2025-10-03 23:59:25 +08:00
parameters:
- description: 计划ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: 业务码为200代表成功停止计划
schema:
$ref: '#/definitions/controller.Response'
2025-10-13 14:15:38 +08:00
security:
- BearerAuth: []
2025-10-03 23:59:25 +08:00
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}/notifications/test:
post:
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.SendTestNotificationRequest'
produces:
- application/json
responses:
"200":
description: 成功响应
schema:
allOf:
- $ref: '#/definitions/controller.Response'
- properties:
data:
type: string
type: object
security:
- BearerAuth: []
summary: 发送测试通知
tags:
- 用户管理
2025-10-03 23:59:25 +08:00
/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:
- 用户管理
2025-11-06 16:41:06 +08:00
/healthz:
get:
description: 检查服务进程是否运行正常,只要服务能响应就返回 200 OK。
produces:
- application/json
responses:
"200":
description: 服务存活
schema:
$ref: '#/definitions/controller.Response'
summary: 服务存活检查
tags:
- 健康检查
/readyz:
get:
description: 检查服务是否已准备好接收流量。当前实现为只要服务能响应即代表就绪。
produces:
- application/json
responses:
"200":
description: 服务已就绪
schema:
$ref: '#/definitions/controller.Response'
summary: 服务就绪检查
tags:
- 健康检查
2025-10-13 14:15:38 +08:00
securityDefinitions:
BearerAuth:
in: header
name: Authorization
type: apiKey
2025-10-03 23:59:25 +08:00
swagger: "2.0"