warehouse.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package dao
  2. import "server/global"
  3. type Warehouse struct {
  4. global.GVA_MODEL
  5. Name string `json:"name" form:"name" gorm:"comment:库房名称"`
  6. Location string `json:"location" form:"location" gorm:"comment:库房位置"`
  7. Head string `json:"head" form:"head" gorm:"comment:负责人"`
  8. Remarks string `json:"remarks" form:"remarks" gorm:"comment:备注"`
  9. IsEffective bool `json:"isEffective" form:"isEffective" gorm:"comment:是否有效;default:0"`
  10. }
  11. func (Warehouse) TableName() string {
  12. return "warehouse"
  13. }
  14. func QueryAllWarehouse() (warehouse []Warehouse, err error) {
  15. err = global.GVA_DB.Where("is_effective = true").Model(&Warehouse{}).Find(&warehouse).Error
  16. return warehouse, err
  17. }
  18. func QueryWarehouseList(limit, offset int, name string) (warehouse []Warehouse, total int64, err error) {
  19. // 创建db
  20. db := global.GVA_DB.Model(&Warehouse{})
  21. // 如果有条件搜索 下方会自动创建搜索语句
  22. if name != "" {
  23. db = db.Where("name LIKE ?", "%"+name+"%")
  24. }
  25. err = db.Count(&total).Error
  26. if err != nil {
  27. return
  28. }
  29. err = db.Order("id desc").Limit(limit).Offset(offset).Find(&warehouse).Error
  30. return warehouse, total, err
  31. }
  32. func (w Warehouse) CreateWarehouse() error {
  33. return global.GVA_DB.Create(&w).Error
  34. }
  35. func (w Warehouse) UpdateWarehouse() error {
  36. return global.GVA_DB.Where("id = ?", w.ID).Updates(&w).Error
  37. }
  38. func (w Warehouse) SwitchWarehouse() error {
  39. return global.GVA_DB.Select("is_effective").Where("id = ?", w.ID).Updates(&w).Error
  40. }
  41. func (w Warehouse) DeleteWarehouse() error {
  42. return global.GVA_DB.Unscoped().Delete(&w).Error
  43. }