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