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, }) }