commodity.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package dao
  2. import "server/global"
  3. type Commodity struct {
  4. global.GVA_MODEL
  5. Name string `json:"name" form:"name" gorm:"comment:商品名称"`
  6. SupplierId int `json:"supplierId" form:"supplierId" gorm:"comment:商品id"`
  7. Supplier Supplier `json:"supplier" form:"supplier" gorm:"foreignKey:SupplierId;references:id;"`
  8. Genre int `json:"genre" form:"genre" gorm:"comment:商品类型id"`
  9. CommodityGenre CommodityGenre `json:"commodityGenre" form:"commodityGenre" gorm:"foreignKey:Genre;references:id;"`
  10. UnitPrice float64 `json:"unitPrice" form:"unitPrice" gorm:"comment:单价"`
  11. Remark string `json:"remark" form:"remark" gorm:"comment:备注"`
  12. }
  13. func (Commodity) TableName() string {
  14. return "commodity"
  15. }
  16. func QueryAllCommodity() (commodities []Commodity, err error) {
  17. err = global.GVA_DB.Preload("Supplier").Preload("CommodityGenre").Find(&commodities).Error
  18. return commodities, err
  19. }
  20. func QueryCommodityList(limit, offset int) (commodities []Commodity, total int64, err error) {
  21. // 创建db
  22. db := global.GVA_DB.Model(&Commodity{})
  23. // 如果有条件搜索 下方会自动创建搜索语句
  24. err = db.Count(&total).Error
  25. if err != nil {
  26. return
  27. }
  28. err = db.Order("id desc").Limit(limit).Offset(offset).Preload("Supplier").Preload("CommodityGenre").Find(&commodities).Error
  29. return commodities, total, err
  30. }
  31. func QueryCommodityByGenre(genre int) (commodities []Commodity, err error) {
  32. err = global.GVA_DB.Where("genre =?", genre).Preload("Supplier").Preload("CommodityGenre").Find(&commodities).Error
  33. return commodities, err
  34. }
  35. func (c Commodity) CreateCommodity() error {
  36. return global.GVA_DB.Create(&c).Error
  37. }
  38. func (c Commodity) UpdateCommodity() error {
  39. return global.GVA_DB.Select("*").Omit("created_at").Where("id = ?", c.ID).Updates(&c).Error
  40. }
  41. func (c Commodity) DeleteCommodity() error {
  42. return global.GVA_DB.Unscoped().Delete(&c).Error
  43. }