package godown import ( "server/global" ) type Goods struct { global.GVA_MODEL Name string `json:"name" gorm:"comment:名称"` GoodsGenreId int `json:"goodsGenreId" gorm:"comment:类型"` GoodsGenre GoodsGenre `json:"goodsGenre" gorm:"foreignKey:GoodsGenreId;"` Characteristic string `json:"characteristic" gorm:"comment:特性"` Specifications string `json:"specifications" gorm:"comment:规格"` Unit string `json:"unit" gorm:"comment:单位"` Number int `json:"number" gorm:"comment:数量"` Position string `json:"position" gorm:"comment:位置"` } func (Goods) TableName() string { return "goods" } func QueryAllGoods() (goods []Goods, err error) { err = global.GVA_DB.Model(&Goods{}).Find(&goods).Error return } func QueryGoodsList(limit, offset, genre int, name, characteristic, specifications string) (goods []Goods, total int64, err error) { // 创建db db := global.GVA_DB.Model(&Goods{}).Debug() // 如果有条件搜索 下方会自动创建搜索语句 if name != "" { db = db.Where("name LIKE ?", "%"+name+"%") } if characteristic != "" { db = db.Where("characteristic LIKE ?", "%"+characteristic+"%") } if specifications != "" { db = db.Where("specifications LIKE ?", "%"+specifications+"%") } if genre > 0 { db = db.Where("goods_genre_id = ?", genre) } err = db.Count(&total).Error if err != nil { return } err = db.Order("id desc").Limit(limit).Offset(offset).Preload("GoodsGenre").Find(&goods).Error return goods, total, err } func QueryGoodsByGenre(genreId int) (goods []Goods, err error) { err = global.GVA_DB.Model(&Goods{}).Where("goods_genre_id = ?", genreId).Find(&goods).Error return goods, err } func (g Goods) CreateGoods() error { return global.GVA_DB.Create(&g).Error } func (g Goods) UpdateGoods() error { return global.GVA_DB.Where("id = ?", g.ID).Updates(&g).Error } func DeleteGoods(id int) error { return global.GVA_DB.Where("id = ?", id).Unscoped().Delete(&Goods{}).Error }