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) }