From 9c7551a7a752c07db11b0fd23bfba8da1ad062e0 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 21 六月 2024 20:39:12 +0800 Subject: [PATCH] fix 404 --- controllers/product_controller.go | 76 +++++++++++++++++++++++++++++++++---- 1 files changed, 67 insertions(+), 9 deletions(-) diff --git a/controllers/product_controller.go b/controllers/product_controller.go index 3e9ea0c..dea98e2 100644 --- a/controllers/product_controller.go +++ b/controllers/product_controller.go @@ -18,6 +18,8 @@ "wms/pkg/mysqlx" "wms/pkg/structx" "wms/request" + "wms/response" + "wms/service" ) type ProductController struct { @@ -179,6 +181,37 @@ product.MaxInventoryRule = reorderRules[0].MaxInventory } product.ReorderRuleNum = rulesTotal + attributeValues, err := models.NewAttributeValueSearch().SetEntityID(product.ID).FindNotTotal() + aids := make([]uint, 0) + for _, v := range attributeValues { + aids = append(aids, v.AttributeID) + } + attributes, err := models.NewAttributeSearch().SetIDs(aids).FindNotTotal() + attributesMap := make(map[uint]*models.Attribute, len(attributes)) + for _, v := range attributes { + attributesMap[v.ID] = v + } + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鏈煡鍔ㄦ�佸睘鎬�") + } + for _, v1 := range attributeValues { + attribute := attributesMap[v1.AttributeID] + if attribute == nil { + continue + } + //product.Attributes = append(product.Attributes,v1) + product.Attributes = append(product.Attributes, models.Attribute{ + Model: gorm.Model{ID: v1.ID, CreatedAt: v1.CreatedAt, UpdatedAt: v1.UpdatedAt, DeletedAt: v1.DeletedAt}, + Name: attribute.Name, + DataType: attribute.DataType, + EntityType: attribute.EntityType, + SelectValues: attribute.SelectValues, + SelectValue: attribute.SelectValue, + //Value: v1.Value, + Value: v1.Value, + }) + } + } util.ResponseFormatList(c, code.Success, products, int(total)) } @@ -266,25 +299,25 @@ } } - attributeValueSearch := models.NewAttributeValueSearch() + /*attributeValueSearch := models.NewAttributeValueSearch() //鍒犻櫎浠庢柊鎻掑叆 if err := attributeValueSearch.SetOrm(tx).SetEntityID(params.ID).Delete(); err != nil { return err - } - avs := make([]*models.AttributeValue, 0) + }*/ + //avs := make([]*models.AttributeValue, 0) for _, v := range params.Attributes { av := models.AttributeValue{ - Model: gorm.Model{}, + Model: gorm.Model{ID: v.ID}, EntityID: params.ID, AttributeID: v.ID, Value: v.Value, } - avs = append(avs, &av) + //avs = append(avs, &av) + if err := models.NewAttributeValueSearch().SetOrm(tx).Save(&av); err != nil { + return err + } + } - } - if err := models.NewAttributeValueSearch().SetOrm(tx).CreateBatch(avs); err != nil { - return err - } return nil }) if err != nil { @@ -874,3 +907,28 @@ util.ResponseFormat(c, code.Success, "娣诲姞鎴愬姛") } + +// InputProduct +// +// @Tags 鐗╂枡绠$悊 +// @Summary 瀵煎叆鐗╂枡 +// @Produce application/xlsx +// @Success 200 {object} util.Response "鎴愬姛" +// @Router /api-wms/v1/product/inputProduct [post] +func (slf ProductController) InputProduct(c *gin.Context) { + file, _, err := c.Request.FormFile("file") + if err != nil { + util.ResponseFormat(c, code.RequestParamError, err.Error()) + return + } + defer file.Close() + resp := response.MaterialInputRes{InputCount: 0, ErrCount: 0, FileAddress: ""} + userInfo := middleware.GetUserInfo(c) + insertCount, err := service.InputMaterial(file, userInfo.Username) + if err != nil { + util.ResponseFormat(c, code.RequestParamError, err.Error()) + return + } + resp.InputCount = insertCount + util.ResponseFormat(c, code.Success, resp) +} -- Gitblit v1.8.0