You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
1.7 KiB
Go

package app
import (
"github.com/gin-gonic/gin"
"go.uber.org/zap"
"miniapp/global"
"miniapp/model/app"
"miniapp/model/app/request"
r "miniapp/model/common/response"
)
type FavoriteApi struct{}
// GetList 获取收藏列表
func (f *FavoriteApi) GetList(ctx *gin.Context) {
var p request.GetFavoriteList
if err := ctx.ShouldBind(&p); err != nil {
r.FailWithMessage(err.Error(), ctx)
global.GVA_LOG.Error("获取收藏列表失败", zap.Error(err))
return
}
// 获取收藏列表
err, list, total := favoriteService.GetFavoriteList(p)
if err != nil {
r.FailWithMessage(err.Error(), ctx)
global.GVA_LOG.Error("获取收藏列表失败", zap.Error(err))
return
}
r.OkWithData(r.PageResult{
List: list,
Total: total,
Page: p.Page,
PageSize: p.PageSize,
}, ctx)
}
// Create 创建收藏
func (f *FavoriteApi) Create(ctx *gin.Context) {
var p app.Favorite
if err := ctx.ShouldBind(&p); err != nil {
r.FailWithMessage(err.Error(), ctx)
global.GVA_LOG.Error("创建收藏失败", zap.Error(err))
return
}
// 创建收藏
err := favoriteService.CreateFavorite(&p)
if err != nil {
r.FailWithMessage(err.Error(), ctx)
global.GVA_LOG.Error("创建收藏失败", zap.Error(err))
return
}
r.Ok(ctx)
}
// Delete 删除收藏
func (f *FavoriteApi) Delete(ctx *gin.Context) {
var p app.Favorite
if err := ctx.ShouldBind(&p); err != nil {
r.FailWithMessage(err.Error(), ctx)
global.GVA_LOG.Error("删除收藏失败", zap.Error(err))
return
}
// 删除收藏
err := favoriteService.DeleteFavorite(&p)
if err != nil {
r.FailWithMessage(err.Error(), ctx)
global.GVA_LOG.Error("删除收藏失败", zap.Error(err))
return
}
r.Ok(ctx)
}