From 7af977218be09a1ff8e9ac6740dfd22983aa33d2 Mon Sep 17 00:00:00 2001 From: lishihai <dslsh@dscom> Date: 星期五, 14 六月 2024 11:47:25 +0800 Subject: [PATCH] 属性值和对象-AttributeValue-wms_attribute_value-的曾删改 --- request/attribute_value.go | 13 ++++ controllers/attribute_value.go | 115 ++++++++++++++++++++++++++++++++++++++ router/router.go | 8 ++ 3 files changed, 136 insertions(+), 0 deletions(-) diff --git a/controllers/attribute_value.go b/controllers/attribute_value.go new file mode 100644 index 0000000..a641d34 --- /dev/null +++ b/controllers/attribute_value.go @@ -0,0 +1,115 @@ +package controllers + +import ( + "github.com/gin-gonic/gin" + "strconv" + "wms/extend/code" + "wms/extend/util" + "wms/models" + "wms/pkg/logx" + "wms/pkg/structx" + "wms/request" +) + +type AttributeValueController struct { +} + +// AddAttributeValue +// @Tags 灞炴�у�煎拰瀵硅薄 +// @Summary 娣诲姞灞炴�у�煎拰瀵硅薄 +// @Produce application/json +// @Param object body request.AttributeValue true "灞炴�у�煎拰瀵硅薄淇℃伅" +// @Success 200 {object} util.Response "鎴愬姛" +// @Router /api-wms/v1/attributeValue/add [post] +func (slf *AttributeValueController) AddAttributeValue(c *gin.Context) { + var params request.AddAttributeValue + var attributeValue models.AttributeValue + if err := c.BindJSON(¶ms); err != nil { + util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") + return + } + if err := structx.AssignTo(params, &attributeValue); err != nil { + util.ResponseFormat(c, code.RequestParamError, "鏁版嵁杞崲閿欒"+err.Error()) + return + } + attributeValueSearch := models.NewAttributeValueSearch() + attributeValues, err := attributeValueSearch.FindByQueryNotTotal("entity_id = ? AND attribute_id = ?", []interface{}{attributeValue.EntityID, attributeValue.AttributeID}) + if len(attributeValues) > 0 { + util.ResponseFormat(c, code.SaveFail, "娣诲姞澶辫触锛氬睘鎬у�煎拰瀵硅薄宸插瓨鍦�") + return + } + if err != nil { + util.ResponseFormat(c, code.SaveFail, "娣诲姞澶辫触锛�"+err.Error()) + return + } + err = attributeValueSearch.Create(&attributeValue) + if err != nil { + logx.Errorf("AttributeValue create err: %v", err) + util.ResponseFormat(c, code.SaveFail, "娣诲姞澶辫触锛�"+err.Error()) + return + } + util.ResponseFormat(c, code.Success, "娣诲姞鎴愬姛") +} + +// UpdateAttributeValue +// @Tags 灞炴�у�煎拰瀵硅薄 +// @Summary 鏇存柊灞炴�у�煎拰瀵硅薄 +// @Produce application/json +// @Param object body request.AttributeValue true "灞炴�у�煎拰瀵硅薄淇℃伅" +// @Success 200 {object} util.Response "鎴愬姛" +// @Router /api-wms/v1/attributeValue/update [post] +func (slf *AttributeValueController) UpdateAttributeValue(c *gin.Context) { + var params request.UpdateAttributeValue + if err := c.BindJSON(¶ms); err != nil { + util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") + return + } + + attributeValueSearch := models.NewAttributeValueSearch() + attributeValue, err := attributeValueSearch.SetID(params.ID).First() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "灞炴�у�煎拰瀵硅薄涓嶅瓨鍦�") + return + } + attributeValues, err := attributeValueSearch.FindByQueryNotTotal("entity_id = ? AND attribute_id = ? AND id != ?", []interface{}{params.EntityID, params.AttributeID, params.ID}) + if len(attributeValues) > 0 { + util.ResponseFormat(c, code.SaveFail, "淇敼澶辫触锛氬睘鎬у�煎拰瀵硅薄宸插瓨鍦�") + return + } + if err != nil { + util.ResponseFormat(c, code.SaveFail, "淇敼澶辫触锛�"+err.Error()) + return + } + attributeValue.EntityID = params.EntityID + attributeValue.AttributeID = params.AttributeID + attributeValue.Value = params.Value + err = attributeValueSearch.Save(attributeValue) + if err != nil { + logx.Errorf("AttributeValue update err: %v", err) + util.ResponseFormat(c, code.SaveFail, "淇敼澶辫触锛�"+err.Error()) + return + } + util.ResponseFormat(c, code.Success, "淇敼鎴愬姛") +} + +// DeleteAttributeValue +// @Tags 灞炴�у�煎拰瀵硅薄 +// @Summary 鍒犻櫎灞炴�у�煎拰瀵硅薄 +// @Produce application/json +// @Param id path unit true "id" +// @Success 200 {object} util.Response "鎴愬姛" +// @Router /api-wms/v1/attributeValue/delete/{id} [delete] +func (slf *AttributeValueController) DeleteAttributeValue(c *gin.Context) { + id, _ := strconv.ParseUint(c.Param("id"), 10, 64) + if id == 0 { + util.ResponseFormat(c, code.RequestParamError, "鏃犳晥id") + return + } + err := models.NewAttributeValueSearch().SetID(uint(id)).Delete() + if err != nil { + logx.Errorf("AttributeValue delete err: %v", err) + util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎澶辫触") + return + } + util.ResponseFormat(c, code.Success, "鍒犻櫎鎴愬姛") +} diff --git a/request/attribute_value.go b/request/attribute_value.go new file mode 100644 index 0000000..0add8f4 --- /dev/null +++ b/request/attribute_value.go @@ -0,0 +1,13 @@ +package request + +type AddAttributeValue struct { + EntityID string `json:"entityId"` + AttributeID uint `json:"attributeId"` + Value string `json:"value"` +} +type UpdateAttributeValue struct { + ID uint `json:"id"` + EntityID string `json:"entityId"` + AttributeID uint `json:"attributeId"` + Value string `json:"value"` +} diff --git a/router/router.go b/router/router.go index b3ab526..f51224c 100644 --- a/router/router.go +++ b/router/router.go @@ -188,5 +188,13 @@ codeApi.POST("getAutoCode", codeApiController.GetAutoCode) //鑾峰彇鑷姩缂栫爜 } + attributeValueController := new(controllers.AttributeValueController) + attributeValueAPI := r.Group(urlPrefix + "/attributeValue") + { + attributeValueAPI.POST("add", attributeValueController.AddAttributeValue) + attributeValueAPI.POST("update", attributeValueController.UpdateAttributeValue) + attributeValueAPI.DELETE("delete/:id", attributeValueController.DeleteAttributeValue) //鍒犻櫎浣嶇疆 + } + return r } -- Gitblit v1.8.0