product.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package model
  2. import (
  3. "kng_feed_api/database"
  4. )
  5. type Product struct {
  6. CodeCarCaDe string `gorm:"size:11;not null; unique; index; primaryKey" json:"code_carcade"`
  7. CodeUT10 string `gorm:"size:6;" json:"code_ut10"`
  8. Name string `gorm:"size:100" json:"name"`
  9. Manufacturer string `gorm:"size:50" json:"manufacturer"`
  10. ArticleNumber string `gorm:"size:50" json:"article_number"`
  11. Brand string `gorm:"size:100" json:"brand"`
  12. Unit string `gorm:"size:50" json:"unit"`
  13. GroupLimit string `gorm:"size:2" json:"group_limit"`
  14. GroupPrice string `gorm:"size:50" json:"group_price"`
  15. NumberCatalog string `gorm:"size:50" json:"number_catalog"`
  16. NumberDrawing string `gorm:"size:50" json:"number_drawing"`
  17. NumberBrand string `gorm:"size:10" json:"number_brand"`
  18. NumberPrefix string `gorm:"size:4" json:"number_prefix"`
  19. NumberArticle string `gorm:"size:25" json:"number_article"`
  20. NumberSuffix string `gorm:"size:3" json:"number_suffix"`
  21. CategoryId string `gorm:"size:5" json:"categoryId"`
  22. IdNumbers *string `gorm:"size:256" json:"id_numbers"`
  23. }
  24. type ProductsArray struct {
  25. Products []Product `binding:"dive" json:"products"`
  26. }
  27. func GetAllProducts() ([]Product, error) {
  28. var products []Product
  29. result := database.Database.Find(&products)
  30. if result.Error != nil {
  31. return products, result.Error
  32. }
  33. return products, nil
  34. }
  35. func GetProductsCount() (int, error) {
  36. var products []Product
  37. result := database.Database.Find(&products)
  38. if result.Error != nil {
  39. return 0, result.Error
  40. }
  41. return int(result.RowsAffected), nil
  42. }
  43. func (product *Product) Save() (*Product, error) {
  44. err := database.Database.Save(&product).Error
  45. if err != nil {
  46. return &Product{}, err
  47. }
  48. return product, nil
  49. }