123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package dao
- import "server/global"
- type Commodity struct {
- global.GVA_MODEL
- Name string `json:"name" form:"name" gorm:"comment:商品名称"`
- SupplierId int `json:"supplierId" form:"supplierId" gorm:"comment:供应商id"`
- Supplier Supplier `json:"supplier" form:"supplier" gorm:"foreignKey:SupplierId;references:id;"`
- Genre int `json:"genre" form:"genre" gorm:"comment:商品类型id"`
- CommodityGenre CommodityGenre `json:"commodityGenre" form:"commodityGenre" gorm:"foreignKey:Genre;references:id;"`
- UnitPrice float64 `json:"unitPrice" form:"unitPrice" gorm:"comment:单价"`
- Remark string `json:"remark" form:"remark" gorm:"comment:备注"`
- }
- func (Commodity) TableName() string {
- return "commodity"
- }
- func QueryAllCommodity() (commodities []Commodity, err error) {
- err = global.GVA_DB.Preload("Supplier").Preload("CommodityGenre").Find(&commodities).Error
- return commodities, err
- }
- func QueryCommodityList(limit, offset int, name string) (commodities []Commodity, total int64, err error) {
- // 创建db
- db := global.GVA_DB.Model(&Commodity{})
- // 如果有条件搜索 下方会自动创建搜索语句
- if name != "" {
- db = db.Where("name LIKE?", "%"+name+"%")
- }
- err = db.Count(&total).Error
- if err != nil {
- return
- }
- err = db.Order("id desc").Limit(limit).Offset(offset).Preload("Supplier").Preload("CommodityGenre").Find(&commodities).Error
- return commodities, total, err
- }
- func QueryCommodityByGenre(genre int) (commodities []Commodity, err error) {
- err = global.GVA_DB.Where("genre =?", genre).Preload("Supplier").Preload("CommodityGenre").Find(&commodities).Error
- return commodities, err
- }
- func (c Commodity) CreateCommodity() error {
- return global.GVA_DB.Create(&c).Error
- }
- func (c Commodity) UpdateCommodity() error {
- return global.GVA_DB.Select("*").Omit("created_at").Where("id = ?", c.ID).Updates(&c).Error
- }
- func (c Commodity) DeleteCommodity() error {
- return global.GVA_DB.Unscoped().Delete(&c).Error
- }
|