Files
2026-10-08 16:50:13 +08:00

124 lines
4.0 KiB
Go

package followctrl
import (
"91jd-server/app/service/followser"
"91jd-server/common"
"91jd-server/common/log"
"91jd-server/common/stderr"
"91jd-server/models/v/followmod"
"91jd-server/models/v/noticerecdmod"
"github.com/gin-gonic/gin"
"time"
)
// GetFollowList doc
// @Summary 获取关注列表 - 获取自己关注的用户
// @Description 获取关注列表
// @Tags 关注
// @Accept mpfd,json
// @Produce json,html
// @Param pageNumber formData integer true "查询页码"
// @Param pageSize formData integer true "页码大小"
// @Param newsType formData string true "类型: SHORT:短视频博主 其他为空字符"
// @Success 200 {object} followmod.ListResp "{"list": [],"hasNext":false}"
// @Failure 400 {string} json "{"msg": "操作失败"}"
// @Router /api/follow/list [get]
func GetFollowList(ctx *gin.Context) {
uid, err := common.GetUID(ctx)
if err != nil {
common.ServeJSON(ctx, stderr.ErrNoToken, nil)
return
}
param := followmod.ListReq{}
err1 := ctx.ShouldBind(&param)
if err1 != nil {
common.ServeJSON(ctx, stderr.ErrParamError, nil)
return
}
if param.PageSize < 1 {
param.PageSize = 10
}
if param.UID != 0 {
code, data := followser.GetHisFollowList(uid, param.UID, param.PageNumber, param.PageSize)
common.ServeJSON(ctx, code, data)
return
}
// 固定给20个下去不翻页(运营已经确定)
param.PageSize = 20
param.PageNumber = 1
code, data := followser.GetFollowList(uid, param.PageNumber, param.PageSize, param.IsShort)
common.ServeJSON(ctx, code, data)
}
// GetFansList doc
// @Summary 获取粉丝列表 - 获取我的粉丝
// @Description 获取粉丝列表
// @Tags 关注
// @Accept mpfd,json
// @Produce json,html
// @Param pageNumber formData integer true "查询页码"
// @Param pageSize formData integer true "页码大小"
// @Success 200 {object} followmod.ListResp "{"list": [],"hasNext":false}"
// @Failure 400 {string} json "{"msg": "操作失败"}"
// @Router /api/follow/fans/list [get]
func GetFansList(ctx *gin.Context) {
uid, err := common.GetUID(ctx)
if err != nil {
common.ServeJSON(ctx, stderr.ErrNoToken, nil)
return
}
param := followmod.ListReq{}
err1 := ctx.ShouldBind(&param)
if err1 != nil {
common.ServeJSON(ctx, stderr.ErrParamError, nil)
return
}
if param.PageSize < 1 {
param.PageSize = 10
}
if param.UID != 0 {
code, data := followser.GetHisFansList(uid, param.UID, param.PageNumber, param.PageSize)
common.ServeJSON(ctx, code, data)
return
}
code, data := followser.GetFansList(uid, param.PageNumber, param.PageSize)
if code == stderr.Success {
err = noticerecdmod.UpdateTrendReadTime(noticerecdmod.Fans, uid, time.Now())
if err != nil {
log.Error("followctrl GetFansList UpdateTrendReadTime faild", log.E(err))
}
}
common.ServeJSON(ctx, code, data)
}
// DynamicsList doc
// @Summary 获取关注用户发布的视频
// @Description 获取关注用户发布的视频
// @Tags 关注
// @Accept mpfd,json
// @Produce json,html
// @Param pageNumber formData integer true "查询页码"
// @Param pageSize formData integer true "页码大小"
// @Success 200 {object} followmod.DynamicsResp "{"list": [],"hasNext":false}"
// @Failure 400 {string} json "{"msg": "操作失败"}"
// @Router /api/follow/dynamics/list [get]
func DynamicsList(ctx *gin.Context) {
uid, err := common.GetUID(ctx)
if err != nil {
common.ServeJSON(ctx, stderr.ErrNoToken, nil)
return
}
param := followmod.AppDynamicsListReq{}
err1 := ctx.ShouldBind(&param)
if err1 != nil {
common.ServeJSON(ctx, stderr.ErrParamError, nil)
return
}
if param.PageSize < 1 {
param.PageSize = 10
}
data, code := followser.GetDynamicsList(uid, param)
common.ServeJSON(ctx, code, data)
}