4116 lines
		
	
	
		
			98 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			4116 lines
		
	
	
		
			98 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.AssignEmptyPensToBatchRequest:
 | ||
|     type: object
 | ||
|   dto.BuyPigsRequest:
 | ||
|     properties:
 | ||
|       penID:
 | ||
|         description: 猪栏ID
 | ||
|         type: integer
 | ||
|       quantity:
 | ||
|         description: 买入猪只数量
 | ||
|         minimum: 1
 | ||
|         type: integer
 | ||
|       remarks:
 | ||
|         description: 备注
 | ||
|         type: string
 | ||
|       totalPrice:
 | ||
|         description: 总价
 | ||
|         minimum: 0
 | ||
|         type: number
 | ||
|       tradeDate:
 | ||
|         description: 交易日期
 | ||
|         type: string
 | ||
|       traderName:
 | ||
|         description: 交易方名称
 | ||
|         type: string
 | ||
|       unitPrice:
 | ||
|         description: 单价
 | ||
|         minimum: 0
 | ||
|         type: number
 | ||
|     required:
 | ||
|     - penID
 | ||
|     - quantity
 | ||
|     - totalPrice
 | ||
|     - tradeDate
 | ||
|     - traderName
 | ||
|     - unitPrice
 | ||
|     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.DeviceCommandLogDTO:
 | ||
|     properties:
 | ||
|       acknowledged_at:
 | ||
|         type: string
 | ||
|       device_id:
 | ||
|         type: integer
 | ||
|       message_id:
 | ||
|         type: string
 | ||
|       received_success:
 | ||
|         type: boolean
 | ||
|       sent_at:
 | ||
|         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.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.ListDeviceCommandLogResponse:
 | ||
|     properties:
 | ||
|       list:
 | ||
|         items:
 | ||
|           $ref: '#/definitions/dto.DeviceCommandLogDTO'
 | ||
|         type: array
 | ||
|       pagination:
 | ||
|         $ref: '#/definitions/dto.PaginationDTO'
 | ||
|     type: object
 | ||
|   dto.ListFeedUsageRecordResponse:
 | ||
|     properties:
 | ||
|       list:
 | ||
|         items:
 | ||
|           $ref: '#/definitions/dto.FeedUsageRecordDTO'
 | ||
|         type: array
 | ||
|       pagination:
 | ||
|         $ref: '#/definitions/dto.PaginationDTO'
 | ||
|     type: object
 | ||
|   dto.ListMedicationLogResponse:
 | ||
|     properties:
 | ||
|       list:
 | ||
|         items:
 | ||
|           $ref: '#/definitions/dto.MedicationLogDTO'
 | ||
|         type: array
 | ||
|       pagination:
 | ||
|         $ref: '#/definitions/dto.PaginationDTO'
 | ||
|     type: object
 | ||
|   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
 | ||
|   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
 | ||
|   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.ManualControlDeviceRequest:
 | ||
|     properties:
 | ||
|       action:
 | ||
|         description: Action 不传表示这是一个传感器, 会触发一次采集
 | ||
|         type: string
 | ||
|     type: object
 | ||
|   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
 | ||
|   dto.MovePigsIntoPenRequest:
 | ||
|     properties:
 | ||
|       quantity:
 | ||
|         description: 移入猪只数量
 | ||
|         minimum: 1
 | ||
|         type: integer
 | ||
|       remarks:
 | ||
|         description: 备注
 | ||
|         type: string
 | ||
|       toPenID:
 | ||
|         description: 目标猪栏ID
 | ||
|         type: integer
 | ||
|     required:
 | ||
|     - quantity
 | ||
|     - toPenID
 | ||
|     type: object
 | ||
|   dto.PaginationDTO:
 | ||
|     properties:
 | ||
|       page:
 | ||
|         type: integer
 | ||
|       pageSize:
 | ||
|         type: integer
 | ||
|       total:
 | ||
|         type: integer
 | ||
|     type: object
 | ||
|   dto.PenDTO:
 | ||
|     properties:
 | ||
|       id:
 | ||
|         type: integer
 | ||
|       name:
 | ||
