41 lines
747 B
Go
41 lines
747 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 param.AddWine) (err error) {
|
||
|
|
||
|
return
|
||
|
}
|