| | |
| | | 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)) |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | 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 { |