package survey_mechanism import ( "surveyService/response" "surveyService/service/survey_mechanism" "github.com/gin-gonic/gin" ) // 开始创建问卷授权 func CreateForManage(c *gin.Context) { type Validator struct { SurveyId string `json:"surveyId" form:"surveyId" binding:"required"` MechanismIds []string `json:"mechanismIds" form:"mechanismIds" binding:"required"` } var validator Validator validateErr := c.ShouldBind(&validator) if validateErr != nil { response.FailValidator(c, validateErr) return } err := survey_mechanism.Create(validator.SurveyId, validator.MechanismIds) if err != nil { response.Fail(c, err) return } response.Success(c, map[string]any{}) } // 获取某个问卷已被授权的机构列表 func ListMechanismIdsForSurveyForManage(c *gin.Context) { type Validator struct { SurveyId string `json:"surveyId" form:"surveyId" binding:"required"` } var validator Validator validateErr := c.ShouldBindQuery(&validator) if validateErr != nil { response.FailValidator(c, validateErr) return } mechanismIds, err := survey_mechanism.ListMechanismIdsForSurvey(validator.SurveyId) if err != nil { response.Fail(c, err) return } response.Success(c, map[string]any{ "list": mechanismIds, }) } // 获取授权列表 func PaginateForManage(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"` MechanismId string `json:"mechanismId" form:"mechanismId" binding:"omitempty"` SurveyId string `json:"surveyId" form:"surveyId" binding:"omitempty"` } var validator Validator validateErr := c.ShouldBindQuery(&validator) if validateErr != nil { response.FailValidator(c, validateErr) return } surveyMechanisms, total, err := survey_mechanism.Paginate(validator.Page, validator.PageSize, validator.Key, validator.MechanismId, validator.SurveyId) if err != nil { response.Fail(c, err) return } response.Success(c, map[string]any{ "list": survey_mechanism.ListFormat(surveyMechanisms), "total": total, }) } // 修改授权状态 func UpdateAuthorizeStatusForManage(c *gin.Context) { type Validator struct { ID string `json:"id" form:"id" binding:"required"` Status int `json:"status" form:"status" binding:"required"` } var validator Validator validateErr := c.ShouldBind(&validator) if validateErr != nil { response.FailValidator(c, validateErr) return } err := survey_mechanism.UpdateAuthorizeStatus(validator.ID, validator.Status) if err != nil { response.Fail(c, err) return } response.Success(c, map[string]any{}) }