|         type: string
 | ||
|     type: object
 | ||
|   dto.PenResponse:
 | ||
|     properties:
 | ||
|       capacity:
 | ||
|         type: integer
 | ||
|       current_pig_count:
 | ||
|         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.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
 | ||
|   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.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
 | ||
|   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.PigHouseResponse:
 | ||
|     properties:
 | ||
|       description:
 | ||
|         type: string
 | ||
|       id:
 | ||
|         type: integer
 | ||
|       name:
 | ||
|         type: string
 | ||
|     type: object
 | ||
|   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
 | ||
|       started_at:
 | ||
|         type: string
 | ||
|       status:
 | ||
|         $ref: '#/definitions/models.ExecutionStatus'
 | ||
|       updated_at:
 | ||
|         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.RawMaterialDTO:
 | ||
|     properties:
 | ||
|       id:
 | ||
|         type: integer
 | ||
|       name:
 | ||
|         type: string
 | ||
|     type: object
 | ||
|   dto.RawMaterialPurchaseDTO:
 | ||
|     properties:
 | ||
|       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:
 | ||
|       penID:
 | ||
|         description: 待划拨的猪栏ID
 | ||
|         type: integer
 | ||
|       remarks:
 | ||
|         description: 备注
 | ||
|         type: string
 | ||
|       toBatchID:
 | ||
|         description: 目标猪批次ID
 | ||
|         type: integer
 | ||
|     required:
 | ||
|     - penID
 | ||
|     - toBatchID
 | ||
|     type: object
 | ||
|   dto.RecordCullRequest:
 | ||
|     properties:
 | ||
|       happenedAt:
 | ||
|         description: 发生时间
 | ||
|         type: string
 | ||
|       penID:
 | ||
|         description: 猪栏ID
 | ||
|         type: integer
 | ||
|       quantity:
 | ||
|         description: 淘汰猪数量
 | ||
|         minimum: 1
 | ||
|         type: integer
 | ||
|       remarks:
 | ||
|         description: 备注
 | ||
|         type: string
 | ||
|     required:
 | ||
|     - happenedAt
 | ||
|     - penID
 | ||
|     - quantity
 | ||
|     type: object
 | ||
|   dto.RecordDeathRequest:
 | ||
|     properties:
 | ||
|       happenedAt:
 | ||
|         description: 发生时间
 | ||
|         type: string
 | ||
|       penID:
 | ||
|         description: 猪栏ID
 | ||
|         type: integer
 | ||
|       quantity:
 | ||
|         description: 死亡猪数量
 | ||
|         minimum: 1
 | ||
|         type: integer
 | ||
|       remarks:
 | ||
|         description: 备注
 | ||
|         type: string
 | ||
|     required:
 | ||
|     - happenedAt
 | ||
|     - penID
 | ||
|     - quantity
 | ||
|     type: object
 | ||
|   dto.RecordSickPigCullRequest:
 | ||
|     properties:
 | ||
|       happenedAt:
 | ||
|         description: 发生时间
 | ||
|         type: string
 | ||
|       penID:
 | ||
|         description: 猪栏ID
 | ||
|         type: integer
 | ||
|       quantity:
 | ||
|         description: 淘汰猪数量
 | ||
|         minimum: 1
 | ||
|         type: integer
 | ||
|       remarks:
 | ||
|         description: 备注
 | ||
|         type: string
 | ||
|       treatmentLocation:
 | ||
|         allOf:
 | ||
|         - $ref: '#/definitions/models.PigBatchSickPigTreatmentLocation'
 | ||
|         description: 治疗地点
 | ||
|     required:
 | ||
|     - happenedAt
 | ||
|     - penID
 | ||
|     - quantity
 | ||
|     - treatmentLocation
 | ||
|     type: object
 | ||
|   dto.RecordSickPigDeathRequest:
 | ||
|     properties:
 | ||
|       happenedAt:
 | ||
|         description: 发生时间
 | ||
|         type: string
 | ||
|       penID:
 | ||
|         description: 猪栏ID
 | ||
|         type: integer
 | ||
|       quantity:
 | ||
