92 lines
2.9 KiB
Go
92 lines
2.9 KiB
Go
package newactivityctrl
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
|
|
"91porn-server/app/middleware/authuser"
|
|
"91porn-server/app/service/questionnreser"
|
|
"91porn-server/common/log"
|
|
"91porn-server/common/stderr"
|
|
"91porn-server/models/v/questionnremod"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// @Tags 问卷调查
|
|
// @Summary 问卷提交
|
|
// @Description 问卷提交
|
|
// @Security ApiKeyAuth
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Success 200 {string} json "{"msg": "操作成功"}"
|
|
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
|
// @Router /api/app/newactivity/questionnaire/submit [post]
|
|
func Submit(ctx *gin.Context) {
|
|
token := ctx.Request.Header.Get("X-Authorization") //为兼容H5带APP token
|
|
if token == "" {
|
|
ctx.AbortWithStatusJSON(http.StatusOK, stderr.ErrNoToken.Struct())
|
|
return
|
|
}
|
|
claims, err := authuser.ParseWebClaims(token)
|
|
if err != nil {
|
|
log.Error("activity QuestionnaireSubmit ParseWebClaims error", log.Any("token", fmt.Sprintf("%+v", token)), log.E(err))
|
|
ctx.JSON(http.StatusBadRequest, stderr.InvalidToken.Struct())
|
|
return
|
|
}
|
|
var req questionnremod.Questionnaire
|
|
if err := ctx.ShouldBind(&req); err != nil {
|
|
ctx.JSON(http.StatusBadRequest, gin.H{"data": err.Error(), "code": stderr.ErrParamError, "msg": stderr.ErrParamError.Msg()})
|
|
return
|
|
}
|
|
req.UID = claims.UID
|
|
code, res := questionnreser.Submit(req)
|
|
if code != stderr.Success {
|
|
ctx.JSON(http.StatusBadRequest, code.Struct())
|
|
return
|
|
}
|
|
ctx.JSON(http.StatusOK, res)
|
|
}
|
|
|
|
// @Tags 问卷调查
|
|
// @Summary 根据用户ID查询问卷信息接口
|
|
// @Description 根据用户ID查询问卷信息接口
|
|
// @Security ApiKeyAuth
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Success 200 {string} json "{"msg": "操作成功"}"
|
|
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
|
// @Router /api/app/newactivity/questionnaire/getQuestionnaireByUser [GET]
|
|
func GetQuestionnaireByUsers(ctx *gin.Context) {
|
|
token := ctx.Request.Header.Get("X-Authorization") //为兼容H5带APP token
|
|
if token == "" {
|
|
ctx.AbortWithStatusJSON(http.StatusOK, stderr.ErrNoToken.Struct())
|
|
return
|
|
}
|
|
claims, err := authuser.ParseWebClaims(token)
|
|
if err != nil {
|
|
log.Error("activity QuestionnaireSubmit ParseWebClaims error", log.Any("token", fmt.Sprintf("%+v", token)), log.E(err))
|
|
ctx.JSON(http.StatusBadRequest, stderr.InvalidToken.Struct())
|
|
return
|
|
}
|
|
var req struct {
|
|
UID uint64 `form:"uid" json:"uid"`
|
|
}
|
|
if err = ctx.ShouldBind(&req); err != nil {
|
|
ctx.JSON(http.StatusBadRequest, gin.H{"data": err.Error(), "code": stderr.ErrParamError, "msg": stderr.ErrParamError.Msg()})
|
|
return
|
|
}
|
|
if req.UID == 0 {
|
|
req.UID = claims.UID
|
|
}
|
|
vipLevel, list, err := questionnreser.GetByUID(req.UID)
|
|
if err != nil {
|
|
code := stderr.ErrNetWorkBusy
|
|
ctx.JSON(http.StatusBadRequest, code.Struct())
|
|
}
|
|
ctx.JSON(http.StatusOK, gin.H{
|
|
"vipLevel": vipLevel,
|
|
"list": list,
|
|
})
|
|
}
|