diff --git a/docs/docs.go b/docs/docs.go index 9d484ed..24d79f2 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -459,7 +459,34 @@ const docTemplate = `{ "device.CreateDeviceRequest": { "type": "object" }, - "device.DeviceResponse": { + "device.UpdateDeviceRequest": { + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "location": { + "type": "string" + }, + "name": { + "type": "string" + }, + "parent_id": { + "type": "integer" + }, + "properties": { + "$ref": "#/definitions/controller.Properties" + }, + "sub_type": { + "$ref": "#/definitions/models.DeviceSubType" + }, + "type": { + "$ref": "#/definitions/models.DeviceType" + } + } + }, + "git_huangwc_com_pig_pig-farm-controller_internal_app_controller_device.DeviceResponse": { "type": "object", "properties": { "created_at": { @@ -491,33 +518,6 @@ const docTemplate = `{ } } }, - "device.UpdateDeviceRequest": { - "type": "object", - "required": [ - "name", - "type" - ], - "properties": { - "location": { - "type": "string" - }, - "name": { - "type": "string" - }, - "parent_id": { - "type": "integer" - }, - "properties": { - "$ref": "#/definitions/controller.Properties" - }, - "sub_type": { - "$ref": "#/definitions/models.DeviceSubType" - }, - "type": { - "$ref": "#/definitions/models.DeviceType" - } - } - }, "models.DeviceSubType": { "type": "string", "enum": [ @@ -588,18 +588,46 @@ const docTemplate = `{ "PlanExecutionTypeManual" ] }, + "models.PlanStatus": { + "type": "integer", + "format": "int32", + "enum": [ + 0, + 1, + 2 + ], + "x-enum-comments": { + "PlanStatusDisabled": "禁用计划", + "PlanStatusEnabled": "启用计划", + "PlanStatusStopeed": "执行完毕" + }, + "x-enum-descriptions": [ + "启用计划", + "禁用计划", + "执行完毕" + ], + "x-enum-varnames": [ + "PlanStatusEnabled", + "PlanStatusDisabled", + "PlanStatusStopeed" + ] + }, "models.TaskType": { "type": "string", "enum": [ + "plan_analysis", "waiting" ], "x-enum-comments": { + "TaskPlanAnalysis": "解析Plan的Task列表并添加到待执行队列的特殊任务", "TaskTypeWaiting": "等待任务" }, "x-enum-descriptions": [ + "解析Plan的Task列表并添加到待执行队列的特殊任务", "等待任务" ], "x-enum-varnames": [ + "TaskPlanAnalysis", "TaskTypeWaiting" ] }, @@ -687,6 +715,14 @@ const docTemplate = `{ "type": "string", "example": "根据温度自动调节风扇和加热器" }, + "execute_count": { + "type": "integer", + "example": 0 + }, + "execute_num": { + "type": "integer", + "example": 10 + }, "execution_type": { "allOf": [ { @@ -703,6 +739,14 @@ const docTemplate = `{ "type": "string", "example": "猪舍温度控制计划" }, + "status": { + "allOf": [ + { + "$ref": "#/definitions/models.PlanStatus" + } + ], + "example": 0 + }, "sub_plans": { "type": "array", "items": { diff --git a/docs/swagger.json b/docs/swagger.json index a8eb9a8..dc7bc1f 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -448,7 +448,34 @@ "device.CreateDeviceRequest": { "type": "object" }, - "device.DeviceResponse": { + "device.UpdateDeviceRequest": { + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "location": { + "type": "string" + }, + "name": { + "type": "string" + }, + "parent_id": { + "type": "integer" + }, + "properties": { + "$ref": "#/definitions/controller.Properties" + }, + "sub_type": { + "$ref": "#/definitions/models.DeviceSubType" + }, + "type": { + "$ref": "#/definitions/models.DeviceType" + } + } + }, + "git_huangwc_com_pig_pig-farm-controller_internal_app_controller_device.DeviceResponse": { "type": "object", "properties": { "created_at": { @@ -480,33 +507,6 @@ } } }, - "device.UpdateDeviceRequest": { - "type": "object", - "required": [ - "name", - "type" - ], - "properties": { - "location": { - "type": "string" - }, - "name": { - "type": "string" - }, - "parent_id": { - "type": "integer" - }, - "properties": { - "$ref": "#/definitions/controller.Properties" - }, - "sub_type": { - "$ref": "#/definitions/models.DeviceSubType" - }, - "type": { - "$ref": "#/definitions/models.DeviceType" - } - } - }, "models.DeviceSubType": { "type": "string", "enum": [ @@ -577,18 +577,46 @@ "PlanExecutionTypeManual" ] }, + "models.PlanStatus": { + "type": "integer", + "format": "int32", + "enum": [ + 0, + 1, + 2 + ], + "x-enum-comments": { + "PlanStatusDisabled": "禁用计划", + "PlanStatusEnabled": "启用计划", + "PlanStatusStopeed": "执行完毕" + }, + "x-enum-descriptions": [ + "启用计划", + "禁用计划", + "执行完毕" + ], + "x-enum-varnames": [ + "PlanStatusEnabled", + "PlanStatusDisabled", + "PlanStatusStopeed" + ] + }, "models.TaskType": { "type": "string", "enum": [ + "plan_analysis", "waiting" ], "x-enum-comments": { + "TaskPlanAnalysis": "解析Plan的Task列表并添加到待执行队列的特殊任务", "TaskTypeWaiting": "等待任务" }, "x-enum-descriptions": [ + "解析Plan的Task列表并添加到待执行队列的特殊任务", "等待任务" ], "x-enum-varnames": [ + "TaskPlanAnalysis", "TaskTypeWaiting" ] }, @@ -676,6 +704,14 @@ "type": "string", "example": "根据温度自动调节风扇和加热器" }, + "execute_count": { + "type": "integer", + "example": 0 + }, + "execute_num": { + "type": "integer", + "example": 10 + }, "execution_type": { "allOf": [ { @@ -692,6 +728,14 @@ "type": "string", "example": "猪舍温度控制计划" }, + "status": { + "allOf": [ + { + "$ref": "#/definitions/models.PlanStatus" + } + ], + "example": 0 + }, "sub_plans": { "type": "array", "items": { diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 3f48976..3a53d16 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -14,7 +14,25 @@ definitions: type: object device.CreateDeviceRequest: type: object - device.DeviceResponse: + device.UpdateDeviceRequest: + properties: + location: + type: string + name: + type: string + parent_id: + type: integer + properties: + $ref: '#/definitions/controller.Properties' + sub_type: + $ref: '#/definitions/models.DeviceSubType' + type: + $ref: '#/definitions/models.DeviceType' + required: + - name + - type + type: object + git_huangwc_com_pig_pig-farm-controller_internal_app_controller_device.DeviceResponse: properties: created_at: type: string @@ -35,24 +53,6 @@ definitions: updated_at: type: string type: object - device.UpdateDeviceRequest: - properties: - location: - type: string - name: - type: string - parent_id: - type: integer - properties: - $ref: '#/definitions/controller.Properties' - sub_type: - $ref: '#/definitions/models.DeviceSubType' - type: - $ref: '#/definitions/models.DeviceType' - required: - - name - - type - type: object models.DeviceSubType: enum: - "" @@ -107,15 +107,38 @@ definitions: x-enum-varnames: - PlanExecutionTypeAutomatic - PlanExecutionTypeManual + models.PlanStatus: + enum: + - 0 + - 1 + - 2 + format: int32 + type: integer + x-enum-comments: + PlanStatusDisabled: 禁用计划 + PlanStatusEnabled: 启用计划 + PlanStatusStopeed: 执行完毕 + x-enum-descriptions: + - 启用计划 + - 禁用计划 + - 执行完毕 + x-enum-varnames: + - PlanStatusEnabled + - PlanStatusDisabled + - PlanStatusStopeed models.TaskType: enum: + - plan_analysis - waiting type: string x-enum-comments: + TaskPlanAnalysis: 解析Plan的Task列表并添加到待执行队列的特殊任务 TaskTypeWaiting: 等待任务 x-enum-descriptions: + - 解析Plan的Task列表并添加到待执行队列的特殊任务 - 等待任务 x-enum-varnames: + - TaskPlanAnalysis - TaskTypeWaiting plan.CreatePlanRequest: properties: @@ -171,6 +194,12 @@ definitions: description: example: 根据温度自动调节风扇和加热器 type: string + execute_count: + example: 0 + type: integer + execute_num: + example: 10 + type: integer execution_type: allOf: - $ref: '#/definitions/models.PlanExecutionType' @@ -181,6 +210,10 @@ definitions: name: example: 猪舍温度控制计划 type: string + status: + allOf: + - $ref: '#/definitions/models.PlanStatus' + example: 0 sub_plans: items: $ref: '#/definitions/plan.SubPlanResponse' diff --git a/internal/app/controller/plan/converter.go b/internal/app/controller/plan/converter.go index 80ad497..4af0d70 100644 --- a/internal/app/controller/plan/converter.go +++ b/internal/app/controller/plan/converter.go @@ -17,6 +17,9 @@ func PlanToResponse(plan *models.Plan) *PlanResponse { Name: plan.Name, Description: plan.Description, ExecutionType: plan.ExecutionType, + Status: plan.Status, + ExecuteNum: plan.ExecuteNum, + ExecuteCount: plan.ExecuteCount, CronExpression: plan.CronExpression, ContentType: plan.ContentType, } diff --git a/internal/app/controller/plan/plan_controller.go b/internal/app/controller/plan/plan_controller.go index d7c9576..42d15f5 100644 --- a/internal/app/controller/plan/plan_controller.go +++ b/internal/app/controller/plan/plan_controller.go @@ -32,6 +32,9 @@ type PlanResponse struct { Name string `json:"name" example:"猪舍温度控制计划"` Description string `json:"description" example:"根据温度自动调节风扇和加热器"` ExecutionType models.PlanExecutionType `json:"execution_type" example:"automatic"` + Status models.PlanStatus `json:"status" example:"0"` + ExecuteNum uint `json:"execute_num" example:"10"` + ExecuteCount uint `json:"execute_count" example:"0"` CronExpression string `json:"cron_expression" example:"0 0 6 * * *"` ContentType models.PlanContentType `json:"content_type" example:"tasks"` SubPlans []SubPlanResponse `json:"sub_plans,omitempty"`