product.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. Deficit bool `json:"deficit"`
  23. Weight float64 `json:"weight"`
  24. Height float64 `json:"height"`
  25. Length float64 `json:"length"`
  26. Width float64 `json:"width"`
  27. Multiple float64 `json:"multiple"`
  28. Certificates *string `gorm:"type:text" json:"certificates"`
  29. IdNumbers *string `gorm:"size:256" json:"id_numbers"`
  30. }
  31. type ProductsArray struct {
  32. Products []Product `binding:"dive" json:"products"`
  33. }
  34. func GetAllProducts() ([]Product, error) {
  35. var products []Product
  36. result := database.Database.Find(&products)
  37. if result.Error != nil {
  38. return products, result.Error
  39. }
  40. return products, nil
  41. }
  42. func GetProductsCount() (int, error) {
  43. var products []Product
  44. result := database.Database.Find(&products)
  45. if result.Error != nil {
  46. return 0, result.Error
  47. }
  48. return int(result.RowsAffected), nil
  49. }
  50. func (product *Product) Save() (*Product, error) {
  51. err := database.Database.Save(&product).Error
  52. if err != nil {
  53. return &Product{}, err
  54. }
  55. return product, nil
  56. }