{
    "swagger": "2.0",
    "info": {
        "description": "这是一个用于管理猪场设备的后端服务。",
        "title": "猪场管理系统 API",
        "contact": {
            "name": "Divano",
            "url": "http://www.example.com",
            "email": "divano@example.com"
        },
        "license": {
            "name": "Apache 2.0",
            "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
        },
        "version": "1.0"
    },
    "paths": {
        "/api/v1/area-controllers": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取系统中所有区域主控的列表",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "区域主控管理"
                ],
                "summary": "获取所有区域主控列表",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.AreaControllerResponse"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的信息创建一个新区域主控",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "区域主控管理"
                ],
                "summary": "创建新区域主控",
                "parameters": [
                    {
                        "description": "区域主控信息",
                        "name": "areaController",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreateAreaControllerRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.AreaControllerResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/area-controllers/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据ID获取单个区域主控的详细信息",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "区域主控管理"
                ],
                "summary": "获取区域主控信息",
                "parameters": [
                    {
                        "type": "string",
                        "description": "区域主控ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.AreaControllerResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据ID更新一个已存在的区域主控信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "区域主控管理"
                ],
                "summary": "更新区域主控信息",
                "parameters": [
                    {
                        "type": "string",
                        "description": "区域主控ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "要更新的区域主控信息",
                        "name": "areaController",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UpdateAreaControllerRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.AreaControllerResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据ID删除一个区域主控（软删除）",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "区域主控管理"
                ],
                "summary": "删除区域主控",
                "parameters": [
                    {
                        "type": "string",
                        "description": "区域主控ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/device-templates": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取系统中所有设备模板的列表",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "设备模板管理"
                ],
                "summary": "获取设备模板列表",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.DeviceTemplateResponse"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的信息创建一个新设备模板",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "设备模板管理"
                ],
                "summary": "创建新设备模板",
                "parameters": [
                    {
                        "description": "设备模板信息",
                        "name": "deviceTemplate",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreateDeviceTemplateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.DeviceTemplateResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/device-templates/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据设备模板ID获取单个设备模板的详细信息",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "设备模板管理"
                ],
                "summary": "获取设备模板信息",
                "parameters": [
                    {
                        "type": "string",
                        "description": "设备模板ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.DeviceTemplateResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据设备模板ID更新一个已存在的设备模板信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "设备模板管理"
                ],
                "summary": "更新设备模板信息",
                "parameters": [
                    {
                        "type": "string",
                        "description": "设备模板ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "要更新的设备模板信息",
                        "name": "deviceTemplate",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UpdateDeviceTemplateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.DeviceTemplateResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据设备模板ID删除一个设备模板（软删除）",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "设备模板管理"
                ],
                "summary": "删除设备模板",
                "parameters": [
                    {
                        "type": "string",
                        "description": "设备模板ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/devices": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取系统中所有设备的列表",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "设备管理"
                ],
                "summary": "获取设备列表",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.DeviceResponse"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的信息创建一个新设备",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "设备管理"
                ],
                "summary": "创建新设备",
                "parameters": [
                    {
                        "description": "设备信息",
                        "name": "device",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreateDeviceRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.DeviceResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/devices/manual-control/{id}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据设备ID和指定的动作（开启或关闭）来手动控制设备",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "设备管理"
                ],
                "summary": "手动控制设备",
                "parameters": [
                    {
                        "type": "string",
                        "description": "设备ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "手动控制指令",
                        "name": "manualControl",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ManualControlDeviceRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/devices/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据设备ID获取单个设备的详细信息",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "设备管理"
                ],
                "summary": "获取设备信息",
                "parameters": [
                    {
                        "type": "string",
                        "description": "设备ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.DeviceResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据设备ID更新一个已存在的设备信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "设备管理"
                ],
                "summary": "更新设备信息",
                "parameters": [
                    {
                        "type": "string",
                        "description": "设备ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "要更新的设备信息",
                        "name": "device",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UpdateDeviceRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.DeviceResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据设备ID删除一个设备（软删除）",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "设备管理"
                ],
                "summary": "删除设备",
                "parameters": [
                    {
                        "type": "string",
                        "description": "设备ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/device-command-logs": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取设备命令日志",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取设备命令日志列表",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "device_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "received_success",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListDeviceCommandLogResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/feed-usage-records": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取饲料使用记录",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取饲料使用记录列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "feed_formula_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "operator_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "pen_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListFeedUsageRecordResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/medication-logs": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取用药记录",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取用药记录列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "medication_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "operator_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "pig_batch_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "reason",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListMedicationLogResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/notifications": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取通知列表",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "批量查询通知",
                "parameters": [
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "enum": [
                            -1,
                            0,
                            1,
                            2,
                            3,
                            4,
                            5,
                            -1,
                            5,
                            6,
                            7
                        ],
                        "type": "integer",
                        "format": "int32",
                        "x-enum-varnames": [
                            "DebugLevel",
                            "InfoLevel",
                            "WarnLevel",
                            "ErrorLevel",
                            "DPanicLevel",
                            "PanicLevel",
                            "FatalLevel",
                            "_minLevel",
                            "_maxLevel",
                            "InvalidLevel",
                            "_numLevels"
                        ],
                        "name": "level",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "邮件",
                            "企业微信",
                            "飞书",
                            "日志"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "NotifierTypeSMTP",
                            "NotifierTypeWeChat",
                            "NotifierTypeLark",
                            "NotifierTypeLog"
                        ],
                        "name": "notifier_type",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "发送成功",
                            "发送失败",
                            "已跳过"
                        ],
                        "type": "string",
                        "x-enum-comments": {
                            "NotificationStatusFailed": "通知发送失败",
                            "NotificationStatusSkipped": "通知因某些原因被跳过（例如：用户未配置联系方式）",
                            "NotificationStatusSuccess": "通知已成功发送"
                        },
                        "x-enum-descriptions": [
                            "通知已成功发送",
                            "通知发送失败",
                            "通知因某些原因被跳过（例如：用户未配置联系方式）"
                        ],
                        "x-enum-varnames": [
                            "NotificationStatusSuccess",
                            "NotificationStatusFailed",
                            "NotificationStatusSkipped"
                        ],
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "user_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListNotificationResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/pending-collections": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取待采集请求",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取待采集请求列表",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "device_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListPendingCollectionResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/pig-batch-logs": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取猪批次日志",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取猪批次日志列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "change_type",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "operator_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "pig_batch_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListPigBatchLogResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/pig-purchases": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取猪只采购记录",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取猪只采购记录列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "operator_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "pig_batch_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "supplier",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListPigPurchaseResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/pig-sales": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取猪只售卖记录",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取猪只售卖记录列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "buyer",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "operator_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "pig_batch_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListPigSaleResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/pig-sick-logs": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取病猪日志",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取病猪日志列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "operator_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "pen_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "pig_batch_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "reason",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "treatment_location",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListPigSickLogResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/pig-transfer-logs": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取猪只迁移日志",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取猪只迁移日志列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "correlation_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "operator_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "pen_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "pig_batch_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "transfer_type",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListPigTransferLogResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/plan-execution-logs": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取计划执行日志",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取计划执行日志列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "plan_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListPlanExecutionLogResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/raw-material-purchases": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取原料采购记录",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取原料采购记录列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "raw_material_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "supplier",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListRawMaterialPurchaseResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/raw-material-stock-logs": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取原料库存日志",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取原料库存日志列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "raw_material_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "source_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "source_type",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListRawMaterialStockLogResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/sensor-data": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取传感器数据",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取传感器数据列表",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "device_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sensor_type",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListSensorDataResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/task-execution-logs": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取任务执行日志",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取任务执行日志列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "plan_execution_log_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "task_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListTaskExecutionLogResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/user-action-logs": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取用户操作日志",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取用户操作日志列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "action_type",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "user_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "username",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListUserActionLogResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/weighing-batches": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取批次称重记录",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取批次称重记录列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "pig_batch_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListWeighingBatchResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/monitor/weighing-records": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的过滤条件，分页获取单次称重记录",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "数据监控"
                ],
                "summary": "获取单次称重记录列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "operator_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "order_by",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "pen_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "start_time",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "weighing_batch_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListWeighingRecordResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/pens": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取所有猪栏的列表",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪场管理"
                ],
                "summary": "获取猪栏列表",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.PenResponse"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "创建一个新的猪栏",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪场管理"
                ],
                "summary": "创建猪栏",
                "parameters": [
                    {
                        "description": "猪栏信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreatePenRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "创建成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.PenResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/pens/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据ID获取单个猪栏信息",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪场管理"
                ],
                "summary": "获取单个猪栏",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪栏ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.PenResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "更新一个已存在的猪栏信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪场管理"
                ],
                "summary": "更新猪栏",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪栏ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "猪栏信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UpdatePenRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.PenResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据ID删除一个猪栏",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪场管理"
                ],
                "summary": "删除猪栏",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪栏ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "删除成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pens/{id}/status": {
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "更新指定猪栏的当前状态",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪场管理"
                ],
                "summary": "更新猪栏状态",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪栏ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "新的猪栏状态",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UpdatePenStatusRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.PenResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取所有猪批次的列表，支持按活跃状态筛选",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "获取猪批次列表",
                "parameters": [
                    {
                        "type": "boolean",
                        "description": "是否活跃 (true/false)",
                        "name": "is_active",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.PigBatchResponseDTO"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "创建一个新的猪批次",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "创建猪批次",
                "parameters": [
                    {
                        "description": "猪批次信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.PigBatchCreateDTO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "创建成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.PigBatchResponseDTO"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/assign-pens/{id}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "将一个或多个空闲猪栏分配给指定的猪批次",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "为猪批次分配空栏",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "待分配的猪栏ID列表",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.AssignEmptyPensToBatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "分配成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/buy-pigs/{id}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "记录猪批次中的猪只购买事件",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "处理买猪的业务逻辑",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "买猪请求信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.BuyPigsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "买猪成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/move-pigs-into-pen/{id}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "将指定数量的猪只从批次的“虚拟库存”移入一个已分配的猪栏",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "将猪只从“虚拟库存”移入指定猪栏",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "移入猪只请求信息 (包含目标猪栏ID、数量和备注)",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.MovePigsIntoPenRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "移入成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/reclassify-pen/{fromBatchID}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "将一个猪栏（连同其中的猪只）从一个批次整体划拨到另一个批次",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "将猪栏划拨到新批次",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "源猪批次ID",
                        "name": "fromBatchID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "划拨请求信息 (包含目标批次ID、猪栏ID和备注)",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ReclassifyPenToNewBatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "划拨成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/record-cull/{id}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "记录猪批次中正常猪只淘汰的数量和发生时间",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "记录正常猪只淘汰事件",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "记录正常猪只淘汰请求信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.RecordCullRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "记录成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/record-death/{id}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "记录猪批次中正常猪只死亡的数量和发生时间",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "记录正常猪只死亡事件",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "记录正常猪只死亡请求信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.RecordDeathRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "记录成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/record-sick-pig-cull/{id}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "记录猪批次中病猪淘汰的数量、治疗地点和发生时间",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "记录病猪淘汰事件",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "记录病猪淘汰请求信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.RecordSickPigCullRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "记录成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/record-sick-pig-death/{id}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "记录猪批次中病猪死亡的数量、治疗地点和发生时间",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "记录病猪死亡事件",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "记录病猪死亡请求信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.RecordSickPigDeathRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "记录成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/record-sick-pig-recovery/{id}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "记录猪批次中病猪康复的数量、治疗地点和发生时间",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "记录病猪康复事件",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "记录病猪康复请求信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.RecordSickPigRecoveryRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "记录成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/record-sick-pigs/{id}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "记录猪批次中新增病猪的数量、治疗地点和发生时间",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "记录新增病猪事件",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "记录病猪请求信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.RecordSickPigsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "记录成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/remove-pen/{penID}/{batchID}": {
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "将一个空闲猪栏从指定的猪批次中移除",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "从猪批次移除空栏",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "batchID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "待移除的猪栏ID",
                        "name": "penID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "移除成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/sell-pigs/{id}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "记录猪批次中的猪只出售事件",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "处理卖猪的业务逻辑",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "卖猪请求信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.SellPigsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "卖猪成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/transfer-across-batches/{sourceBatchID}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "将指定数量的猪只从一个猪群的猪栏调动到另一个猪群的猪栏",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "跨猪群调栏",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "源猪批次ID",
                        "name": "sourceBatchID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "跨群调栏请求信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.TransferPigsAcrossBatchesRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "调栏成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/transfer-within-batch/{id}": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "将指定数量的猪只在同一个猪群的不同猪栏间调动",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "群内调栏",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "群内调栏请求信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.TransferPigsWithinBatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "调栏成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-batches/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据ID获取单个猪批次信息",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "获取单个猪批次",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.PigBatchResponseDTO"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "更新一个已存在的猪批次信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "更新猪批次",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "猪批次信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.PigBatchUpdateDTO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.PigBatchResponseDTO"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据ID删除一个猪批次",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪群管理"
                ],
                "summary": "删除猪批次",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪批次ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "删除成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/pig-houses": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取所有猪舍的列表",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪场管理"
                ],
                "summary": "获取猪舍列表",
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.PigHouseResponse"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据提供的信息创建一个新猪舍",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪场管理"
                ],
                "summary": "创建猪舍",
                "parameters": [
                    {
                        "description": "猪舍信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreatePigHouseRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "创建成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.PigHouseResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/pig-houses/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据ID获取单个猪舍信息",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪场管理"
                ],
                "summary": "获取单个猪舍",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪舍ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "获取成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.PigHouseResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "更新一个已存在的猪舍信息",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪场管理"
                ],
                "summary": "更新猪舍",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪舍ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "猪舍信息",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UpdatePigHouseRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "更新成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.PigHouseResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据ID删除一个猪舍",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "猪场管理"
                ],
                "summary": "删除猪舍",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "猪舍ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "删除成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/plans": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "获取所有计划的列表，支持按类型过滤和分页",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "计划管理"
                ],
                "summary": "获取计划列表",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "每页大小",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "所有任务",
                            "自定义任务",
                            "系统任务"
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "PlanTypeFilterAll",
                            "PlanTypeFilterCustom",
                            "PlanTypeFilterSystem"
                        ],
                        "description": "计划类型",
                        "name": "plan_type",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "业务码为200代表成功获取列表",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.ListPlansResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "创建一个新的计划，包括其基本信息和所有关联的子计划/任务。",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "计划管理"
                ],
                "summary": "创建计划",
                "parameters": [
                    {
                        "description": "计划信息",
                        "name": "plan",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreatePlanRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "业务码为201代表创建成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.PlanResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/plans/{id}": {
            "get": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据计划ID获取单个计划的详细信息。",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "计划管理"
                ],
                "summary": "获取计划详情",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "计划ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "业务码为200代表成功获取",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.PlanResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据计划ID更新计划的详细信息。系统计划不允许修改。",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "计划管理"
                ],
                "summary": "更新计划",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "计划ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "更新后的计划信息",
                        "name": "plan",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UpdatePlanRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "业务码为200代表更新成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.PlanResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据计划ID删除计划。（软删除）系统计划不允许删除。",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "计划管理"
                ],
                "summary": "删除计划",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "计划ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "业务码为200代表删除成功",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/plans/{id}/start": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据计划ID启动一个计划的执行。系统计划不允许手动启动。",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "计划管理"
                ],
                "summary": "启动计划",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "计划ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "业务码为200代表成功启动计划",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/plans/{id}/stop": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "根据计划ID停止一个正在执行的计划。系统计划不能被停止。",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "计划管理"
                ],
                "summary": "停止计划",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "计划ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "业务码为200代表成功停止计划",
                        "schema": {
                            "$ref": "#/definitions/controller.Response"
                        }
                    }
                }
            }
        },
        "/api/v1/users": {
            "post": {
                "description": "根据用户名和密码创建一个新的系统用户。",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "用户管理"
                ],
                "summary": "创建新用户",
                "parameters": [
                    {
                        "description": "用户信息",
                        "name": "user",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CreateUserRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "业务码为201代表创建成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.CreateUserResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/users/login": {
            "post": {
                "description": "用户可以使用用户名、邮箱、手机号、微信号或飞书账号进行登录，成功后返回 JWT 令牌。",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "用户管理"
                ],
                "summary": "用户登录",
                "parameters": [
                    {
                        "description": "登录凭证",
                        "name": "credentials",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.LoginRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "业务码为200代表登录成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/dto.LoginResponse"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/v1/users/{id}/notifications/test": {
            "post": {
                "security": [
                    {
                        "BearerAuth": []
                    }
                ],
                "description": "为指定用户发送一条特定渠道的测试消息，以验证其配置是否正确。",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "用户管理"
                ],
                "summary": "发送测试通知",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "用户ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "请求体",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.SendTestNotificationRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功响应",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/controller.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "string"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "controller.Response": {
            "type": "object",
            "properties": {
                "code": {
                    "description": "业务状态码",
                    "allOf": [
                        {
                            "$ref": "#/definitions/controller.ResponseCode"
                        }
                    ]
                },
                "data": {
                    "description": "业务数据, omitempty表示如果为空则不序列化"
                },
                "message": {
                    "description": "提示信息",
                    "type": "string"
                }
            }
        },
        "controller.ResponseCode": {
            "type": "integer",
            "enum": [
                2000,
                2001,
                4000,
                4001,
                4003,
                4004,
                4009,
                5000,
                5003
            ],
            "x-enum-comments": {
                "CodeBadRequest": "请求参数错误",
                "CodeConflict": "资源冲突",
                "CodeCreated": "创建成功",
                "CodeForbidden": "禁止访问",
                "CodeInternalError": "服务器内部错误",
                "CodeNotFound": "资源未找到",
                "CodeServiceUnavailable": "服务不可用",
                "CodeSuccess": "操作成功",
                "CodeUnauthorized": "未授权"
            },
            "x-enum-descriptions": [
                "操作成功",
                "创建成功",
                "请求参数错误",
                "未授权",
                "禁止访问",
                "资源未找到",
                "资源冲突",
                "服务器内部错误",
                "服务不可用"
            ],
            "x-enum-varnames": [
                "CodeSuccess",
                "CodeCreated",
                "CodeBadRequest",
                "CodeUnauthorized",
                "CodeForbidden",
                "CodeNotFound",
                "CodeConflict",
                "CodeInternalError",
                "CodeServiceUnavailable"
            ]
        },
        "dto.AreaControllerResponse": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "location": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "network_id": {
                    "type": "string"
                },
                "properties": {
                    "type": "object",
                    "additionalProperties": true
                },
                "status": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.AssignEmptyPensToBatchRequest": {
            "type": "object",
            "required": [
                "pen_ids"
            ],
            "properties": {
                "pen_ids": {
                    "description": "待分配的猪栏ID列表",
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer"
                    },
                    "example": [
                        1,
                        2,
                        3
                    ]
                }
            }
        },
        "dto.BuyPigsRequest": {
            "type": "object",
            "required": [
                "pen_id",
                "quantity",
                "total_price",
                "trade_date",
                "trader_name",
                "unit_price"
            ],
            "properties": {
                "pen_id": {
                    "description": "猪栏ID",
                    "type": "integer"
                },
                "quantity": {
                    "description": "买入猪只数量",
                    "type": "integer",
                    "minimum": 1
                },
                "remarks": {
                    "description": "备注",
                    "type": "string"
                },
                "total_price": {
                    "description": "总价",
                    "type": "number",
                    "minimum": 0
                },
                "trade_date": {
                    "description": "交易日期",
                    "type": "string"
                },
                "trader_name": {
                    "description": "交易方名称",
                    "type": "string"
                },
                "unit_price": {
                    "description": "单价",
                    "type": "number",
                    "minimum": 0
                }
            }
        },
        "dto.CreateAreaControllerRequest": {
            "type": "object",
            "required": [
                "name",
                "network_id"
            ],
            "properties": {
                "location": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "network_id": {
                    "type": "string"
                },
                "properties": {
                    "type": "object",
                    "additionalProperties": true
                }
            }
        },
        "dto.CreateDeviceRequest": {
            "type": "object",
            "required": [
                "area_controller_id",
                "device_template_id",
                "name"
            ],
            "properties": {
                "area_controller_id": {
                    "type": "integer"
                },
                "device_template_id": {
                    "type": "integer"
                },
                "location": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "properties": {
                    "type": "object",
                    "additionalProperties": true
                }
            }
        },
        "dto.CreateDeviceTemplateRequest": {
            "type": "object",
            "required": [
                "category",
                "commands",
                "name"
            ],
            "properties": {
                "category": {
                    "$ref": "#/definitions/models.DeviceCategory"
                },
                "commands": {
                    "type": "object",
                    "additionalProperties": true
                },
                "description": {
                    "type": "string"
                },
                "manufacturer": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.ValueDescriptor"
                    }
                }
            }
        },
        "dto.CreatePenRequest": {
            "type": "object",
            "required": [
                "capacity",
                "house_id",
                "pen_number"
            ],
            "properties": {
                "capacity": {
                    "type": "integer"
                },
                "house_id": {
                    "type": "integer"
                },
                "pen_number": {
                    "type": "string"
                }
            }
        },
        "dto.CreatePigHouseRequest": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "dto.CreatePlanRequest": {
            "type": "object",
            "required": [
                "execution_type",
                "name"
            ],
            "properties": {
                "cron_expression": {
                    "type": "string",
                    "example": "0 0 6 * * *"
                },
                "description": {
                    "type": "string",
                    "example": "根据温度自动调节风扇和加热器"
                },
                "execute_num": {
                    "type": "integer",
                    "minimum": 0,
                    "example": 10
                },
                "execution_type": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PlanExecutionType"
                        }
                    ],
                    "example": "自动"
                },
                "name": {
                    "type": "string",
                    "example": "猪舍温度控制计划"
                },
                "sub_plan_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "tasks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.TaskRequest"
                    }
                }
            }
        },
        "dto.CreateUserRequest": {
            "type": "object",
            "required": [
                "password",
                "username"
            ],
            "properties": {
                "password": {
                    "type": "string",
                    "example": "password123"
                },
                "username": {
                    "type": "string",
                    "example": "newuser"
                }
            }
        },
        "dto.CreateUserResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer",
                    "example": 1
                },
                "username": {
                    "type": "string",
                    "example": "newuser"
                }
            }
        },
        "dto.DeviceCommandLogDTO": {
            "type": "object",
            "properties": {
                "acknowledged_at": {
                    "type": "string"
                },
                "device_id": {
                    "type": "integer"
                },
                "message_id": {
                    "type": "string"
                },
                "received_success": {
                    "type": "boolean"
                },
                "sent_at": {
                    "type": "string"
                }
            }
        },
        "dto.DeviceResponse": {
            "type": "object",
            "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": {
                    "type": "object",
                    "additionalProperties": true
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.DeviceTemplateResponse": {
            "type": "object",
            "properties": {
                "category": {
                    "$ref": "#/definitions/models.DeviceCategory"
                },
                "commands": {
                    "type": "object",
                    "additionalProperties": true
                },
                "created_at": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "manufacturer": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.ValueDescriptor"
                    }
                }
            }
        },
        "dto.FeedFormulaDTO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "dto.FeedUsageRecordDTO": {
            "type": "object",
            "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"
                }
            }
        },
        "dto.ListDeviceCommandLogResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.DeviceCommandLogDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListFeedUsageRecordResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.FeedUsageRecordDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListMedicationLogResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.MedicationLogDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListNotificationResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.NotificationDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListPendingCollectionResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.PendingCollectionDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListPigBatchLogResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.PigBatchLogDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListPigPurchaseResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.PigPurchaseDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListPigSaleResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.PigSaleDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListPigSickLogResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.PigSickLogDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListPigTransferLogResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.PigTransferLogDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListPlanExecutionLogResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.PlanExecutionLogDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListPlansResponse": {
            "type": "object",
            "properties": {
                "plans": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.PlanResponse"
                    }
                },
                "total": {
                    "type": "integer",
                    "example": 100
                }
            }
        },
        "dto.ListRawMaterialPurchaseResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.RawMaterialPurchaseDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListRawMaterialStockLogResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.RawMaterialStockLogDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListSensorDataResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.SensorDataDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListTaskExecutionLogResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.TaskExecutionLogDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListUserActionLogResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.UserActionLogDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListWeighingBatchResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.WeighingBatchDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.ListWeighingRecordResponse": {
            "type": "object",
            "properties": {
                "list": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.WeighingRecordDTO"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/dto.PaginationDTO"
                }
            }
        },
        "dto.LoginRequest": {
            "type": "object",
            "required": [
                "identifier",
                "password"
            ],
            "properties": {
                "identifier": {
                    "description": "Identifier 可以是用户名、邮箱、手机号、微信号或飞书账号",
                    "type": "string",
                    "example": "testuser"
                },
                "password": {
                    "type": "string",
                    "example": "password123"
                }
            }
        },
        "dto.LoginResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer",
                    "example": 1
                },
                "token": {
                    "type": "string",
                    "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
                },
                "username": {
                    "type": "string",
                    "example": "testuser"
                }
            }
        },
        "dto.ManualControlDeviceRequest": {
            "type": "object",
            "properties": {
                "action": {
                    "description": "Action 不传表示这是一个传感器, 会触发一次采集",
                    "type": "string"
                }
            }
        },
        "dto.MedicationDTO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "dto.MedicationLogDTO": {
            "type": "object",
            "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"
                }
            }
        },
        "dto.MovePigsIntoPenRequest": {
            "type": "object",
            "required": [
                "quantity",
                "to_pen_id"
            ],
            "properties": {
                "quantity": {
                    "description": "移入猪只数量",
                    "type": "integer",
                    "minimum": 1
                },
                "remarks": {
                    "description": "备注",
                    "type": "string"
                },
                "to_pen_id": {
                    "description": "目标猪栏ID",
                    "type": "integer"
                }
            }
        },
        "dto.NotificationDTO": {
            "type": "object",
            "properties": {
                "alarm_timestamp": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "error_message": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "level": {
                    "$ref": "#/definitions/zapcore.Level"
                },
                "message": {
                    "type": "string"
                },
                "notifier_type": {
                    "$ref": "#/definitions/notify.NotifierType"
                },
                "status": {
                    "$ref": "#/definitions/models.NotificationStatus"
                },
                "title": {
                    "type": "string"
                },
                "to_address": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "user_id": {
                    "type": "integer"
                }
            }
        },
        "dto.PaginationDTO": {
            "type": "object",
            "properties": {
                "page": {
                    "type": "integer"
                },
                "page_size": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.PenDTO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "dto.PenResponse": {
            "type": "object",
            "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"
                }
            }
        },
        "dto.PendingCollectionDTO": {
            "type": "object",
            "properties": {
                "command_metadata": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "correlation_id": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "device_id": {
                    "type": "integer"
                },
                "fulfilled_at": {
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/models.PendingCollectionStatus"
                }
            }
        },
        "dto.PigBatchCreateDTO": {
            "type": "object",
            "required": [
                "batch_number",
                "initial_count",
                "origin_type",
                "start_date",
                "status"
            ],
            "properties": {
                "batch_number": {
                    "description": "批次编号，必填",
                    "type": "string"
                },
                "initial_count": {
                    "description": "初始数量，必填，最小为1",
                    "type": "integer",
                    "minimum": 1
                },
                "origin_type": {
                    "description": "批次来源，必填",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PigBatchOriginType"
                        }
                    ]
                },
                "start_date": {
                    "description": "批次开始日期，必填",
                    "type": "string"
                },
                "status": {
                    "description": "批次状态，必填",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PigBatchStatus"
                        }
                    ]
                }
            }
        },
        "dto.PigBatchLogDTO": {
            "type": "object",
            "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"
                }
            }
        },
        "dto.PigBatchResponseDTO": {
            "type": "object",
            "properties": {
                "batch_number": {
                    "description": "批次编号",
                    "type": "string"
                },
                "create_time": {
                    "description": "创建时间",
                    "type": "string"
                },
                "current_total_pigs_in_pens": {
                    "description": "当前存栏总数",
                    "type": "integer"
                },
                "current_total_quantity": {
                    "description": "当前总数",
                    "type": "integer"
                },
                "end_date": {
                    "description": "批次结束日期",
                    "type": "string"
                },
                "id": {
                    "description": "批次ID",
                    "type": "integer"
                },
                "initial_count": {
                    "description": "初始数量",
                    "type": "integer"
                },
                "is_active": {
                    "description": "是否活跃",
                    "type": "boolean"
                },
                "origin_type": {
                    "description": "批次来源",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PigBatchOriginType"
                        }
                    ]
                },
                "start_date": {
                    "description": "批次开始日期",
                    "type": "string"
                },
                "status": {
                    "description": "批次状态",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PigBatchStatus"
                        }
                    ]
                },
                "update_time": {
                    "description": "更新时间",
                    "type": "string"
                }
            }
        },
        "dto.PigBatchUpdateDTO": {
            "type": "object",
            "properties": {
                "batch_number": {
                    "description": "批次编号，可选",
                    "type": "string"
                },
                "end_date": {
                    "description": "批次结束日期，可选",
                    "type": "string"
                },
                "initial_count": {
                    "description": "初始数量，可选",
                    "type": "integer"
                },
                "origin_type": {
                    "description": "批次来源，可选",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PigBatchOriginType"
                        }
                    ]
                },
                "start_date": {
                    "description": "批次开始日期，可选",
                    "type": "string"
                },
                "status": {
                    "description": "批次状态，可选",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PigBatchStatus"
                        }
                    ]
                }
            }
        },
        "dto.PigHouseResponse": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "dto.PigPurchaseDTO": {
            "type": "object",
            "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"
                }
            }
        },
        "dto.PigSaleDTO": {
            "type": "object",
            "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"
                }
            }
        },
        "dto.PigSickLogDTO": {
            "type": "object",
            "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"
                }
            }
        },
        "dto.PigTransferLogDTO": {
            "type": "object",
            "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"
                }
            }
        },
        "dto.PlanExecutionLogDTO": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "ended_at": {
                    "type": "string"
                },
                "error": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "plan_id": {
                    "type": "integer"
                },
                "plan_name": {
                    "type": "string"
                },
                "started_at": {
                    "type": "string"
                },
                "status": {
                    "$ref": "#/definitions/models.ExecutionStatus"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.PlanResponse": {
            "type": "object",
            "properties": {
                "content_type": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PlanContentType"
                        }
                    ],
                    "example": "任务"
                },
                "cron_expression": {
                    "type": "string",
                    "example": "0 0 6 * * *"
                },
                "description": {
                    "type": "string",
                    "example": "根据温度自动调节风扇和加热器"
                },
                "execute_count": {
                    "type": "integer",
                    "example": 0
                },
                "execute_num": {
                    "type": "integer",
                    "example": 10
                },
                "execution_type": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PlanExecutionType"
                        }
                    ],
                    "example": "自动"
                },
                "id": {
                    "type": "integer",
                    "example": 1
                },
                "name": {
                    "type": "string",
                    "example": "猪舍温度控制计划"
                },
                "plan_type": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PlanType"
                        }
                    ],
                    "example": "自定义任务"
                },
                "status": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PlanStatus"
                        }
                    ],
                    "example": "已启用"
                },
                "sub_plans": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.SubPlanResponse"
                    }
                },
                "tasks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.TaskResponse"
                    }
                }
            }
        },
        "dto.RawMaterialDTO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "dto.RawMaterialPurchaseDTO": {
            "type": "object",
            "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"
                }
            }
        },
        "dto.RawMaterialStockLogDTO": {
            "type": "object",
            "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"
                }
            }
        },
        "dto.ReclassifyPenToNewBatchRequest": {
            "type": "object",
            "required": [
                "pen_id",
                "to_batch_id"
            ],
            "properties": {
                "pen_id": {
                    "description": "待划拨的猪栏ID",
                    "type": "integer"
                },
                "remarks": {
                    "description": "备注",
                    "type": "string"
                },
                "to_batch_id": {
                    "description": "目标猪批次ID",
                    "type": "integer"
                }
            }
        },
        "dto.RecordCullRequest": {
            "type": "object",
            "required": [
                "happened_at",
                "pen_id",
                "quantity"
            ],
            "properties": {
                "happened_at": {
                    "description": "发生时间",
                    "type": "string"
                },
                "pen_id": {
                    "description": "猪栏ID",
                    "type": "integer"
                },
                "quantity": {
                    "description": "淘汰猪数量",
                    "type": "integer",
                    "minimum": 1
                },
                "remarks": {
                    "description": "备注",
                    "type": "string"
                }
            }
        },
        "dto.RecordDeathRequest": {
            "type": "object",
            "required": [
                "happened_at",
                "pen_id",
                "quantity"
            ],
            "properties": {
                "happened_at": {
                    "description": "发生时间",
                    "type": "string"
                },
                "pen_id": {
                    "description": "猪栏ID",
                    "type": "integer"
                },
                "quantity": {
                    "description": "死亡猪数量",
                    "type": "integer",
                    "minimum": 1
                },
                "remarks": {
                    "description": "备注",
                    "type": "string"
                }
            }
        },
        "dto.RecordSickPigCullRequest": {
            "type": "object",
            "required": [
                "happened_at",
                "pen_id",
                "quantity",
                "treatment_location"
            ],
            "properties": {
                "happened_at": {
                    "description": "发生时间",
                    "type": "string"
                },
                "pen_id": {
                    "description": "猪栏ID",
                    "type": "integer"
                },
                "quantity": {
                    "description": "淘汰猪数量",
                    "type": "integer",
                    "minimum": 1
                },
                "remarks": {
                    "description": "备注",
                    "type": "string"
                },
                "treatment_location": {
                    "description": "治疗地点",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PigBatchSickPigTreatmentLocation"
                        }
                    ]
                }
            }
        },
        "dto.RecordSickPigDeathRequest": {
            "type": "object",
            "required": [
                "happened_at",
                "pen_id",
                "quantity",
                "treatment_location"
            ],
            "properties": {
                "happened_at": {
                    "description": "发生时间",
                    "type": "string"
                },
                "pen_id": {
                    "description": "猪栏ID",
                    "type": "integer"
                },
                "quantity": {
                    "description": "死亡猪数量",
                    "type": "integer",
                    "minimum": 1
                },
                "remarks": {
                    "description": "备注",
                    "type": "string"
                },
                "treatment_location": {
                    "description": "治疗地点",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PigBatchSickPigTreatmentLocation"
                        }
                    ]
                }
            }
        },
        "dto.RecordSickPigRecoveryRequest": {
            "type": "object",
            "required": [
                "happened_at",
                "pen_id",
                "quantity",
                "treatment_location"
            ],
            "properties": {
                "happened_at": {
                    "description": "发生时间",
                    "type": "string"
                },
                "pen_id": {
                    "description": "猪栏ID",
                    "type": "integer"
                },
                "quantity": {
                    "description": "康复猪数量",
                    "type": "integer",
                    "minimum": 1
                },
                "remarks": {
                    "description": "备注",
                    "type": "string"
                },
                "treatment_location": {
                    "description": "治疗地点",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PigBatchSickPigTreatmentLocation"
                        }
                    ]
                }
            }
        },
        "dto.RecordSickPigsRequest": {
            "type": "object",
            "required": [
                "happened_at",
                "pen_id",
                "quantity",
                "treatment_location"
            ],
            "properties": {
                "happened_at": {
                    "description": "发生时间",
                    "type": "string"
                },
                "pen_id": {
                    "description": "猪栏ID",
                    "type": "integer"
                },
                "quantity": {
                    "description": "病猪数量",
                    "type": "integer",
                    "minimum": 1
                },
                "remarks": {
                    "description": "备注",
                    "type": "string"
                },
                "treatment_location": {
                    "description": "治疗地点",
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PigBatchSickPigTreatmentLocation"
                        }
                    ]
                }
            }
        },
        "dto.SellPigsRequest": {
            "type": "object",
            "required": [
                "pen_id",
                "quantity",
                "total_price",
                "trade_date",
                "trader_name",
                "unit_price"
            ],
            "properties": {
                "pen_id": {
                    "description": "猪栏ID",
                    "type": "integer"
                },
                "quantity": {
                    "description": "卖出猪只数量",
                    "type": "integer",
                    "minimum": 1
                },
                "remarks": {
                    "description": "备注",
                    "type": "string"
                },
                "total_price": {
                    "description": "总价",
                    "type": "number",
                    "minimum": 0
                },
                "trade_date": {
                    "description": "交易日期",
                    "type": "string"
                },
                "trader_name": {
                    "description": "交易方名称",
                    "type": "string"
                },
                "unit_price": {
                    "description": "单价",
                    "type": "number",
                    "minimum": 0
                }
            }
        },
        "dto.SendTestNotificationRequest": {
            "type": "object",
            "required": [
                "type"
            ],
            "properties": {
                "type": {
                    "description": "Type 指定要测试的通知渠道",
                    "allOf": [
                        {
                            "$ref": "#/definitions/notify.NotifierType"
                        }
                    ]
                }
            }
        },
        "dto.SensorDataDTO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "device_id": {
                    "type": "integer"
                },
                "regional_controller_id": {
                    "type": "integer"
                },
                "sensor_type": {
                    "$ref": "#/definitions/models.SensorType"
                },
                "time": {
                    "type": "string"
                }
            }
        },
        "dto.SubPlanResponse": {
            "type": "object",
            "properties": {
                "child_plan": {
                    "$ref": "#/definitions/dto.PlanResponse"
                },
                "child_plan_id": {
                    "type": "integer",
                    "example": 2
                },
                "execution_order": {
                    "type": "integer",
                    "example": 1
                },
                "id": {
                    "type": "integer",
                    "example": 1
                },
                "parent_plan_id": {
                    "type": "integer",
                    "example": 1
                }
            }
        },
        "dto.TaskDTO": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "dto.TaskExecutionLogDTO": {
            "type": "object",
            "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": {
                    "description": "嵌套的任务信息",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.TaskDTO"
                        }
                    ]
                },
                "task_id": {
                    "type": "integer"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.TaskRequest": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string",
                    "example": "打开1号风扇"
                },
                "execution_order": {
                    "type": "integer",
                    "example": 1
                },
                "name": {
                    "type": "string",
                    "example": "打开风扇"
                },
                "parameters": {
                    "type": "object",
                    "additionalProperties": true
                },
                "type": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.TaskType"
                        }
                    ],
                    "example": "等待"
                }
            }
        },
        "dto.TaskResponse": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string",
                    "example": "打开1号风扇"
                },
                "execution_order": {
                    "type": "integer",
                    "example": 1
                },
                "id": {
                    "type": "integer",
                    "example": 1
                },
                "name": {
                    "type": "string",
                    "example": "打开风扇"
                },
                "parameters": {
                    "type": "object",
                    "additionalProperties": true
                },
                "plan_id": {
                    "type": "integer",
                    "example": 1
                },
                "type": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.TaskType"
                        }
                    ],
                    "example": "等待"
                }
            }
        },
        "dto.TransferPigsAcrossBatchesRequest": {
            "type": "object",
            "required": [
                "dest_batch_id",
                "from_pen_id",
                "quantity",
                "to_pen_id"
            ],
            "properties": {
                "dest_batch_id": {
                    "description": "目标猪批次ID",
                    "type": "integer"
                },
                "from_pen_id": {
                    "description": "源猪栏ID",
                    "type": "integer"
                },
                "quantity": {
                    "description": "调栏猪只数量",
                    "type": "integer",
                    "minimum": 1
                },
                "remarks": {
                    "description": "备注",
                    "type": "string"
                },
                "to_pen_id": {
                    "description": "目标猪栏ID",
                    "type": "integer"
                }
            }
        },
        "dto.TransferPigsWithinBatchRequest": {
            "type": "object",
            "required": [
                "from_pen_id",
                "quantity",
                "to_pen_id"
            ],
            "properties": {
                "from_pen_id": {
                    "description": "源猪栏ID",
                    "type": "integer"
                },
                "quantity": {
                    "description": "调栏猪只数量",
                    "type": "integer",
                    "minimum": 1
                },
                "remarks": {
                    "description": "备注",
                    "type": "string"
                },
                "to_pen_id": {
                    "description": "目标猪栏ID",
                    "type": "integer"
                }
            }
        },
        "dto.UpdateAreaControllerRequest": {
            "type": "object",
            "required": [
                "name",
                "network_id"
            ],
            "properties": {
                "location": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "network_id": {
                    "type": "string"
                },
                "properties": {
                    "type": "object",
                    "additionalProperties": true
                }
            }
        },
        "dto.UpdateDeviceRequest": {
            "type": "object",
            "required": [
                "area_controller_id",
                "device_template_id",
                "name"
            ],
            "properties": {
                "area_controller_id": {
                    "type": "integer"
                },
                "device_template_id": {
                    "type": "integer"
                },
                "location": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "properties": {
                    "type": "object",
                    "additionalProperties": true
                }
            }
        },
        "dto.UpdateDeviceTemplateRequest": {
            "type": "object",
            "required": [
                "category",
                "commands",
                "name"
            ],
            "properties": {
                "category": {
                    "$ref": "#/definitions/models.DeviceCategory"
                },
                "commands": {
                    "type": "object",
                    "additionalProperties": true
                },
                "description": {
                    "type": "string"
                },
                "manufacturer": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.ValueDescriptor"
                    }
                }
            }
        },
        "dto.UpdatePenRequest": {
            "type": "object",
            "required": [
                "capacity",
                "house_id",
                "pen_number",
                "status"
            ],
            "properties": {
                "capacity": {
                    "type": "integer"
                },
                "house_id": {
                    "type": "integer"
                },
                "pen_number": {
                    "type": "string"
                },
                "status": {
                    "description": "添加oneof校验",
                    "enum": [
                        "空闲",
                        "使用中",
                        "病猪栏",
                        "康复栏",
                        "清洗消毒",
                        "维修中"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PenStatus"
                        }
                    ]
                }
            }
        },
        "dto.UpdatePenStatusRequest": {
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "enum": [
                        "空闲",
                        "使用中",
                        "病猪栏",
                        "康复栏",
                        "清洗消毒",
                        "维修中"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PenStatus"
                        }
                    ],
                    "example": "病猪栏"
                }
            }
        },
        "dto.UpdatePigHouseRequest": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "dto.UpdatePlanRequest": {
            "type": "object",
            "required": [
                "execution_type"
            ],
            "properties": {
                "cron_expression": {
                    "type": "string",
                    "example": "0 0 6 * * *"
                },
                "description": {
                    "type": "string",
                    "example": "更新后的描述"
                },
                "execute_num": {
                    "type": "integer",
                    "minimum": 0,
                    "example": 10
                },
                "execution_type": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.PlanExecutionType"
                        }
                    ],
                    "example": "自动"
                },
                "name": {
                    "type": "string",
                    "example": "猪舍温度控制计划V2"
                },
                "sub_plan_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "tasks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.TaskRequest"
                    }
                }
            }
        },
        "dto.UserActionLogDTO": {
            "type": "object",
            "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": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "time": {
                    "type": "string"
                },
                "user_id": {
                    "type": "integer"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "dto.WeighingBatchDTO": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "pig_batch_id": {
                    "type": "integer"
                },
                "updated_at": {
                    "type": "string"
                },
                "weighing_time": {
                    "type": "string"
                }
            }
        },
        "dto.WeighingRecordDTO": {
            "type": "object",
            "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"
                }
            }
        },
        "models.AuditStatus": {
            "type": "string",
            "enum": [
                "成功",
                "失败"
            ],
            "x-enum-varnames": [
                "AuditStatusSuccess",
                "AuditStatusFailed"
            ]
        },
        "models.DeviceCategory": {
            "type": "string",
            "enum": [
                "执行器",
                "传感器"
            ],
            "x-enum-varnames": [
                "CategoryActuator",
                "CategorySensor"
            ]
        },
        "models.ExecutionStatus": {
            "type": "string",
            "enum": [
                "已开始",
                "已完成",
                "失败",
                "已取消",
                "等待中"
            ],
            "x-enum-comments": {
                "ExecutionStatusCancelled": "执行取消",
                "ExecutionStatusCompleted": "执行完成",
                "ExecutionStatusFailed": "执行失败",
                "ExecutionStatusStarted": "开始执行",
                "ExecutionStatusWaiting": "等待执行 (用于预写日志)"
            },
            "x-enum-descriptions": [
                "开始执行",
                "执行完成",
                "执行失败",
                "执行取消",
                "等待执行 (用于预写日志)"
            ],
            "x-enum-varnames": [
                "ExecutionStatusStarted",
                "ExecutionStatusCompleted",
                "ExecutionStatusFailed",
                "ExecutionStatusCancelled",
                "ExecutionStatusWaiting"
            ]
        },
        "models.LogChangeType": {
            "type": "string",
            "enum": [
                "死亡",
                "淘汰",
                "销售",
                "购买",
                "转入",
                "转出",
                "盘点校正"
            ],
            "x-enum-varnames": [
                "ChangeTypeDeath",
                "ChangeTypeCull",
                "ChangeTypeSale",
                "ChangeTypeBuy",
                "ChangeTypeTransferIn",
                "ChangeTypeTransferOut",
                "ChangeTypeCorrection"
            ]
        },
        "models.MedicationReasonType": {
            "type": "string",
            "enum": [
                "预防",
                "治疗",
                "保健"
            ],
            "x-enum-varnames": [
                "ReasonTypePreventive",
                "ReasonTypeTreatment",
                "ReasonTypeHealthCare"
            ]
        },
        "models.NotificationStatus": {
            "type": "string",
            "enum": [
                "发送成功",
                "发送失败",
                "已跳过"
            ],
            "x-enum-comments": {
                "NotificationStatusFailed": "通知发送失败",
                "NotificationStatusSkipped": "通知因某些原因被跳过（例如：用户未配置联系方式）",
                "NotificationStatusSuccess": "通知已成功发送"
            },
            "x-enum-descriptions": [
                "通知已成功发送",
                "通知发送失败",
                "通知因某些原因被跳过（例如：用户未配置联系方式）"
            ],
            "x-enum-varnames": [
                "NotificationStatusSuccess",
                "NotificationStatusFailed",
                "NotificationStatusSkipped"
            ]
        },
        "models.PenStatus": {
            "type": "string",
            "enum": [
                "空闲",
                "使用中",
                "病猪栏",
                "康复栏",
                "清洗消毒",
                "维修中"
            ],
            "x-enum-varnames": [
                "PenStatusEmpty",
                "PenStatusOccupied",
                "PenStatusSickPen",
                "PenStatusRecovering",
                "PenStatusCleaning",
                "PenStatusUnderMaint"
            ]
        },
        "models.PendingCollectionStatus": {
            "type": "string",
            "enum": [
                "等待中",
                "已完成",
                "已超时"
            ],
            "x-enum-comments": {
                "PendingStatusFulfilled": "已收到设备响应并成功处理",
                "PendingStatusPending": "请求已发送，等待设备响应",
                "PendingStatusTimedOut": "请求超时，未收到设备响应"
            },
            "x-enum-descriptions": [
                "请求已发送，等待设备响应",
                "已收到设备响应并成功处理",
                "请求超时，未收到设备响应"
            ],
            "x-enum-varnames": [
                "PendingStatusPending",
                "PendingStatusFulfilled",
                "PendingStatusTimedOut"
            ]
        },
        "models.PigBatchOriginType": {
            "type": "string",
            "enum": [
                "自繁",
                "外购"
            ],
            "x-enum-varnames": [
                "OriginTypeSelfFarrowed",
                "OriginTypePurchased"
            ]
        },
        "models.PigBatchSickPigReasonType": {
            "type": "string",
            "enum": [
                "患病",
                "康复",
                "死亡",
                "淘汰",
                "转入",
                "转出",
                "其他"
            ],
            "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": {
            "type": "string",
            "enum": [
                "原地治疗",
                "病猪栏治疗"
            ],
            "x-enum-varnames": [
                "TreatmentLocationOnSite",
                "TreatmentLocationSickBay"
            ]
        },
        "models.PigBatchStatus": {
            "type": "string",
            "enum": [
                "保育",
                "生长",
                "育肥",
                "待售",
                "已出售",
                "已归档"
            ],
            "x-enum-comments": {
                "BatchStatusArchived": "批次结束（如全群淘汰等）",
                "BatchStatusFinishing": "最后的育肥阶段",
                "BatchStatusForSale": "达到出栏标准",
                "BatchStatusGrowing": "生长育肥阶段",
                "BatchStatusWeaning": "从断奶到保育结束"
            },
            "x-enum-descriptions": [
                "从断奶到保育结束",
                "生长育肥阶段",
                "最后的育肥阶段",
                "达到出栏标准",
                "",
                "批次结束（如全群淘汰等）"
            ],
            "x-enum-varnames": [
                "BatchStatusWeaning",
                "BatchStatusGrowing",
                "BatchStatusFinishing",
                "BatchStatusForSale",
                "BatchStatusSold",
                "BatchStatusArchived"
            ]
        },
        "models.PigTransferType": {
            "type": "string",
            "enum": [
                "群内调栏",
                "跨群调栏",
                "销售",
                "死亡",
                "淘汰",
                "新购入",
                "产房转入"
            ],
            "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": {
            "type": "string",
            "enum": [
                "子计划",
                "任务"
            ],
            "x-enum-comments": {
                "PlanContentTypeSubPlans": "计划包含子计划",
                "PlanContentTypeTasks": "计划包含任务"
            },
            "x-enum-descriptions": [
                "计划包含子计划",
                "计划包含任务"
            ],
            "x-enum-varnames": [
                "PlanContentTypeSubPlans",
                "PlanContentTypeTasks"
            ]
        },
        "models.PlanExecutionType": {
            "type": "string",
            "enum": [
                "自动",
                "手动"
            ],
            "x-enum-comments": {
                "PlanExecutionTypeAutomatic": "自动执行 (包含定时和循环)",
                "PlanExecutionTypeManual": "手动执行"
            },
            "x-enum-descriptions": [
                "自动执行 (包含定时和循环)",
                "手动执行"
            ],
            "x-enum-varnames": [
                "PlanExecutionTypeAutomatic",
                "PlanExecutionTypeManual"
            ]
        },
        "models.PlanStatus": {
            "type": "string",
            "enum": [
                "已禁用",
                "已启用",
                "执行完毕",
                "执行失败"
            ],
            "x-enum-comments": {
                "PlanStatusDisabled": "禁用计划",
                "PlanStatusEnabled": "启用计划",
                "PlanStatusFailed": "执行失败",
                "PlanStatusStopped": "执行完毕"
            },
            "x-enum-descriptions": [
                "禁用计划",
                "启用计划",
                "执行完毕",
                "执行失败"
            ],
            "x-enum-varnames": [
                "PlanStatusDisabled",
                "PlanStatusEnabled",
                "PlanStatusStopped",
                "PlanStatusFailed"
            ]
        },
        "models.PlanType": {
            "type": "string",
            "enum": [
                "自定义任务",
                "系统任务"
            ],
            "x-enum-varnames": [
                "PlanTypeCustom",
                "PlanTypeSystem"
            ]
        },
        "models.SensorType": {
            "type": "string",
            "enum": [
                "信号强度",
                "电池电量",
                "温度",
                "湿度",
                "重量"
            ],
            "x-enum-comments": {
                "SensorTypeBatteryLevel": "电池电量",
                "SensorTypeHumidity": "湿度",
                "SensorTypeSignalMetrics": "信号强度",
                "SensorTypeTemperature": "温度",
                "SensorTypeWeight": "重量"
            },
            "x-enum-descriptions": [
                "信号强度",
                "电池电量",
                "温度",
                "湿度",
                "重量"
            ],
            "x-enum-varnames": [
                "SensorTypeSignalMetrics",
                "SensorTypeBatteryLevel",
                "SensorTypeTemperature",
                "SensorTypeHumidity",
                "SensorTypeWeight"
            ]
        },
        "models.StockLogSourceType": {
            "type": "string",
            "enum": [
                "采购入库",
                "饲喂出库",
                "变质出库",
                "售卖出库",
                "杂用领取",
                "手动盘点"
            ],
            "x-enum-varnames": [
                "StockLogSourcePurchase",
                "StockLogSourceFeeding",
                "StockLogSourceDeteriorate",
                "StockLogSourceSale",
                "StockLogSourceMiscellaneous",
                "StockLogSourceManual"
            ]
        },
        "models.TaskType": {
            "type": "string",
            "enum": [
                "计划分析",
                "等待",
                "下料",
                "全量采集"
            ],
            "x-enum-comments": {
                "TaskPlanAnalysis": "解析Plan的Task列表并添加到待执行队列的特殊任务",
                "TaskTypeFullCollection": "新增的全量采集任务",
                "TaskTypeReleaseFeedWeight": "下料口释放指定重量任务",
                "TaskTypeWaiting": "等待任务"
            },
            "x-enum-descriptions": [
                "解析Plan的Task列表并添加到待执行队列的特殊任务",
                "等待任务",
                "下料口释放指定重量任务",
                "新增的全量采集任务"
            ],
            "x-enum-varnames": [
                "TaskPlanAnalysis",
                "TaskTypeWaiting",
                "TaskTypeReleaseFeedWeight",
                "TaskTypeFullCollection"
            ]
        },
        "models.ValueDescriptor": {
            "type": "object",
            "properties": {
                "multiplier": {
                    "description": "乘数，用于原始数据转换",
                    "type": "number"
                },
                "offset": {
                    "description": "偏移量，用于原始数据转换",
                    "type": "number"
                },
                "type": {
                    "$ref": "#/definitions/models.SensorType"
                }
            }
        },
        "notify.NotifierType": {
            "type": "string",
            "enum": [
                "邮件",
                "企业微信",
                "飞书",
                "日志"
            ],
            "x-enum-varnames": [
                "NotifierTypeSMTP",
                "NotifierTypeWeChat",
                "NotifierTypeLark",
                "NotifierTypeLog"
            ]
        },
        "repository.PlanTypeFilter": {
            "type": "string",
            "enum": [
                "所有任务",
                "自定义任务",
                "系统任务"
            ],
            "x-enum-varnames": [
                "PlanTypeFilterAll",
                "PlanTypeFilterCustom",
                "PlanTypeFilterSystem"
            ]
        },
        "zapcore.Level": {
            "type": "integer",
            "format": "int32",
            "enum": [
                -1,
                0,
                1,
                2,
                3,
                4,
                5,
                -1,
                5,
                6,
                7
            ],
            "x-enum-varnames": [
                "DebugLevel",
                "InfoLevel",
                "WarnLevel",
                "ErrorLevel",
                "DPanicLevel",
                "PanicLevel",
                "FatalLevel",
                "_minLevel",
                "_maxLevel",
                "InvalidLevel",
                "_numLevels"
            ]
        }
    },
    "securityDefinitions": {
        "BearerAuth": {
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    }
}