package dao import "server/global" type Warehouse struct { global.GVA_MODEL Name string `json:"name" form:"name" gorm:"comment:库房名称"` Location string `json:"location" form:"location" gorm:"comment:库房位置"` Head string `json:"head" form:"head" gorm:"comment:负责人"` Remarks string `json:"remarks" form:"remarks" gorm:"comment:备注"` IsEffective bool `json:"isEffective" form:"isEffective" gorm:"comment:是否有效;default:0"` } func (Warehouse) TableName() string { return "warehouse" } func QueryAllWarehouse() (warehouse []Warehouse, err error) { err = global.GVA_DB.Where("is_effective = true").Model(&Warehouse{}).Find(&warehouse).Error return warehouse, err } func QueryWarehouseList(limit, offset int, name string) (warehouse []Warehouse, total int64, err error) { // 创建db db := global.GVA_DB.Model(&Warehouse{}) // 如果有条件搜索 下方会自动创建搜索语句 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).Find(&warehouse).Error return warehouse, total, err } func (w Warehouse) CreateWarehouse() error { return global.GVA_DB.Create(&w).Error } func (w Warehouse) UpdateWarehouse() error { return global.GVA_DB.Where("id = ?", w.ID).Updates(&w).Error } func (w Warehouse) SwitchWarehouse() error { return global.GVA_DB.Select("is_effective").Where("id = ?", w.ID).Updates(&w).Error } func (w Warehouse) DeleteWarehouse() error { return global.GVA_DB.Unscoped().Delete(&w).Error }