|         description: 死亡猪数量
 | ||
|         minimum: 1
 | ||
|         type: integer
 | ||
|       remarks:
 | ||
|         description: 备注
 | ||
|         type: string
 | ||
|       treatmentLocation:
 | ||
|         allOf:
 | ||
|         - $ref: '#/definitions/models.PigBatchSickPigTreatmentLocation'
 | ||
|         description: 治疗地点
 | ||
|     required:
 | ||
|     - happenedAt
 | ||
|     - penID
 | ||
|     - quantity
 | ||
|     - treatmentLocation
 | ||
|     type: object
 | ||
|   dto.RecordSickPigRecoveryRequest:
 | ||
|     properties:
 | ||
|       happenedAt:
 | ||
|         description: 发生时间
 | ||
|         type: string
 | ||
|       penID:
 | ||
|         description: 猪栏ID
 | ||
|         type: integer
 | ||
|       quantity:
 | ||
|         description: 康复猪数量
 | ||
|         minimum: 1
 | ||
|         type: integer
 | ||
|       remarks:
 | ||
|         description: 备注
 | ||
|         type: string
 | ||
|       treatmentLocation:
 | ||
|         allOf:
 | ||
|         - $ref: '#/definitions/models.PigBatchSickPigTreatmentLocation'
 | ||
|         description: 治疗地点
 | ||
|     required:
 | ||
|     - happenedAt
 | ||
|     - penID
 | ||
|     - quantity
 | ||
|     - treatmentLocation
 | ||
|     type: object
 | ||
|   dto.RecordSickPigsRequest:
 | ||
|     properties:
 | ||
|       happenedAt:
 | ||
|         description: 发生时间
 | ||
|         type: string
 | ||
|       penID:
 | ||
|         description: 猪栏ID
 | ||
|         type: integer
 | ||
|       quantity:
 | ||
|         description: 病猪数量
 | ||
|         minimum: 1
 | ||
|         type: integer
 | ||
|       remarks:
 | ||
|         description: 备注
 | ||
|         type: string
 | ||
|       treatmentLocation:
 | ||
|         allOf:
 | ||
|         - $ref: '#/definitions/models.PigBatchSickPigTreatmentLocation'
 | ||
|         description: 治疗地点
 | ||
|     required:
 | ||
|     - happenedAt
 | ||
|     - penID
 | ||
|     - quantity
 | ||
|     - treatmentLocation
 | ||
|     type: object
 | ||
|   dto.SellPigsRequest:
 | ||
|     properties:
 | ||
|       penID:
 | ||
|         description: 猪栏ID
 | ||
|         type: integer
 | ||
|       quantity:
 | ||
|         description: 卖出猪只数量
 | ||
|         minimum: 1
 | ||
|         type: integer
 | ||
|       remarks:
 | ||
|         description: 备注
 | ||
|         type: string
 | ||
|       totalPrice:
 | ||
|         description: 总价
 | ||
|         minimum: 0
 | ||
|         type: number
 | ||
|       tradeDate:
 | ||
|         description: 交易日期
 | ||
|         type: string
 | ||
|       traderName:
 | ||
|         description: 交易方名称
 | ||
|         type: string
 | ||
|       unitPrice:
 | ||
|         description: 单价
 | ||
|         minimum: 0
 | ||
|         type: number
 | ||
|     required:
 | ||
|     - penID
 | ||
|     - quantity
 | ||
|     - totalPrice
 | ||
|     - tradeDate
 | ||
|     - traderName
 | ||
|     - unitPrice
 | ||
|     type: object
 | ||
|   dto.SensorDataDTO:
 | ||
|     properties:
 | ||
|       data:
 | ||
|         items:
 | ||
|           type: integer
 | ||
|         type: array
 | ||
|       device_id:
 | ||
|         type: integer
 | ||
|       regional_controller_id:
 | ||
|         type: integer
 | ||
|       sensor_type:
 | ||
|         $ref: '#/definitions/models.SensorType'
 | ||
|       time:
 | ||
|         type: string
 | ||
|     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.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
 | ||
|   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.TransferPigsAcrossBatchesRequest:
 | ||
