From 0cc034256b85bd3eb2e9482231d6e5649624cde2 Mon Sep 17 00:00:00 2001 From: jiangshuai <291802688@qq.com> Date: 星期一, 13 十一月 2023 11:50:59 +0800 Subject: [PATCH] 增加取消接口,及相关修改 --- constvar/const.go | 1 controllers/product_controller.go | 35 +++++++++++++++++ controllers/operation_type.go | 6 +++ controllers/operation.go | 35 +++++++++++++++++ router/router.go | 3 + 5 files changed, 79 insertions(+), 1 deletions(-) diff --git a/constvar/const.go b/constvar/const.go index d82cb6c..5ca6de9 100644 --- a/constvar/const.go +++ b/constvar/const.go @@ -176,6 +176,7 @@ OperationStatus_Waiting //姝e湪绛夊緟 OperationStatus_Ready //灏辩华 OperationStatus_Finish //瀹屾垚 + OperationStatus_Cancel //瀹屾垚 ) type PostType int diff --git a/controllers/operation.go b/controllers/operation.go index 08031a9..d9b4200 100644 --- a/controllers/operation.go +++ b/controllers/operation.go @@ -763,3 +763,38 @@ } util.ResponseFormat(c, code.Success, companies) } + +// Cancel +// +// @Tags 鍏ュ簱/鍑哄簱 +// @Summary 鍙栨秷 +// @Produce application/json +// @Param id path int true "id" +// @Success 200 {object} util.Response "鎴愬姛" +// @Router /api-wms/v1/operation/cancel/{id} [put] +func (slf OperationController) Cancel(c *gin.Context) { + id, err := strconv.Atoi(c.Param("id")) + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "閿欒鐨刬d鍊�") + return + } + if id == 0 { + util.ResponseFormat(c, code.RequestParamError, "id涓�0") + return + } + operation, err := models.NewOperationSearch().SetPreload(true).SetID(id).First() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鏈壘鍒扮浉鍏冲嚭鍏ュ簱淇℃伅:"+err.Error()) + return + } + if operation.Status != constvar.OperationStatus_Ready { + util.ResponseFormat(c, code.RequestError, "璇ュ嚭鍏ュ簱淇℃伅鏃犳硶鍙栨秷") + return + } + operation.Status = constvar.OperationStatus_Cancel + if err := models.NewOperationSearch().Save(operation); err != nil { + util.ResponseFormat(c, code.SaveFail, err.Error()) + return + } + util.ResponseFormat(c, code.Success, "鎿嶄綔鎴愬姛") +} diff --git a/controllers/operation_type.go b/controllers/operation_type.go index 0ce0a9b..7246617 100644 --- a/controllers/operation_type.go +++ b/controllers/operation_type.go @@ -141,6 +141,9 @@ if value, ok := mapStatistics[strconv.Itoa(v.Id)+string(constvar.OperationStatus_Finish)]; ok { list[k].FinishCount = value.Count } + if value, ok := mapStatistics[strconv.Itoa(v.Id)+string(constvar.OperationStatus_Cancel)]; ok { + list[k].FinishCount = value.Count + } } util.ResponseFormatListWithPage(c, code.Success, list, cast.ToInt(total), params.Page, params.PageSize) } @@ -205,6 +208,9 @@ if value, ok := mapStatistics[strconv.Itoa(v.Id)+string(constvar.OperationStatus_Finish)]; ok { list[k].FinishCount = value.Count } + if value, ok := mapStatistics[strconv.Itoa(v.Id)+string(constvar.OperationStatus_Cancel)]; ok { + list[k].FinishCount = value.Count + } } util.ResponseFormatListWithPage(c, code.Success, list, cast.ToInt(total), params.Page, params.PageSize) } diff --git a/controllers/product_controller.go b/controllers/product_controller.go index 8178e2d..b20a6b5 100644 --- a/controllers/product_controller.go +++ b/controllers/product_controller.go @@ -648,3 +648,38 @@ util.ResponseFormatListWithPage(c, code.Success, list, int(total), params.Page, params.PageSize) } + +// CancelDisuse +// +// @Tags 浜у搧 +// @Summary 鍙栨秷鎶ュ簾 +// @Produce application/json +// @Param id path int true "id" +// @Success 200 {object} util.Response "鎴愬姛" +// @Router /api-wms/v1/product/cancelDisuse/{id} [put] +func (slf ProductController) CancelDisuse(c *gin.Context) { + id, err := strconv.Atoi(c.Param("id")) + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "閿欒鐨刬d鍊�") + return + } + if id == 0 { + util.ResponseFormat(c, code.RequestParamError, "id涓�0") + return + } + operation, err := models.NewOperationSearch().SetID(id).First() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鏈壘鍒扮浉鍏充俊鎭�:"+err.Error()) + return + } + if operation.Status != constvar.OperationStatus_Ready { + util.ResponseFormat(c, code.RequestError, "璇ヤ俊鎭棤娉曞彇娑�") + return + } + operation.Status = constvar.OperationStatus_Cancel + if err := models.NewOperationSearch().Save(operation); err != nil { + util.ResponseFormat(c, code.SaveFail, err.Error()) + return + } + util.ResponseFormat(c, code.Success, "鎿嶄綔鎴愬姛") +} diff --git a/router/router.go b/router/router.go index fedd7c4..50e80d4 100644 --- a/router/router.go +++ b/router/router.go @@ -87,7 +87,7 @@ operationAPI.PUT("finish/:id", operationController.Finish) operationAPI.POST("listTransfer", operationController.ListTransfer) operationAPI.GET("getLogisticCompanyList", operationController.GetLogisticCompanyList) - + operationAPI.PUT("cancel/:id", operationController.Cancel) } //浜у搧 @@ -112,6 +112,7 @@ productAPI.PUT("finishDisuse/:id", productController.FinishDisuse) //鎶ュ簾楠岃瘉 productAPI.POST("updateDisuse", productController.UpdateDisuse) //淇敼鎶ュ簾淇℃伅 productAPI.POST("listHistory", productController.ListHistory) //浜у搧浣嶇疆鍘嗗彶璁板綍 + productAPI.PUT("cancelDisuse/:id", productController.CancelDisuse) //鍙栨秷鎶ュ簾 } -- Gitblit v1.8.0