68 lines
1.8 KiB
Go
68 lines
1.8 KiB
Go
package app
|
|
|
|
import (
|
|
"git.echol.cn/loser/lckt/global"
|
|
"git.echol.cn/loser/lckt/model/app"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
type BannerService struct{}
|
|
|
|
// CreateBanner 创建Banner
|
|
func (b *BannerService) CreateBanner(p app.Banner) (err error) {
|
|
if err = global.GVA_DB.Create(&p).Error; err != nil {
|
|
global.GVA_LOG.Error("创建Banner失败!", zap.Error(err))
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
// DeleteBanner 删除Banner
|
|
func (b *BannerService) DeleteBanner(id uint) (err error) {
|
|
if err = global.GVA_DB.Delete(&app.Banner{}, id).Error; err != nil {
|
|
global.GVA_LOG.Error("删除Banner失败!", zap.Error(err))
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
// UpdateBanner 更新Banner
|
|
func (b *BannerService) UpdateBanner(p app.Banner) (err error) {
|
|
if err = global.GVA_DB.Save(&p).Error; err != nil {
|
|
global.GVA_LOG.Error("更新Banner失败!", zap.Error(err))
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
// GetBannerList 获取Banner列表
|
|
func (b *BannerService) GetBannerList(page, pageSize int) (list []app.Banner, total int64, err error) {
|
|
if err = global.GVA_DB.Model(&app.Banner{}).Count(&total).Error; err != nil {
|
|
global.GVA_LOG.Error("获取Banner总数失败!", zap.Error(err))
|
|
return
|
|
}
|
|
if err = global.GVA_DB.Limit(pageSize).Offset((page - 1) * pageSize).Find(&list).Error; err != nil {
|
|
global.GVA_LOG.Error("获取Banner列表失败!", zap.Error(err))
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
// GetBannerByID 根据ID获取Banner
|
|
func (b *BannerService) GetBannerByID(id int) (banner app.Banner, err error) {
|
|
if err = global.GVA_DB.First(&banner, id).Error; err != nil {
|
|
global.GVA_LOG.Error("获取Banner失败!", zap.Error(err))
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
func (b *BannerService) GetBannerIndex() (list []app.Banner, err error) {
|
|
if err = global.GVA_DB.Where("status = ?", 1).Order("created_at desc").Find(&list).Error; err != nil {
|
|
global.GVA_LOG.Error("获取Banner失败!", zap.Error(err))
|
|
return
|
|
}
|
|
return
|
|
|
|
}
|