Lee-WineList/repository/wine.go

51 lines
977 B
Go

package repository
import (
"Lee-WineList/client"
"Lee-WineList/model/entity"
"Lee-WineList/model/param"
"git.echol.cn/loser/logger/log"
)
type wine struct {
}
// Wine ...
func Wine() *wine {
return &wine{}
}
// GetWineList 获取酒单列表
func (w *wine) GetWineList(p param.GetWineList) (wines []entity.Wine, err error) {
db := client.MySQL.Model(&wines).Preload("Materials").Scopes(page(p.Current, p.Size))
if p.UserId != 0 {
db = db.Where("user_id = ?", p.UserId)
}
if p.Category != "" {
db = db.Where("category = ?", p.Category)
}
err = db.Find(&wines).Error
if err != nil {
log.Errorf("获取酒单列表失败:%s", err.Error())
return
}
return
}
func (w *wine) Add(p entity.Wine) (err error) {
err = client.MySQL.Create(&p).Error
return
}
func (w *wine) Update(p entity.Wine) (err error) {
err = client.MySQL.Save(&p).Error
return
}
func (w *wine) Delete(p entity.Wine) (err error) {
err = client.MySQL.Delete(&p).Error
return
}