goods.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package godown
  2. import (
  3. "server/global"
  4. )
  5. type Goods struct {
  6. global.GVA_MODEL
  7. Name string `json:"name" gorm:"comment:名称"`
  8. GoodsGenreId int `json:"goodsGenreId" gorm:"comment:类型"`
  9. GoodsGenre GoodsGenre `json:"goodsGenre" gorm:"foreignKey:GoodsGenreId;"`
  10. Characteristic string `json:"characteristic" gorm:"comment:特性"`
  11. Specifications string `json:"specifications" gorm:"comment:规格"`
  12. Unit string `json:"unit" gorm:"comment:单位"`
  13. Number int `json:"number" gorm:"comment:数量"`
  14. }
  15. func (Goods) TableName() string {
  16. return "goods"
  17. }
  18. func QueryAllGoods() (goods []Goods, err error) {
  19. err = global.GVA_DB.Model(&Goods{}).Find(&goods).Error
  20. return
  21. }
  22. func QueryGoodsList(limit, offset, genre int, name, characteristic, specifications string) (goods []Goods, total int64, err error) {
  23. // 创建db
  24. db := global.GVA_DB.Model(&Goods{}).Debug()
  25. // 如果有条件搜索 下方会自动创建搜索语句
  26. if name != "" {
  27. db = db.Where("name LIKE ?", "%"+name+"%")
  28. }
  29. if characteristic != "" {
  30. db = db.Where("characteristic LIKE ?", "%"+characteristic+"%")
  31. }
  32. if specifications != "" {
  33. db = db.Where("specifications LIKE ?", "%"+specifications+"%")
  34. }
  35. if genre > 0 {
  36. db = db.Where("goods_genre_id = ?", genre)
  37. }
  38. err = db.Count(&total).Error
  39. if err != nil {
  40. return
  41. }
  42. err = db.Order("id desc").Limit(limit).Offset(offset).Find(&goods).Error
  43. return goods, total, err
  44. }
  45. func QueryGoodsByGenre(genreId int) (goods []Goods, err error) {
  46. err = global.GVA_DB.Model(&Goods{}).Where("goods_genre_id = ?", genreId).Find(&goods).Error
  47. return goods, err
  48. }
  49. func (g Goods) CreateGoods() error {
  50. return global.GVA_DB.Create(&g).Error
  51. }
  52. func (g Goods) UpdateGoods() error {
  53. return global.GVA_DB.Where("id = ?", g.ID).Updates(&g).Error
  54. }
  55. func DeleteGoods(id int) error {
  56. return global.GVA_DB.Where("id = ?", id).Unscoped().Delete(&Goods{}).Error
  57. }