|     properties:
 | ||
|       destBatchID:
 | ||
|         description: 目标猪批次ID
 | ||
|         type: integer
 | ||
|       fromPenID:
 | ||
|         description: 源猪栏ID
 | ||
|         type: integer
 | ||
|       quantity:
 | ||
|         description: 调栏猪只数量
 | ||
|         minimum: 1
 | ||
|         type: integer
 | ||
|       remarks:
 | ||
|         description: 备注
 | ||
|         type: string
 | ||
|       toPenID:
 | ||
|         description: 目标猪栏ID
 | ||
|         type: integer
 | ||
|     required:
 | ||
|     - destBatchID
 | ||
|     - fromPenID
 | ||
|     - quantity
 | ||
|     - toPenID
 | ||
|     type: object
 | ||
|   dto.TransferPigsWithinBatchRequest:
 | ||
|     properties:
 | ||
|       fromPenID:
 | ||
|         description: 源猪栏ID
 | ||
|         type: integer
 | ||
|       quantity:
 | ||
|         description: 调栏猪只数量
 | ||
|         minimum: 1
 | ||
|         type: integer
 | ||
|       remarks:
 | ||
|         description: 备注
 | ||
|         type: string
 | ||
|       toPenID:
 | ||
|         description: 目标猪栏ID
 | ||
|         type: integer
 | ||
|     required:
 | ||
|     - fromPenID
 | ||
|     - quantity
 | ||
|     - toPenID
 | ||
|     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
 | ||
|   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.AuditStatus:
 | ||
|     enum:
 | ||
|     - 成功
 | ||
|     - 失败
 | ||
|     type: string
 | ||
|     x-enum-varnames:
 | ||
|     - AuditStatusSuccess
 | ||
|     - AuditStatusFailed
 | ||
|   models.DeviceCategory:
 | ||
|     enum:
 | ||
|     - 执行器
 | ||
|     - 传感器
 | ||
|     type: string
 | ||
|     x-enum-varnames:
 | ||
|     - CategoryActuator
 | ||
|     - CategorySensor
 | ||
|   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
 | ||
|   models.PenStatus:
 | ||
|     enum:
 | ||
|     - 空闲
 | ||
|     - 使用中
 | ||
|     - 病猪栏
 | ||
|     - 康复栏
 | ||
|     - 清洗消毒
 | ||
|     - 维修中
 | ||
|     type: string
 | ||
|     x-enum-varnames:
 | ||
|     - PenStatusEmpty
 | ||
|     - PenStatusOccupied
 | ||
|     - PenStatusSickPen
 | ||
|     - PenStatusRecovering
 | ||
|     - PenStatusCleaning
 | ||
|     - PenStatusUnderMaint
 | ||
|   models.PendingCollectionStatus:
 | ||
|     enum:
 | ||
|     - 等待中
 | ||
|     - 已完成
 | ||
|     - 已超时
 | ||
|     type: string
 | ||
|     x-enum-comments:
 | ||
|       PendingStatusFulfilled: 已收到设备响应并成功处理
 | ||
|       PendingStatusPending: 请求已发送,等待设备响应
 | ||
|       PendingStatusTimedOut: 请求超时,未收到设备响应
 | ||
|     x-enum-descriptions:
 | ||
|     - 请求已发送,等待设备响应
 | ||
|     - 已收到设备响应并成功处理
 | ||
|     - 请求超时,未收到设备响应
 | ||
|     x-enum-varnames:
 | ||
|     - PendingStatusPending
 | ||
|     - PendingStatusFulfilled
 | ||
|     - PendingStatusTimedOut
 | ||
|   models.PigBatchOriginType:
 | ||
|     enum:
 | ||
|     - 自繁
 | ||
|     - 外购
 | ||
|     type: string
 | ||
|     x-enum-varnames:
 | ||
|     - OriginTypeSelfFarrowed
 | ||
|     - OriginTypePurchased
 | ||
|   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
 | ||
|   models.PigBatchSickPigTreatmentLocation:
 | ||
|     enum:
 | ||
|     - 原地治疗
 | ||
