lckt-server/api/v1/app/banner.go

97 lines
2.4 KiB
Go

package app
import (
"git.echol.cn/loser/lckt/model/app"
common "git.echol.cn/loser/lckt/model/common/request"
"git.echol.cn/loser/lckt/model/common/response"
"github.com/gin-gonic/gin"
)
type BannerApi struct{}
// Create 新建Banner
func (b *BannerApi) Create(ctx *gin.Context) {
var p app.Banner
if err := ctx.ShouldBind(&p); err != nil {
response.FailWithMessage("参数错误", ctx)
return
}
if err := bannerService.CreateBanner(p); err != nil {
response.FailWithMessage("创建失败: "+err.Error(), ctx)
return
}
response.OkWithMessage("创建成功", ctx)
}
// Delete 删除Banner
func (b *BannerApi) Delete(ctx *gin.Context) {
var p app.Banner
if err := ctx.ShouldBind(&p); err != nil {
response.FailWithMessage("参数错误", ctx)
return
}
if err := bannerService.DeleteBanner(p.ID); err != nil {
response.FailWithMessage("删除失败: "+err.Error(), ctx)
return
}
response.OkWithMessage("删除成功", ctx)
}
// Update 更新Banner
func (b *BannerApi) Update(ctx *gin.Context) {
var p app.Banner
if err := ctx.ShouldBind(&p); err != nil {
response.FailWithMessage("参数错误", ctx)
return
}
if err := bannerService.UpdateBanner(p); err != nil {
response.FailWithMessage("更新失败: "+err.Error(), ctx)
return
}
response.OkWithMessage("更新成功", ctx)
}
// GetList 获取Banner列表
func (b *BannerApi) GetList(ctx *gin.Context) {
var p common.PageInfo
if err := ctx.ShouldBind(&p); err != nil {
response.FailWithMessage("参数错误", ctx)
return
}
list, total, err := bannerService.GetBannerList(p.Page, p.PageSize)
if err != nil {
response.FailWithMessage("获取列表失败: "+err.Error(), ctx)
return
}
response.OkWithData(response.PageResult{
List: list,
Total: total,
Page: p.Page,
PageSize: p.PageSize,
}, ctx)
}
// GetByID 根据ID获取Banner
func (b *BannerApi) GetByID(ctx *gin.Context) {
var p common.GetById
if err := ctx.ShouldBind(&p); err != nil {
response.FailWithMessage("参数错误", ctx)
return
}
banner, err := bannerService.GetBannerByID(p.ID)
if err != nil {
response.FailWithMessage("获取失败: "+err.Error(), ctx)
return
}
response.OkWithData(banner, ctx)
}
func (b *BannerApi) GetIndexBanners(context *gin.Context) {
list, err := bannerService.GetBannerIndex()
if err != nil {
response.FailWithMessage("获取首页Banner失败: "+err.Error(), context)
return
}
response.OkWithData(list, context)
}