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