lishihai
2024-06-20 029c8611556aa3b77cdae78376842e8531521c9f
controllers/product_controller.go
@@ -181,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))
}
@@ -268,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 {