external.go 994 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package survey_result
  2. import (
  3. "surveyService/response"
  4. "surveyService/service/survey_result"
  5. "surveyService/util"
  6. "surveyService/util/constants"
  7. "github.com/gin-gonic/gin"
  8. "gogs.uu.mdfitnesscao.com/cuiguohai/sdk"
  9. )
  10. // 通过某个问卷结果编号获取H5端结果页地址
  11. func GetLinkBySurveyResultId(c *gin.Context) {
  12. type Validator struct {
  13. Extra string `json:"extra" form:"extra" binding:"required"` // 自定义参数
  14. }
  15. var validator Validator
  16. if err := c.ShouldBind(&validator); err != nil {
  17. response.FailValidator(c, err)
  18. return
  19. }
  20. mechanismInfo, _ := util.GetFromGinContext[*sdk.AuthMechanism](c, constants.MechanismOpenAPICacheKey)
  21. link, expiredIn, surveyResult, linkErr := survey_result.InitMechanism(mechanismInfo).GetSurveyResultVisitLink(validator.Extra)
  22. if linkErr != nil {
  23. response.Fail(c, linkErr)
  24. return
  25. }
  26. response.Success(c, map[string]any{
  27. "link": link,
  28. "linkExpiredIn": expiredIn,
  29. "status": surveyResult.Status,
  30. })
  31. }