package survey_result import ( "surveyService/response" "surveyService/service/survey_result" "surveyService/util" "surveyService/util/constants" "github.com/gin-gonic/gin" "gogs.uu.mdfitnesscao.com/hys/sdk" ) // 通过某个问卷结果编号获取H5端结果页地址 func GetLinkBySurveyResultId(c *gin.Context) { type Validator struct { Extra string `json:"extra" form:"extra" 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, surveyResult, linkErr := survey_result.InitMechanism(mechanismInfo).GetSurveyResultVisitLink(validator.Extra) if linkErr != nil { response.Fail(c, linkErr) return } response.Success(c, map[string]any{ "link": link, "linkExpiredIn": expiredIn, "status": surveyResult.Status, }) }