Files
nl-video-api/internal/controller/user/user_watch_history.go
2025-08-03 00:11:15 +08:00

81 lines
2.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package user
import (
"nl-video-api/internal/service"
"github.com/gogf/gf/v2/net/ghttp"
)
// UserWatchHistoryController 用户观看历史控制器
type UserWatchHistoryController struct{}
var UserWatchHistory = &UserWatchHistoryController{}
// Add 添加观看历史
func (c *UserWatchHistoryController) Add(r *ghttp.Request) {
service.NewUserWatchHistoryService().Add(r)
}
// GetList 获取观看历史列表
func (c *UserWatchHistoryController) GetList(r *ghttp.Request) {
service.NewUserWatchHistoryService().GetList(r)
}
// Delete 删除观看历史
func (c *UserWatchHistoryController) Delete(r *ghttp.Request) {
service.NewUserWatchHistoryService().Delete(r)
}
// Clear 清空观看历史
func (c *UserWatchHistoryController) Clear(r *ghttp.Request) {
// 获取用户ID需要实现GetUserIdFromContext函数
userId := service.GetUserIdFromContext(r.Context())
if userId == 0 {
r.Response.WriteJson(map[string]interface{}{
"code": 401,
"message": "请先登录",
})
return
}
err := service.NewUserWatchHistoryService().Clear(r.Context(), &service.UserWatchHistoryClearReq{
UserId: uint(userId),
})
if err != nil {
r.Response.WriteJson(map[string]interface{}{
"code": 1002,
"message": err.Error(),
})
return
}
r.Response.WriteJson(map[string]interface{}{
"code": 0,
"message": "清空成功",
})
}
// GetProgress 获取观看进度
func (c *UserWatchHistoryController) GetProgress(r *ghttp.Request) {
service.NewUserWatchHistoryService().GetProgress(r)
}
// List 获取观看历史列表(别名方法)
func (c *UserWatchHistoryController) List(r *ghttp.Request) {
c.GetList(r)
}
// Get 获取单个观看历史记录
func (c *UserWatchHistoryController) Get(r *ghttp.Request) {
// TODO: 实现获取单个观看历史记录逻辑
r.Response.WriteJson(map[string]interface{}{
"code": 0,
"message": "获取成功",
"data": map[string]interface{}{
"id": 1,
"movie_id": 1,
"progress": 50,
"watch_time": 3600,
},
})
}