// Package docs Code generated by swaggo/swag. DO NOT EDIT package docs import "github.com/swaggo/swag" const docTemplate = `{ "schemes": {{ marshal .Schemes }}, "swagger": "2.0", "info": { "description": "{{escape .Description}}", "title": "{{.Title}}", "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": "{{.Version}}" }, "host": "{{.Host}}", "basePath": "{{.BasePath}}", "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/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": "获取计划列表", "responses": { "200": { "description": "业务码为200代表成功获取列表", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/dto.PlanResponse" } } } } ] } } } }, "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}/history": { "get": { "security": [ { "BearerAuth": [] } ], "description": "根据用户ID,分页获取该用户的操作审计日志。", "produces": [ "application/json" ], "tags": [ "用户管理" ], "summary": "获取指定用户的操作历史", "parameters": [ { "type": "integer", "description": "用户ID", "name": "id", "in": "path", "required": true }, { "type": "integer", "default": 1, "description": "页码", "name": "page", "in": "query" }, { "type": "integer", "default": 10, "description": "每页大小", "name": "page_size", "in": "query" }, { "type": "string", "description": "按操作类型过滤", "name": "action_type", "in": "query" } ], "responses": { "200": { "description": "业务码为200代表成功获取", "schema": { "allOf": [ { "$ref": "#/definitions/controller.Response" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/dto.ListHistoryResponse" } } } ] } } } } } }, "definitions": { "controller.Response": { "type": "object", "properties": { "code": { "description": "业务状态码", "allOf": [ { "$ref": "#/definitions/controller.ResponseCode" } ] }, "data": { "description": "业务数据" }, "message": { "description": "提示信息", "type": "string" } } }, "controller.ResponseCode": { "type": "integer", "enum": [ 2000, 2001, 4000, 4001, 4004, 4009, 5000, 5003 ], "x-enum-comments": { "CodeBadRequest": "请求参数错误", "CodeConflict": "资源冲突", "CodeCreated": "创建成功", "CodeInternalError": "服务器内部错误", "CodeNotFound": "资源未找到", "CodeServiceUnavailable": "服务不可用", "CodeSuccess": "操作成功", "CodeUnauthorized": "未授权" }, "x-enum-descriptions": [ "操作成功", "创建成功", "请求参数错误", "未授权", "资源未找到", "资源冲突", "服务器内部错误", "服务不可用" ], "x-enum-varnames": [ "CodeSuccess", "CodeCreated", "CodeBadRequest", "CodeUnauthorized", "CodeNotFound", "CodeConflict", "CodeInternalError", "CodeServiceUnavailable" ] }, "dto.AreaControllerResponse": { "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" }, "dto.BuyPigsRequest": { "type": "object", "required": [ "penID", "quantity", "totalPrice", "tradeDate", "traderName", "unitPrice" ], "properties": { "penID": { "description": "猪栏ID", "type": "integer" }, "quantity": { "description": "买入猪只数量", "type": "integer", "minimum": 1 }, "remarks": { "description": "备注", "type": "string" }, "totalPrice": { "description": "总价", "type": "number", "minimum": 0 }, "tradeDate": { "description": "交易日期", "type": "string" }, "traderName": { "description": "交易方名称", "type": "string" }, "unitPrice": { "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", "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.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.HistoryResponse": { "type": "object", "properties": { "action_type": { "type": "string", "example": "更新设备" }, "description": { "type": "string", "example": "设备更新成功" }, "target_resource": {}, "time": { "type": "string" }, "user_id": { "type": "integer", "example": 101 }, "username": { "type": "string", "example": "testuser" } } }, "dto.ListHistoryResponse": { "type": "object", "properties": { "history": { "type": "array", "items": { "$ref": "#/definitions/dto.HistoryResponse" } }, "total": { "type": "integer", "example": 100 } } }, "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.MovePigsIntoPenRequest": { "type": "object", "required": [ "quantity", "toPenID" ], "properties": { "quantity": { "description": "移入猪只数量", "type": "integer", "minimum": 1 }, "remarks": { "description": "备注", "type": "string" }, "toPenID": { "description": "目标猪栏ID", "type": "integer" } } }, "dto.PenResponse": { "type": "object", "properties": { "capacity": { "type": "integer" }, "house_id": { "type": "integer" }, "id": { "type": "integer" }, "pen_number": { "type": "string" }, "pig_batch_id": { "type": "integer" }, "status": { "$ref": "#/definitions/models.PenStatus" } } }, "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.PigBatchResponseDTO": { "type": "object", "properties": { "batch_number": { "description": "批次编号", "type": "string" }, "create_time": { "description": "创建时间", "type": "string" }, "end_date": { "description": "批次结束日期", "type": "string" }, "id": { "description": "批次ID", "type": "integer" }, "initial_count": { "description": "初始数量", "type": "integer" }, "is_active": { "description": "是否活跃", "type": "boolean" }, "origin_type": { "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.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": "猪舍温度控制计划" }, "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.ReclassifyPenToNewBatchRequest": { "type": "object", "required": [ "penID", "toBatchID" ], "properties": { "penID": { "description": "待划拨的猪栏ID", "type": "integer" }, "remarks": { "description": "备注", "type": "string" }, "toBatchID": { "description": "目标猪批次ID", "type": "integer" } } }, "dto.RecordCullRequest": { "type": "object", "required": [ "happenedAt", "penID", "quantity" ], "properties": { "happenedAt": { "description": "发生时间", "type": "string" }, "penID": { "description": "猪栏ID", "type": "integer" }, "quantity": { "description": "淘汰猪数量", "type": "integer", "minimum": 1 }, "remarks": { "description": "备注", "type": "string" } } }, "dto.RecordDeathRequest": { "type": "object", "required": [ "happenedAt", "penID", "quantity" ], "properties": { "happenedAt": { "description": "发生时间", "type": "string" }, "penID": { "description": "猪栏ID", "type": "integer" }, "quantity": { "description": "死亡猪数量", "type": "integer", "minimum": 1 }, "remarks": { "description": "备注", "type": "string" } } }, "dto.RecordSickPigCullRequest": { "type": "object", "required": [ "happenedAt", "penID", "quantity", "treatmentLocation" ], "properties": { "happenedAt": { "description": "发生时间", "type": "string" }, "penID": { "description": "猪栏ID", "type": "integer" }, "quantity": { "description": "淘汰猪数量", "type": "integer", "minimum": 1 }, "remarks": { "description": "备注", "type": "string" }, "treatmentLocation": { "description": "治疗地点", "allOf": [ { "$ref": "#/definitions/models.PigBatchSickPigTreatmentLocation" } ] } } }, "dto.RecordSickPigDeathRequest": { "type": "object", "required": [ "happenedAt", "penID", "quantity", "treatmentLocation" ], "properties": { "happenedAt": { "description": "发生时间", "type": "string" }, "penID": { "description": "猪栏ID", "type": "integer" }, "quantity": { "description": "死亡猪数量", "type": "integer", "minimum": 1 }, "remarks": { "description": "备注", "type": "string" }, "treatmentLocation": { "description": "治疗地点", "allOf": [ { "$ref": "#/definitions/models.PigBatchSickPigTreatmentLocation" } ] } } }, "dto.RecordSickPigRecoveryRequest": { "type": "object", "required": [ "happenedAt", "penID", "quantity", "treatmentLocation" ], "properties": { "happenedAt": { "description": "发生时间", "type": "string" }, "penID": { "description": "猪栏ID", "type": "integer" }, "quantity": { "description": "康复猪数量", "type": "integer", "minimum": 1 }, "remarks": { "description": "备注", "type": "string" }, "treatmentLocation": { "description": "治疗地点", "allOf": [ { "$ref": "#/definitions/models.PigBatchSickPigTreatmentLocation" } ] } } }, "dto.RecordSickPigsRequest": { "type": "object", "required": [ "happenedAt", "penID", "quantity", "treatmentLocation" ], "properties": { "happenedAt": { "description": "发生时间", "type": "string" }, "penID": { "description": "猪栏ID", "type": "integer" }, "quantity": { "description": "病猪数量", "type": "integer", "minimum": 1 }, "remarks": { "description": "备注", "type": "string" }, "treatmentLocation": { "description": "治疗地点", "allOf": [ { "$ref": "#/definitions/models.PigBatchSickPigTreatmentLocation" } ] } } }, "dto.SellPigsRequest": { "type": "object", "required": [ "penID", "quantity", "totalPrice", "tradeDate", "traderName", "unitPrice" ], "properties": { "penID": { "description": "猪栏ID", "type": "integer" }, "quantity": { "description": "卖出猪只数量", "type": "integer", "minimum": 1 }, "remarks": { "description": "备注", "type": "string" }, "totalPrice": { "description": "总价", "type": "number", "minimum": 0 }, "tradeDate": { "description": "交易日期", "type": "string" }, "traderName": { "description": "交易方名称", "type": "string" }, "unitPrice": { "description": "单价", "type": "number", "minimum": 0 } } }, "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.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": [ "destBatchID", "fromPenID", "quantity", "toPenID" ], "properties": { "destBatchID": { "description": "目标猪批次ID", "type": "integer" }, "fromPenID": { "description": "源猪栏ID", "type": "integer" }, "quantity": { "description": "调栏猪只数量", "type": "integer", "minimum": 1 }, "remarks": { "description": "备注", "type": "string" }, "toPenID": { "description": "目标猪栏ID", "type": "integer" } } }, "dto.TransferPigsWithinBatchRequest": { "type": "object", "required": [ "fromPenID", "quantity", "toPenID" ], "properties": { "fromPenID": { "description": "源猪栏ID", "type": "integer" }, "quantity": { "description": "调栏猪只数量", "type": "integer", "minimum": 1 }, "remarks": { "description": "备注", "type": "string" }, "toPenID": { "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", "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" } } } }, "models.DeviceCategory": { "type": "string", "enum": [ "执行器", "传感器" ], "x-enum-varnames": [ "CategoryActuator", "CategorySensor" ] }, "models.PenStatus": { "type": "string", "enum": [ "空闲", "使用中", "病猪栏", "康复栏", "清洗消毒", "维修中" ], "x-enum-varnames": [ "PenStatusEmpty", "PenStatusOccupied", "PenStatusSickPen", "PenStatusRecovering", "PenStatusCleaning", "PenStatusUnderMaint" ] }, "models.PigBatchOriginType": { "type": "string", "enum": [ "自繁", "外购" ], "x-enum-varnames": [ "OriginTypeSelfFarrowed", "OriginTypePurchased" ] }, "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.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.SensorType": { "type": "string", "enum": [ "信号强度", "电池电量", "温度", "湿度", "重量" ], "x-enum-comments": { "SensorTypeBatteryLevel": "电池电量", "SensorTypeHumidity": "湿度", "SensorTypeSignalMetrics": "信号强度", "SensorTypeTemperature": "温度", "SensorTypeWeight": "重量" }, "x-enum-descriptions": [ "信号强度", "电池电量", "温度", "湿度", "重量" ], "x-enum-varnames": [ "SensorTypeSignalMetrics", "SensorTypeBatteryLevel", "SensorTypeTemperature", "SensorTypeHumidity", "SensorTypeWeight" ] }, "models.TaskType": { "type": "string", "enum": [ "计划分析", "等待", "下料" ], "x-enum-comments": { "TaskPlanAnalysis": "解析Plan的Task列表并添加到待执行队列的特殊任务", "TaskTypeReleaseFeedWeight": "下料口释放指定重量任务", "TaskTypeWaiting": "等待任务" }, "x-enum-descriptions": [ "解析Plan的Task列表并添加到待执行队列的特殊任务", "等待任务", "下料口释放指定重量任务" ], "x-enum-varnames": [ "TaskPlanAnalysis", "TaskTypeWaiting", "TaskTypeReleaseFeedWeight" ] }, "models.ValueDescriptor": { "type": "object", "properties": { "multiplier": { "description": "乘数,用于原始数据转换", "type": "number" }, "offset": { "description": "偏移量,用于原始数据转换", "type": "number" }, "type": { "$ref": "#/definitions/models.SensorType" } } } }, "securityDefinitions": { "BearerAuth": { "type": "apiKey", "name": "Authorization", "in": "header" } } }` // SwaggerInfo holds exported Swagger Info so clients can modify it var SwaggerInfo = &swag.Spec{ Version: "1.0", Host: "", BasePath: "", Schemes: []string{}, Title: "猪场管理系统 API", Description: "这是一个用于管理猪场设备的后端服务。", InfoInstanceName: "swagger", SwaggerTemplate: docTemplate, LeftDelim: "{{", RightDelim: "}}", } func init() { swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) }