package survey_mechanism import ( "surveyService/response" "surveyService/service/survey_mechanism" "surveyService/util" "surveyService/util/constants" "surveyService/validators" "github.com/gin-gonic/gin" "gogs.uu.mdfitnesscao.com/hys/sdk" ) // 获取问卷列表 func List(c *gin.Context) { // type Validator struct { // Key string `json:"key" form:"key" binding:"omitempty"` // Status int `json:"status" form:"status" binding:"omitempty,min=1,max=2"` // } // var validator Validator // validateErr := c.ShouldBind(&validator) // if validateErr != nil { // response.FailValidator(c, validateErr) // return // } mechanismInfo, _ := util.GetFromGinContext[*sdk.AuthMechanism](c, constants.MechanismOpenAPICacheKey) surveyMechanisms := survey_mechanism.InitMechanism(mechanismInfo).List(0, "") var list []*validators.SurveyMechanism = make([]*validators.SurveyMechanism, 0) for _, surveyMechanism := range surveyMechanisms { list = append(list, survey_mechanism.Format(surveyMechanism, nil, false)) } response.Success(c, map[string]any{ "list": list, }) } // 通过某个问卷编号获取H5端问卷答题地址 func GetLinkBySurveyId(c *gin.Context) { type Validator struct { Extra string `json:"extra" form:"extra" binding:"required"` // 自定义参数 SurveyId string `json:"surveyId" form:"surveyId" binding:"required"` // 问卷编号 } var validator Validator if err := c.ShouldBind(&validator); err != nil { response.FailValidator(c, err) return } mechanismInfo, _ := util.GetFromGinContext[*sdk.AuthMechanism](c, constants.MechanismOpenAPICacheKey) link, expiredIn, linkErr := survey_mechanism.InitMechanism(mechanismInfo).GetSurveyVisitLink(validator.SurveyId, validator.Extra) if linkErr != nil { response.Fail(c, linkErr) return } response.Success(c, map[string]any{ "link": link, "linkExpiredIn": expiredIn, }) }