product.go 1.7 KB

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