package jyy import ( "recook/internal/libs/bean" "recook/internal/v2/model/jyy" "recook/internal/v2/model/recook/goods" "git.oa00.com/go/mysql" ) type logic struct { } var Logic = logic{} type ArgsBannerList struct { bean.Page } func (o logic) List(args ArgsBannerList) (res []jyy.Banner, total int64, err error) { query := mysql.Db.Model(&jyy.Banner{}).Order("order_sort asc").Order("id desc") query.Count(&total) query.Limit(args.GetLimit()).Offset(args.GetStart()).Find(&res) return } type ArgsBannerInfo struct { jyy.Banner } func (o logic) Create(args ArgsBannerInfo) error { args.ID = 0 var gs goods.RecookGoodsInfoModel if err := mysql.Db.First(&gs, "id = ? and sale_publish = 1", args.GoodsID).Error; err != nil { return err } if err := mysql.Db.Create(&args).Error; err != nil { return err } return nil } type ArgsBannerUpdate struct { jyy.Banner ID uint `json:"id" validate:"required"` } func (o logic) Update(args ArgsBannerUpdate) error { var gs goods.RecookGoodsInfoModel if err := mysql.Db.First(&gs, "id = ? and sale_publish = 1", args.GoodsID).Error; err != nil { return err } if err := mysql.Db.Model(&args).Updates(args).Error; err != nil { return err } return nil } type ArgsBannerDelete struct { ID uint `json:"id" validate:"required"` } func (o logic) Delete(args ArgsBannerDelete) error { if err := mysql.Db.Delete(&jyy.Banner{}, "id = ?", args.ID).Error; err != nil { return err } return nil }