package survey_mechanism import ( "surveyService/model" "surveyService/response" "surveyService/service/survey_mechanism" "surveyService/util" "surveyService/util/constants" "surveyService/validators" "github.com/gin-gonic/gin" "gogs.uu.mdfitnesscao.com/cuiguohai/sdk" ) // 获取详情 func Detail(c *gin.Context) { type Validator struct { ID string `json:"id" form:"id" binding:"required"` } var validator Validator validateErr := c.ShouldBindQuery(&validator) if validateErr != nil { response.FailValidator(c, validateErr) return } authMechanism, _ := util.GetFromGinContext[*sdk.AuthMechanism](c, constants.MechanismCacheKey) surveyMechanism, err := survey_mechanism.InitMechanism(authMechanism).Detail(validator.ID) if err != nil { response.Fail(c, err) return } response.Success(c, map[string]any{ "detail": survey_mechanism.ListFormat([]*model.SurveyMechanism{surveyMechanism})[0], }) } // 修改问卷信息 func Update(c *gin.Context) { var validator *validators.SurveyMechanism validateErr := c.ShouldBind(&validator) if validateErr != nil { response.FailValidator(c, validateErr) return } authMechanism, _ := util.GetFromGinContext[*sdk.AuthMechanism](c, constants.MechanismCacheKey) err := survey_mechanism.InitMechanism(authMechanism).Update(validator) if err != nil { response.Fail(c, err) return } response.Success(c, map[string]any{}) } // 修改问卷状态 func UpdateStatus(c *gin.Context) { type Validator struct { ID string `json:"id" form:"id" binding:"required"` Status int `json:"status" form:"status" binding:"required,min=1,max=2"` } var validator Validator validateErr := c.ShouldBind(&validator) if validateErr != nil { response.FailValidator(c, validateErr) return } authMechanism, _ := util.GetFromGinContext[*sdk.AuthMechanism](c, constants.MechanismCacheKey) err := survey_mechanism.InitMechanism(authMechanism).UpdateStatus(validator.ID, validator.Status) if err != nil { response.Fail(c, err) return } response.Success(c, map[string]any{}) } // 获取问卷列表 func Paginate(c *gin.Context) { type Validator struct { Page int `json:"page" form:"page" binding:"omitempty,min=1"` PageSize int `json:"pageSize" form:"pageSize" binding:"omitempty,min=1"` 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 } authMechanism, _ := util.GetFromGinContext[*sdk.AuthMechanism](c, constants.MechanismCacheKey) surveyMechanisms, total, err := survey_mechanism.InitMechanism(authMechanism).Paginate(validator.Page, validator.PageSize, validator.Status, validator.Key) if err != nil { response.Fail(c, err) return } response.Success(c, map[string]any{ "list": survey_mechanism.ListFormat(surveyMechanisms), "total": total, }) } // 获取问卷的题目配置 func DetailSurveyConfig(c *gin.Context) { type Validator struct { ID string `json:"id" form:"id" binding:"required"` } var validator Validator validateErr := c.ShouldBindQuery(&validator) if validateErr != nil { response.FailValidator(c, validateErr) return } authMechanism, _ := util.GetFromGinContext[*sdk.AuthMechanism](c, constants.MechanismCacheKey) surveyConfig, err := survey_mechanism.InitMechanism(authMechanism).DetailSurveyConfig(validator.ID) if err != nil { response.Fail(c, err) return } response.Success(c, map[string]any{ "detail": surveyConfig, }) }