97 lines
2.4 KiB
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)
|
|
}
|