|     - 病猪栏治疗
 | ||
|     type: string
 | ||
|     x-enum-varnames:
 | ||
|     - TreatmentLocationOnSite
 | ||
|     - TreatmentLocationSickBay
 | ||
|   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.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
 | ||
|   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.StockLogSourceType:
 | ||
|     enum:
 | ||
|     - 采购入库
 | ||
|     - 饲喂出库
 | ||
|     - 变质出库
 | ||
|     - 售卖出库
 | ||
|     - 杂用领取
 | ||
|     - 手动盘点
 | ||
|     type: string
 | ||
|     x-enum-varnames:
 | ||
|     - StockLogSourcePurchase
 | ||
|     - StockLogSourceFeeding
 | ||
|     - StockLogSourceDeteriorate
 | ||
|     - StockLogSourceSale
 | ||
|     - StockLogSourceMiscellaneous
 | ||
|     - StockLogSourceManual
 | ||
|   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:
 | ||
|     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"
 | ||
| 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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 更新设备信息
 | ||
|       tags:
 | ||
|       - 设备管理
 | ||
|   /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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 手动控制设备
 | ||
|       tags:
 | ||
|       - 设备管理
 | ||
|   /api/v1/monitor/device-command-logs:
 | ||
|     get:
 | ||
|       description: 根据提供的过滤条件,分页获取设备命令日志
 | ||
|       parameters:
 | ||
|       - in: query
 | ||
|         name: device_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: received_success
 | ||
|         type: boolean
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         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
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: feed_formula_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: operator_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pen_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         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
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: medication_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: operator_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pig_batch_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: reason
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         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:
 | ||
|       - 数据监控
 | ||
|   /api/v1/monitor/pending-collections:
 | ||
|     get:
 | ||
|       description: 根据提供的过滤条件,分页获取待采集请求
 | ||
|       parameters:
 | ||
|       - in: query
 | ||
|         name: device_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         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
 | ||
|         name: change_type
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: operator_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pig_batch_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         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
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: operator_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pig_batch_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         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
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: operator_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pig_batch_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         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
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: operator_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pen_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pig_batch_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: reason
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: treatment_location
 | ||
|         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
 | ||
|         name: correlation_id
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: operator_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pen_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pig_batch_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: transfer_type
 | ||
|         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
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: plan_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         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
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: raw_material_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         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
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: raw_material_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: source_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: source_type
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         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
 | ||
|         name: device_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: sensor_type
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         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
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: plan_execution_log_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: status
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: task_id
 | ||
|         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
 | ||
|         name: action_type
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: status
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: user_id
 | ||
|         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
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pig_batch_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         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
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: operator_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pen_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: weighing_batch_id
 | ||
|         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:
 | ||
|       - 数据监控
 | ||
|   /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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 更新猪批次
 | ||
|       tags:
 | ||
|       - 猪群管理
 | ||
|   /api/v1/pig-batches/assign-pens/{id}:
 | ||
|     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.AssignEmptyPensToBatchRequest'
 | ||
|       produces:
 | ||
|       - application/json
 | ||
|       responses:
 | ||
|         "200":
 | ||
|           description: 分配成功
 | ||
|           schema:
 | ||
|             $ref: '#/definitions/controller.Response'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 为猪批次分配空栏
 | ||
|       tags:
 | ||
|       - 猪群管理
 | ||
|   /api/v1/pig-batches/buy-pigs/{id}:
 | ||
|     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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 处理买猪的业务逻辑
 | ||
|       tags:
 | ||
|       - 猪群管理
 | ||
|   /api/v1/pig-batches/move-pigs-into-pen/{id}:
 | ||
|     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: 移入成功
 | ||
|           schema:
 | ||
|             $ref: '#/definitions/controller.Response'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 将猪只从“虚拟库存”移入指定猪栏
 | ||
|       tags:
 | ||
|       - 猪群管理
 | ||
|   /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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 将猪栏划拨到新批次
 | ||
|       tags:
 | ||
|       - 猪群管理
 | ||
|   /api/v1/pig-batches/record-cull/{id}:
 | ||
|     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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 记录正常猪只淘汰事件
 | ||
