定义plan_controller请求和响应
This commit is contained in:
@@ -3,6 +3,7 @@ package plan
|
|||||||
import (
|
import (
|
||||||
"git.huangwc.com/pig/pig-farm-controller/internal/app/controller"
|
"git.huangwc.com/pig/pig-farm-controller/internal/app/controller"
|
||||||
"git.huangwc.com/pig/pig-farm-controller/internal/infra/logs"
|
"git.huangwc.com/pig/pig-farm-controller/internal/infra/logs"
|
||||||
|
"git.huangwc.com/pig/pig-farm-controller/internal/infra/models"
|
||||||
"git.huangwc.com/pig/pig-farm-controller/internal/infra/repository"
|
"git.huangwc.com/pig/pig-farm-controller/internal/infra/repository"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
@@ -11,19 +12,25 @@ import (
|
|||||||
|
|
||||||
// CreatePlanRequest 定义创建计划请求的结构体
|
// CreatePlanRequest 定义创建计划请求的结构体
|
||||||
type CreatePlanRequest struct {
|
type CreatePlanRequest struct {
|
||||||
Name string `json:"name" binding:"required" example:"猪舍温度控制计划"`
|
Name string `json:"name" binding:"required" example:"猪舍温度控制计划"`
|
||||||
Description string `json:"description" example:"根据温度自动调节风扇和加热器"`
|
Description string `json:"description" example:"根据温度自动调节风扇和加热器"`
|
||||||
// 更多计划基本信息字段
|
ExecutionType models.PlanExecutionType `json:"execution_type" binding:"required" example:"automatic"`
|
||||||
// SubPlans 或 Tasks 可以在这里嵌套定义,以支持一次性创建
|
CronExpression string `json:"cron_expression" example:"0 0 6 * * *"`
|
||||||
|
ContentType models.PlanContentType `json:"content_type" binding:"required" example:"tasks"`
|
||||||
|
SubPlanIDs []uint `json:"sub_plan_ids,omitempty"`
|
||||||
|
Tasks []TaskRequest `json:"tasks,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// PlanResponse 定义计划详情响应的结构体
|
// PlanResponse 定义计划详情响应的结构体
|
||||||
type PlanResponse struct {
|
type PlanResponse struct {
|
||||||
ID uint `json:"id" example:"1"`
|
ID uint `json:"id" example:"1"`
|
||||||
Name string `json:"name" example:"猪舍温度控制计划"`
|
Name string `json:"name" example:"猪舍温度控制计划"`
|
||||||
Description string `json:"description" example:"根据温度自动调节风扇和加热器"`
|
Description string `json:"description" example:"根据温度自动调节风扇和加热器"`
|
||||||
// 更多计划基本信息字段
|
ExecutionType models.PlanExecutionType `json:"execution_type" example:"automatic"`
|
||||||
// SubPlans 或 Tasks 也可以在这里返回
|
CronExpression string `json:"cron_expression" example:"0 0 6 * * *"`
|
||||||
|
ContentType models.PlanContentType `json:"content_type" example:"tasks"`
|
||||||
|
SubPlans []SubPlanResponse `json:"sub_plans,omitempty"`
|
||||||
|
Tasks []TaskResponse `json:"tasks,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// ListPlansResponse 定义获取计划列表响应的结构体
|
// ListPlansResponse 定义获取计划列表响应的结构体
|
||||||
@@ -34,9 +41,42 @@ type ListPlansResponse struct {
|
|||||||
|
|
||||||
// UpdatePlanRequest 定义更新计划请求的结构体
|
// UpdatePlanRequest 定义更新计划请求的结构体
|
||||||
type UpdatePlanRequest struct {
|
type UpdatePlanRequest struct {
|
||||||
Name string `json:"name" example:"猪舍温度控制计划V2"`
|
Name string `json:"name" example:"猪舍温度控制计划V2"`
|
||||||
Description string `json:"description" example:"更新后的描述"`
|
Description string `json:"description" example:"更新后的描述"`
|
||||||
// 更多可更新字段
|
ExecutionType models.PlanExecutionType `json:"execution_type" example:"automatic"`
|
||||||
|
CronExpression string `json:"cron_expression" example:"0 0 6 * * *"`
|
||||||
|
ContentType models.PlanContentType `json:"content_type" example:"tasks"`
|
||||||
|
SubPlanIDs []uint `json:"sub_plan_ids,omitempty"`
|
||||||
|
Tasks []TaskRequest `json:"tasks,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// SubPlanResponse 定义子计划响应结构体
|
||||||
|
type SubPlanResponse struct {
|
||||||
|
ID uint `json:"id" example:"1"`
|
||||||
|
ParentPlanID uint `json:"parent_plan_id" example:"1"`
|
||||||
|
ChildPlanID uint `json:"child_plan_id" example:"2"`
|
||||||
|
ExecutionOrder int `json:"execution_order" example:"1"`
|
||||||
|
ChildPlan *PlanResponse `json:"child_plan,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// TaskRequest 定义任务请求结构体
|
||||||
|
type TaskRequest struct {
|
||||||
|
Name string `json:"name" example:"打开风扇"`
|
||||||
|
Description string `json:"description" example:"打开1号风扇"`
|
||||||
|
ExecutionOrder int `json:"execution_order" example:"1"`
|
||||||
|
Type models.TaskType `json:"type" example:"waiting"`
|
||||||
|
Parameters controller.Properties `json:"parameters,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// TaskResponse 定义任务响应结构体
|
||||||
|
type TaskResponse struct {
|
||||||
|
ID uint `json:"id" example:"1"`
|
||||||
|
PlanID uint `json:"plan_id" example:"1"`
|
||||||
|
Name string `json:"name" example:"打开风扇"`
|
||||||
|
Description string `json:"description" example:"打开1号风扇"`
|
||||||
|
ExecutionOrder int `json:"execution_order" example:"1"`
|
||||||
|
Type models.TaskType `json:"type" example:"waiting"`
|
||||||
|
Parameters controller.Properties `json:"parameters,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- Controller 定义 ---
|
// --- Controller 定义 ---
|
||||||
|
|||||||
Reference in New Issue
Block a user