@@ -0,0 +1,62 @@
|
||||
package minectrl
|
||||
|
||||
import (
|
||||
"91porn-server/app/service/feedbackser"
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/models/commod"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// FeedBack doc
|
||||
// @Summary 用户 - 用户反馈
|
||||
// @Description 用户反馈
|
||||
// @Tags mine
|
||||
// @Accept mpfd,json
|
||||
// @Produce json,html
|
||||
// @Param q body feedbackser.FeedbackReq false "请求参数"
|
||||
// @Success 200 {string} json "{"msg": "成功"}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /mine/feedback [post]
|
||||
func FeedBack(ctx *gin.Context) {
|
||||
uid, err := common.GetUID(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrNoToken, nil)
|
||||
return
|
||||
}
|
||||
var req = feedbackser.FeedbackReq{}
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
ua, _ := common.GetUA(ctx)
|
||||
code, err := req.Submit(ua, uid)
|
||||
common.ServeJSON(ctx, code, err)
|
||||
}
|
||||
|
||||
// FeedBackList doc
|
||||
// @Summary 用户 - 用户反馈
|
||||
// @Description 用户反馈
|
||||
// @Tags mine
|
||||
// @Accept mpfd,json
|
||||
// @Produce json,html
|
||||
// @Param pageNumber formData integer true "查询页码"
|
||||
// @Param pageSize formData integer true "页码大小"
|
||||
// @Success 200 {string} json "{"msg": []}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /mine/feedback/list [get]
|
||||
func FeedBackList(ctx *gin.Context) {
|
||||
uid, err := common.GetUID(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrNoToken, nil)
|
||||
return
|
||||
}
|
||||
arg := commod.Page{}
|
||||
if err := ctx.ShouldBind(&arg); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
|
||||
result, _ := feedbackser.GetFeedBackList(arg, uid)
|
||||
common.ServeJSON(ctx, stderr.Success, result)
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
package minectrl
|
||||
|
||||
import (
|
||||
"91porn-server/app/service/collectser"
|
||||
"91porn-server/app/service/mineser"
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/models/commod"
|
||||
"91porn-server/models/v/collectmod"
|
||||
"91porn-server/models/v/followmod"
|
||||
"91porn-server/models/v/userResourcemod"
|
||||
"fmt"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// Follow doc
|
||||
// @Summary 关注或者取消关注
|
||||
// @Description 关注或者取消关注
|
||||
// @Tags 关注
|
||||
// @Accept mpfd,json
|
||||
// @Produce json,html
|
||||
// @Param followUID formData number true "关注的用户uid"
|
||||
// @Param isShort formData bool true "是否是短视频用户"
|
||||
// @Param isFollow formData bool true "true则是关注,false则是取消关注"
|
||||
// @Success 200 {string} json "{"msg": "操作成功"}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/mine/follow [post]
|
||||
func Follow(ctx *gin.Context) {
|
||||
uid, err := common.GetUID(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrNoToken, nil)
|
||||
return
|
||||
}
|
||||
param := followmod.UserFollowReq{}
|
||||
err = ctx.ShouldBind(¶m)
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("mine follow param error:%v,uid:%v", err, uid))
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, nil)
|
||||
return
|
||||
}
|
||||
if param.FollowUID <= 0 {
|
||||
log.Error(fmt.Sprintf("mine follow param followUid err param:%+v,uid:%v", param, uid))
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, nil)
|
||||
return
|
||||
}
|
||||
code, data := mineser.Follow(uid, param.FollowUID, param.IsFollow, param.IsShort)
|
||||
if code != stderr.Success {
|
||||
log.Error(fmt.Sprintf("mine follow mineser Follow err:%+v,uid:%v", data, uid))
|
||||
}
|
||||
common.ServeJSON(ctx, code, data)
|
||||
}
|
||||
|
||||
// UserDownload doc
|
||||
// @Summary 使用下载次数
|
||||
// @Description 使用下载次数
|
||||
// @Tags 我的
|
||||
// @Accept mpfd,json
|
||||
// @Produce json,html
|
||||
// @Success 200 {string} json "{"msg": "操作成功"}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /app/mine/download/use [post]
|
||||
func UserDownload(ctx *gin.Context) {
|
||||
uid, err := common.GetUID(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrNoToken, nil)
|
||||
return
|
||||
}
|
||||
|
||||
code, data := mineser.UseDownloadCount(uid)
|
||||
if code != stderr.Success {
|
||||
common.ServeJSON(ctx, code, data)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, stderr.Success.Msg())
|
||||
}
|
||||
|
||||
// Collect doc
|
||||
// @Summary 用户模块 - 用户收藏信息
|
||||
// @Description 保存用户一条收藏信息
|
||||
// @Tags mine
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param q body collectmod.DoCollectReqInfo true "参数"
|
||||
// @Success 200 {string} json "{"msg": "操作成功"}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /app/mine/collect [post]
|
||||
func Collect(ctx *gin.Context) {
|
||||
uid, err := common.GetUID(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
||||
return
|
||||
}
|
||||
param := collectmod.DoCollectReqInfo{}
|
||||
err = ctx.ShouldBind(¶m)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
ua, _ := common.GetUA(ctx)
|
||||
ip := common.GetIP(ctx)
|
||||
code, err := collectser.DoCollect(uid, param.Type, param.ObjID, param.IsCollect, ua, ip)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, code, err)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, code, nil)
|
||||
}
|
||||
|
||||
// BatchCancelCollect doc
|
||||
// @Summary 用户模块 - 批量取消收藏
|
||||
// @Description 用户模块 - 批量取消收藏
|
||||
// @Tags mine
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param objIds formData []string true "数组-收藏对象ID合集"
|
||||
// @Param type formData string true "收藏类型 SP-长视频 SHORT-短视频 COVER-图文帖子 PIC-图集帖子 SEED_LINK-种子/黄油帖子"
|
||||
// @Success 200 {string} json "{"msg": "操作成功"}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /app/mine/collect/batch/cancel [post]
|
||||
func BatchCancelCollect(ctx *gin.Context) {
|
||||
uid, err := common.GetUID(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
||||
return
|
||||
}
|
||||
param := collectmod.DoBatchCancelCollectReq{}
|
||||
err = ctx.ShouldBind(¶m)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
ua, _ := common.GetUA(ctx)
|
||||
ip := common.GetIP(ctx)
|
||||
code, err := collectser.DoBatchCancelCollect(uid, param.Type, param.ObjIDs, ua, ip)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, code, err)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, code, nil)
|
||||
}
|
||||
|
||||
// InfoList doc
|
||||
// @Summary 用户模块 - 用户收藏详情列表
|
||||
// @Description 视频/地点/话题 列表
|
||||
// @Tags mine
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param type formData string true "收藏类型 video:视频 tag:专题 location:地点"
|
||||
// @Param pageNumber formData integer true "页数"
|
||||
// @Param pageSize formData integer true "每页条数"
|
||||
// @Param uid formData integer true "用户uid"
|
||||
// @Success 200 {object} commod.ListResp
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /app/mine/collect/infoList [get]
|
||||
func InfoList(ctx *gin.Context) {
|
||||
type Info struct {
|
||||
Type string `form:"type" json:"type" binding:"required"`
|
||||
UID uint64 `form:"uid" json:"uid" binding:"required"`
|
||||
Page commod.Page
|
||||
}
|
||||
param := Info{}
|
||||
err := ctx.ShouldBind(¶m)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, "api mine collect InfoList ShouldBind err"+err.Error())
|
||||
return
|
||||
}
|
||||
code, hasNext, data, err := collectser.GetInfoList(param.UID, param.Type, param.Page)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, code, "api mine collect InfoList GetInfoList err"+err.Error())
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, code, commod.ListResp{HasNext: hasNext, List: data})
|
||||
}
|
||||
|
||||
// UserResourceList doc
|
||||
// @Summary 用户资源列表
|
||||
// @Description 用户资源列表
|
||||
// @Tags mine
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param type formData string true "收藏类型 video:视频 tag:专题 location:地点"
|
||||
// @Param pageNumber formData integer true "页数"
|
||||
// @Param pageSize formData integer true "每页条数"
|
||||
// @Param uid formData integer true "用户uid"
|
||||
// @Success 200 {object} commod.ListResp
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/mine/userResource/list [get]
|
||||
func UserResourceList(ctx *gin.Context) {
|
||||
type Info struct {
|
||||
Type string `form:"type" json:"type" binding:"required"`
|
||||
Page commod.Page
|
||||
}
|
||||
param := Info{}
|
||||
err := ctx.ShouldBind(¶m)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, "api mine collect InfoList ShouldBind err"+err.Error())
|
||||
return
|
||||
}
|
||||
data, total, err := userResourcemod.GetUserResource(int(param.Page.PageNumber), int(param.Page.PageSize), param.Type)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.Failure, err)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, gin.H{
|
||||
"list": data,
|
||||
"total": total,
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package minectrl
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/models/v/reptmod"
|
||||
"91porn-server/models/v/repttypemod"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
)
|
||||
|
||||
// Report doc
|
||||
// @Summary 举报 - 用户举报
|
||||
// @Description 用户操作
|
||||
// @Tags mine
|
||||
// @Accept mpfd,json
|
||||
// @Produce json,html
|
||||
// @Param uid query integer true "举报者uid"
|
||||
// @Param objType query string true "举报对象类型,video、comment、user"
|
||||
// @Param types query string true "类型:内容违规/账号违规/侵权/其他"
|
||||
// @Param objID query string false "举报对象ID,videoID、commentId"
|
||||
// @Param objUID query integer false "被举报用户UID"
|
||||
// @Success 200 {string} json "{"msg": {"hasReported":true}} 已经举报则hasReported为true,提示用户已经举报"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /mine/report [post]
|
||||
func Report(ctx *gin.Context) {
|
||||
var arg struct {
|
||||
UID uint64 `form:"uid" json:"uid" binding:"required"`
|
||||
ObjType reptmod.ReportObjType `form:"objType" json:"objType" binding:"required"`
|
||||
Types string `form:"types" json:"types" binding:"required"`
|
||||
ObjID *primitive.ObjectID `form:"objID" json:"objID" binding:""`
|
||||
ObjUID *uint64 `form:"objUID" json:"objUID" binding:""`
|
||||
}
|
||||
if err := ctx.ShouldBind(&arg); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, "mine Report arg error "+err.Error())
|
||||
return
|
||||
}
|
||||
if arg.ObjType == reptmod.User && arg.ObjUID == nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, "mine Report arg error: no objUID ")
|
||||
return
|
||||
}
|
||||
if arg.ObjType != reptmod.User && arg.ObjID == nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, "mine Report arg error: no objID ")
|
||||
return
|
||||
}
|
||||
//举报有效期一个月
|
||||
ok, err := reptmod.Do(arg.UID, arg.ObjType, arg.ObjID, arg.ObjUID, arg.Types, time.Hour*24*30)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrNetWorkBusy, err)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, gin.H{
|
||||
"hasReported": ok,
|
||||
})
|
||||
}
|
||||
|
||||
// Report doc
|
||||
// @Summary 举报 - 举报种类
|
||||
// @Description 举报种类
|
||||
// @Tags mine
|
||||
// @Accept mpfd,json
|
||||
// @Produce json,html
|
||||
// @Success 200 {string} json "{"msg": []}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /mine/report/types/list [get]
|
||||
func ReportTypesList(c *gin.Context) {
|
||||
list, err := repttypemod.List()
|
||||
if err != nil {
|
||||
common.ServeJSON(c, stderr.ErrNetWorkBusy, "mine ReportTypesList error: "+err.Error())
|
||||
return
|
||||
}
|
||||
typesList := make([]string, 0, len(list))
|
||||
for _, report := range list {
|
||||
if report.Name != nil {
|
||||
typesList = append(typesList, *report.Name)
|
||||
}
|
||||
}
|
||||
common.ServeJSON(c, stderr.Success, typesList)
|
||||
}
|
||||
Reference in New Issue
Block a user