|       tags:
 | ||
|       - 猪群管理
 | ||
|   /api/v1/pig-batches/record-death/{id}:
 | ||
|     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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 记录正常猪只死亡事件
 | ||
|       tags:
 | ||
|       - 猪群管理
 | ||
|   /api/v1/pig-batches/record-sick-pig-cull/{id}:
 | ||
|     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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 记录病猪淘汰事件
 | ||
|       tags:
 | ||
|       - 猪群管理
 | ||
|   /api/v1/pig-batches/record-sick-pig-death/{id}:
 | ||
|     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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 记录病猪死亡事件
 | ||
|       tags:
 | ||
|       - 猪群管理
 | ||
|   /api/v1/pig-batches/record-sick-pig-recovery/{id}:
 | ||
|     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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 记录病猪康复事件
 | ||
|       tags:
 | ||
|       - 猪群管理
 | ||
|   /api/v1/pig-batches/record-sick-pigs/{id}:
 | ||
|     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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 记录新增病猪事件
 | ||
|       tags:
 | ||
|       - 猪群管理
 | ||
|   /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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 从猪批次移除空栏
 | ||
|       tags:
 | ||
|       - 猪群管理
 | ||
|   /api/v1/pig-batches/sell-pigs/{id}:
 | ||
|     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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 处理卖猪的业务逻辑
 | ||
|       tags:
 | ||
|       - 猪群管理
 | ||
|   /api/v1/pig-batches/transfer-across-batches/{sourceBatchID}:
 | ||
|     post:
 | ||
|       consumes:
 | ||
|       - application/json
 | ||
|       description: 将指定数量的猪只从一个猪群的猪栏调动到另一个猪群的猪栏
 | ||
|       parameters:
 | ||
|       - description: 源猪批次ID
 | ||
|         in: path
 | ||
|         name: sourceBatchID
 | ||
|         required: true
 | ||
|         type: integer
 | ||
|       - description: 跨群调栏请求信息
 | ||
|         in: body
 | ||
|         name: body
 | ||
|         required: true
 | ||
|         schema:
 | ||
|           $ref: '#/definitions/dto.TransferPigsAcrossBatchesRequest'
 | ||
|       produces:
 | ||
|       - application/json
 | ||
|       responses:
 | ||
|         "200":
 | ||
|           description: 调栏成功
 | ||
|           schema:
 | ||
|             $ref: '#/definitions/controller.Response'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       summary: 跨猪群调栏
 | ||
|       tags:
 | ||
|       - 猪群管理
 | ||
|   /api/v1/pig-batches/transfer-within-batch/{id}:
 | ||
|     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.TransferPigsWithinBatchRequest'
 | ||
|       produces:
 | ||
|       - application/json
 | ||
|       responses:
 | ||
|         "200":
 | ||
|           description: 调栏成功
 | ||
|           schema:
 | ||
|             $ref: '#/definitions/controller.Response'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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'
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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
 | ||
|       - in: query
 | ||
|         name: action_type
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: end_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: order_by
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: page
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: pageSize
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: start_time
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: status
 | ||
|         type: string
 | ||
|       - in: query
 | ||
|         name: user_id
 | ||
|         type: integer
 | ||
|       - in: query
 | ||
|         name: username
 | ||
|         type: string
 | ||
|       produces:
 | ||
|       - application/json
 | ||
|       responses:
 | ||
|         "200":
 | ||
|           description: 业务码为200代表成功获取
 | ||
|           schema:
 | ||
|             allOf:
 | ||
|             - $ref: '#/definitions/controller.Response'
 | ||
|             - properties:
 | ||
|                 data:
 | ||
|                   $ref: '#/definitions/dto.ListUserActionLogResponse'
 | ||
|               type: object
 | ||
|       security:
 | ||
|       - BearerAuth: []
 | ||
|       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:
 | ||
|       - 用户管理
 | ||
| securityDefinitions:
 | ||
|   BearerAuth:
 | ||
|     in: header
 | ||
|     name: Authorization
 | ||
|     type: apiKey
 | ||
| swagger: "2.0"
 |