lishihai
2024-06-24 11168aeec504c395f656e22ea7e903582823c5fc
/api-wms/v1/product/getProductDetails/{id}->添加动态属性
2个文件已修改
38 ■■■■■ 已修改文件
controllers/product_controller.go 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/material.go 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/product_controller.go
@@ -220,6 +220,7 @@
// @Tags      产品
// @Summary   获取产品详情
// @Produce   application/json
// @Param     Authorization    header string true "token"
// @Param        id    path        string            true    "id"  "查询参数"
// @Success   200 {object} util.Response{data=models.Material}    "成功"
// @Router    /api-wms/v1/product/getProductDetails/{id} [get]
@@ -234,6 +235,40 @@
        util.ResponseFormat(c, code.RequestParamError, "查找失败")
        return
    }
    attributeValues, err := models.NewAttributeValueSearch().SetEntityID(material.ID).FindNotTotal()
    if err != nil {
        util.ResponseFormat(c, code.RequestParamError, "查找失败")
        return
    }
    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)
        material.Attributes = append(material.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.ResponseFormat(c, code.Success, material)
}
service/material.go
@@ -197,7 +197,8 @@
        for _, attributesColumn := range attributesColumns {
            attributeValueList = append(attributeValueList, &models.AttributeValue{
                EntityID:    material.ID,
                AttributeID: mapAttribute[insert[attributesColumn]],
                //AttributeID: mapAttribute[insert[attributesColumn]],
                AttributeID: mapAttribute[headers[attributesColumn]],
                Value:       insert[attributesColumn],
            })
        }