init: radio init commit
This commit is contained in:
@@ -0,0 +1,253 @@
|
||||
package radio
|
||||
|
||||
import (
|
||||
"sundynix-go/global"
|
||||
"sundynix-go/model/commom/response"
|
||||
"sundynix-go/model/radio/request"
|
||||
"sundynix-go/utils/auth"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type InteractionApi struct{}
|
||||
|
||||
// AddHistory 添加收听历史
|
||||
// @Tags 用户互动
|
||||
// @Summary 添加收听历史
|
||||
// @Produce json
|
||||
// @Param data body request.AddHistory true "收听信息"
|
||||
// @Success 200 {object} response.Response
|
||||
// @Router /radio/history/add [post]
|
||||
func (a *InteractionApi) AddHistory(c *gin.Context) {
|
||||
userId := auth.GetUserId(c)
|
||||
var req request.AddHistory
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
response.FailWithMsg("参数错误: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
if err := interactionService.AddHistory(userId, req); err != nil {
|
||||
global.Logger.Error("添加收听历史失败!", zap.Error(err))
|
||||
response.FailWithMsg(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithMsg("添加成功", c)
|
||||
}
|
||||
|
||||
// GetHistoryList 获取收听历史列表
|
||||
// @Tags 用户互动
|
||||
// @Summary 获取收听历史列表
|
||||
// @Produce json
|
||||
// @Param data body request.GetHistoryList true "分页查询"
|
||||
// @Success 200 {object} response.Response
|
||||
// @Router /radio/history/list [post]
|
||||
func (a *InteractionApi) GetHistoryList(c *gin.Context) {
|
||||
userId := auth.GetUserId(c)
|
||||
var req request.GetHistoryList
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
response.FailWithMsg("参数错误: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
list, total, err := interactionService.GetHistoryList(userId, req)
|
||||
if err != nil {
|
||||
global.Logger.Error("获取收听历史失败!", zap.Error(err))
|
||||
response.FailWithMsg(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithData(response.PageResult{
|
||||
List: list,
|
||||
Total: total,
|
||||
Page: req.Current,
|
||||
}, c)
|
||||
}
|
||||
|
||||
// ToggleLike 切换点赞状态
|
||||
// @Tags 用户互动
|
||||
// @Summary 切换点赞状态
|
||||
// @Produce json
|
||||
// @Param data body request.ToggleLike true "节目ID"
|
||||
// @Success 200 {object} response.Response
|
||||
// @Router /radio/like/toggle [post]
|
||||
func (a *InteractionApi) ToggleLike(c *gin.Context) {
|
||||
userId := auth.GetUserId(c)
|
||||
var req request.ToggleLike
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
response.FailWithMsg("参数错误: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
isLiked, err := interactionService.ToggleLike(userId, req.ProgramId)
|
||||
if err != nil {
|
||||
global.Logger.Error("操作失败!", zap.Error(err))
|
||||
response.FailWithMsg(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithData(isLiked, c)
|
||||
}
|
||||
|
||||
// GetFavoriteList 获取收藏列表
|
||||
// @Tags 用户互动
|
||||
// @Summary 获取收藏列表
|
||||
// @Produce json
|
||||
// @Param data body request.GetFavoriteList true "分页查询"
|
||||
// @Success 200 {object} response.Response
|
||||
// @Router /radio/favorite/list [post]
|
||||
func (a *InteractionApi) GetFavoriteList(c *gin.Context) {
|
||||
userId := auth.GetUserId(c)
|
||||
var req request.GetFavoriteList
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
response.FailWithMsg("参数错误: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
list, total, err := interactionService.GetFavoriteList(userId, req)
|
||||
if err != nil {
|
||||
global.Logger.Error("获取收藏列表失败!", zap.Error(err))
|
||||
response.FailWithMsg(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithData(response.PageResult{
|
||||
List: list,
|
||||
Total: total,
|
||||
Page: req.Current,
|
||||
}, c)
|
||||
}
|
||||
|
||||
// AddFavorite 添加收藏
|
||||
// @Tags 用户互动
|
||||
// @Summary 添加收藏
|
||||
// @Produce json
|
||||
// @Param data body request.AddFavorite true "节目ID"
|
||||
// @Success 200 {object} response.Response
|
||||
// @Router /radio/favorite/add [post]
|
||||
func (a *InteractionApi) AddFavorite(c *gin.Context) {
|
||||
userId := auth.GetUserId(c)
|
||||
var req request.AddFavorite
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
response.FailWithMsg("参数错误: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
if err := interactionService.AddFavorite(userId, req.ProgramId); err != nil {
|
||||
global.Logger.Error("添加收藏失败!", zap.Error(err))
|
||||
response.FailWithMsg(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithMsg("收藏成功", c)
|
||||
}
|
||||
|
||||
// RemoveFavorite 取消收藏
|
||||
// @Tags 用户互动
|
||||
// @Summary 取消收藏
|
||||
// @Produce json
|
||||
// @Param data body request.RemoveFavorite true "节目ID"
|
||||
// @Success 200 {object} response.Response
|
||||
// @Router /radio/favorite/remove [post]
|
||||
func (a *InteractionApi) RemoveFavorite(c *gin.Context) {
|
||||
userId := auth.GetUserId(c)
|
||||
var req request.RemoveFavorite
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
response.FailWithMsg("参数错误: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
if err := interactionService.RemoveFavorite(userId, req.ProgramId); err != nil {
|
||||
global.Logger.Error("取消收藏失败!", zap.Error(err))
|
||||
response.FailWithMsg(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithMsg("取消收藏成功", c)
|
||||
}
|
||||
|
||||
// GetCommentList 获取评论列表
|
||||
// @Tags 用户互动
|
||||
// @Summary 获取评论列表
|
||||
// @Produce json
|
||||
// @Param data body request.GetCommentList true "分页查询"
|
||||
// @Success 200 {object} response.Response
|
||||
// @Router /radio/comment/list [post]
|
||||
func (a *InteractionApi) GetCommentList(c *gin.Context) {
|
||||
var req request.GetCommentList
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
response.FailWithMsg("参数错误: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
list, total, err := interactionService.GetCommentList(req.ProgramId, req)
|
||||
if err != nil {
|
||||
global.Logger.Error("获取评论列表失败!", zap.Error(err))
|
||||
response.FailWithMsg(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithData(response.PageResult{
|
||||
List: list,
|
||||
Total: total,
|
||||
Page: req.Current,
|
||||
}, c)
|
||||
}
|
||||
|
||||
// AddComment 添加评论
|
||||
// @Tags 用户互动
|
||||
// @Summary 添加评论
|
||||
// @Produce json
|
||||
// @Param data body request.AddComment true "评论信息"
|
||||
// @Success 200 {object} response.Response
|
||||
// @Router /radio/comment/add [post]
|
||||
func (a *InteractionApi) AddComment(c *gin.Context) {
|
||||
userId := auth.GetUserId(c)
|
||||
var req request.AddComment
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
response.FailWithMsg("参数错误: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
if err := interactionService.AddComment(userId, req); err != nil {
|
||||
global.Logger.Error("添加评论失败!", zap.Error(err))
|
||||
response.FailWithMsg(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithMsg("评论成功", c)
|
||||
}
|
||||
|
||||
// DeleteComment 删除评论
|
||||
// @Tags 用户互动
|
||||
// @Summary 删除评论
|
||||
// @Produce json
|
||||
// @Param data body request.DeleteComment true "评论ID"
|
||||
// @Success 200 {object} response.Response
|
||||
// @Router /radio/comment/delete [post]
|
||||
func (a *InteractionApi) DeleteComment(c *gin.Context) {
|
||||
userId := auth.GetUserId(c)
|
||||
var req request.DeleteComment
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
response.FailWithMsg("参数错误: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
if err := interactionService.DeleteComment(userId, req.CommentId); err != nil {
|
||||
global.Logger.Error("删除评论失败!", zap.Error(err))
|
||||
response.FailWithMsg(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithMsg("删除成功", c)
|
||||
}
|
||||
Reference in New Issue
Block a user