package topic import ( "github.com/gin-gonic/gin" "live/app/common" "live/app/lib" "live/app/lib/back" "live/app/lib/tools" "live/app/logic/topic" ) type Follow struct { } type argsList struct { FindUserId uint `json:"findUserId" form:"findUserId"` lib.Page } // @Title 会员话题关注列表 // @Param FindUserId uint true "需要查询的会员id" func (f *Follow) List(c *gin.Context) { uid := common.GetUserId(c) args := argsList{} if err := tools.ParseParams(&args, c); err != nil { back.Fail(c, err.Error()) return } if args.FindUserId <= 0 { back.Fail(c, "参数错误") return } list, count := (&topic.Follow{}).GetList(uid, args.FindUserId, args.Page) back.Suc(c, "操作成功", gin.H{ "list": list, "total": count, }) } type argsFollowChange struct { TopicId uint `json:"topicId" form:"topicId"` } // @Title 添加关注 func (f *Follow) Add(c *gin.Context) { uid := common.GetUserId(c) if uid == 0 { back.Fail(c, "未登录") return } args := argsFollowChange{} if err := tools.ParseParams(&args, c); err != nil { back.Fail(c, err.Error()) return } if args.TopicId <= 0 { back.Fail(c, "参数错误") return } flag := (&topic.Follow{}).Add(uid, args.TopicId) if flag { back.Suc(c, "关注成功", "") return } else { back.Fail(c, "关注失败") } } // @Title 取消关注 func (f *Follow) Cancel(c *gin.Context) { uid := common.GetUserId(c) if uid == 0 { back.Fail(c, "未登录") return } args := argsFollowChange{} if err := tools.ParseParams(&args, c); err != nil { back.Fail(c, err.Error()) return } if args.TopicId <= 0 { back.Fail(c, "参数错误") return } flag := (&topic.Follow{}).Cancel(uid, args.TopicId) if flag { back.Suc(c, "取关成功", "") return } else { back.Fail(c, "取关失败") } }