From 2cc0167361b8cb3e97699ab085bda2b48877292a Mon Sep 17 00:00:00 2001 From: qiwang <1364512070@qq.com> Date: Tue, 26 Mar 2024 15:49:24 +0800 Subject: [PATCH] feat:Add field to create virtual machine Former-commit-id: 42e3e3d8094f4389fb2f564ae270ccc5c27fedd3 --- api/desc/pcm.api | 4 +++ api/desc/vm/pcm-vm.api | 6 ++-- .../handler/core/commitvmtasktemphandler.go | 28 +++++++++++++++++ api/internal/handler/routes.go | 5 ++++ .../logic/core/commitvmtasktemplogic.go | 30 +++++++++++++++++++ api/internal/types/types.go | 6 ++-- go.mod | 1 + go.sum | 1 + 8 files changed, 75 insertions(+), 6 deletions(-) create mode 100644 api/internal/handler/core/commitvmtasktemphandler.go create mode 100644 api/internal/logic/core/commitvmtasktemplogic.go diff --git a/api/desc/pcm.api b/api/desc/pcm.api index 63fe0d68..b776ef67 100644 --- a/api/desc/pcm.api +++ b/api/desc/pcm.api @@ -42,6 +42,10 @@ service pcm { @handler commitVmTaskHandler post /core/commitVmTask (commitVmTaskReq) returns (commitVmTaskResp) + @doc "提交虚拟机任务临时" + @handler commitVmTaskTempHandler + post /core/commitVmTaskTemp (commitVmTaskReq) returns (commitVmTaskResp) + @doc "删除任务" @handler deleteTaskHandler delete /core/deleteTask/:id (deleteTaskReq) diff --git a/api/desc/vm/pcm-vm.api b/api/desc/vm/pcm-vm.api index fd095a9b..361b86d4 100644 --- a/api/desc/vm/pcm-vm.api +++ b/api/desc/vm/pcm-vm.api @@ -321,7 +321,7 @@ type ( type ( CreateServerReq { Server Server `json:"server" copier:"Server"` - Platform string `form:"platform,optional"` + Platform string `json:"platform,optional"` } CreateServerResp { Server ServerResp `json:"server" copier:"Server"` @@ -748,7 +748,7 @@ type ( type ( CreateNetworkReq { Network CreateNetwork `json:"network" copier:"Network"` - Platform string `form:"platform,optional"` + Platform string `json:"platform,optional"` } CreateNetworkResp { Network Network `json:"network" copier:"Network"` @@ -766,7 +766,7 @@ type ( type ( CreateSubnetReq { Subnet Subnet `json:"subnet" copier:"Subnet"` - Platform string `form:"platform,optional"` + Platform string `json:"platform,optional"` } CreateSubnetResp { Subnet SubnetResp `json:"subnet" copier:"Subnet"` diff --git a/api/internal/handler/core/commitvmtasktemphandler.go b/api/internal/handler/core/commitvmtasktemphandler.go new file mode 100644 index 00000000..6167ba5c --- /dev/null +++ b/api/internal/handler/core/commitvmtasktemphandler.go @@ -0,0 +1,28 @@ +package core + +import ( + "net/http" + + "github.com/zeromicro/go-zero/rest/httpx" + "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/logic/core" + "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/svc" + "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/types" +) + +func CommitVmTaskTempHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + var req types.CommitVmTaskReq + if err := httpx.Parse(r, &req); err != nil { + httpx.ErrorCtx(r.Context(), w, err) + return + } + + l := core.NewCommitVmTaskTempLogic(r.Context(), svcCtx) + resp, err := l.CommitVmTaskTemp(&req) + if err != nil { + httpx.ErrorCtx(r.Context(), w, err) + } else { + httpx.OkJsonCtx(r.Context(), w, resp) + } + } +} diff --git a/api/internal/handler/routes.go b/api/internal/handler/routes.go index 50f31d6c..0fef8992 100644 --- a/api/internal/handler/routes.go +++ b/api/internal/handler/routes.go @@ -44,6 +44,11 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) { Path: "/core/commitVmTask", Handler: core.CommitVmTaskHandler(serverCtx), }, + { + Method: http.MethodPost, + Path: "/core/commitVmTaskTemp", + Handler: core.CommitVmTaskTempHandler(serverCtx), + }, { Method: http.MethodDelete, Path: "/core/deleteTask/:id", diff --git a/api/internal/logic/core/commitvmtasktemplogic.go b/api/internal/logic/core/commitvmtasktemplogic.go new file mode 100644 index 00000000..f9501d46 --- /dev/null +++ b/api/internal/logic/core/commitvmtasktemplogic.go @@ -0,0 +1,30 @@ +package core + +import ( + "context" + + "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/svc" + "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/types" + + "github.com/zeromicro/go-zero/core/logx" +) + +type CommitVmTaskTempLogic struct { + logx.Logger + ctx context.Context + svcCtx *svc.ServiceContext +} + +func NewCommitVmTaskTempLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CommitVmTaskTempLogic { + return &CommitVmTaskTempLogic{ + Logger: logx.WithContext(ctx), + ctx: ctx, + svcCtx: svcCtx, + } +} + +func (l *CommitVmTaskTempLogic) CommitVmTaskTemp(req *types.CommitVmTaskReq) (resp *types.CommitVmTaskResp, err error) { + // todo: add your logic here and delete this line + + return +} diff --git a/api/internal/types/types.go b/api/internal/types/types.go index a3bbb150..3ef91338 100644 --- a/api/internal/types/types.go +++ b/api/internal/types/types.go @@ -2871,7 +2871,7 @@ type DeleteServerResp struct { type CreateServerReq struct { Server Server `json:"server" copier:"Server"` - Platform string `form:"platform,optional"` + Platform string `json:"platform,optional"` } type CreateServerResp struct { @@ -3288,7 +3288,7 @@ type DeleteNetworkResp struct { type CreateNetworkReq struct { Network CreateNetwork `json:"network" copier:"Network"` - Platform string `form:"platform,optional"` + Platform string `json:"platform,optional"` } type CreateNetworkResp struct { @@ -3306,7 +3306,7 @@ type CreateNetwork struct { type CreateSubnetReq struct { Subnet Subnet `json:"subnet" copier:"Subnet"` - Platform string `form:"platform,optional"` + Platform string `json:"platform,optional"` } type CreateSubnetResp struct { diff --git a/go.mod b/go.mod index 13dde252..d90c41f9 100644 --- a/go.mod +++ b/go.mod @@ -86,6 +86,7 @@ require ( github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect + github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect diff --git a/go.sum b/go.sum index ebd640ab..650a4a3c 100644 --- a/go.sum +++ b/go.sum @@ -815,6 +815,7 @@ github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOj github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= github.com/microsoft/go-mssqldb v0.17.0 h1:Fto83dMZPnYv1Zwx5vHHxpNraeEaUlQ/hhHLgZiaenE= github.com/microsoft/go-mssqldb v0.17.0/go.mod h1:OkoNGhGEs8EZqchVTtochlXruEhEOaO4S0d2sB5aeGQ= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=