package questionnaire_subject import ( "surveyService/response" "surveyService/service/questionnaire_subject" "surveyService/validators" "github.com/gin-gonic/gin" ) // 修改或创建 func UpdateOrCreate(c *gin.Context) { var validator validators.QuestionnaireSubject err := c.ShouldBind(&validator) if err != nil { response.FailValidator(c, err) return } var updateErr *response.ErrCode if validator.ID > 0 { updateErr = questionnaire_subject.Update(&validator) } else { updateErr = questionnaire_subject.Create(&validator) } if updateErr != nil { response.Fail(c, updateErr) 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,max=100"` Key string `json:"key" form:"key" binding:"omitempty"` } var validator Validator err := c.ShouldBindQuery(&validator) if err != nil { response.FailValidator(c, err) return } subjects, total := questionnaire_subject.Paginate(validator.Page, validator.PageSize, validator.Key) var list []*validators.QuestionnaireSubject = make([]*validators.QuestionnaireSubject, 0) for _, item := range subjects { list = append(list, questionnaire_subject.Format(item)) } response.Success(c, map[string]any{ "list": list, "total": total, }) } // 获取全部列表 func List(c *gin.Context) { type Validator struct { Key string `json:"key" form:"key" binding:"omitempty"` } var validator Validator err := c.ShouldBindQuery(&validator) if err != nil { response.FailValidator(c, err) return } subjects := questionnaire_subject.List(validator.Key) var list []*validators.QuestionnaireSubject = make([]*validators.QuestionnaireSubject, 0) for _, item := range subjects { list = append(list, questionnaire_subject.Format(item)) } response.Success(c, map[string]any{ "list": list, }) } // 删除 func Delete(c *gin.Context) { type Validator struct { ID int64 `json:"id" form:"id" binding:"required"` } var validator Validator err := c.ShouldBind(&validator) if err != nil { response.FailValidator(c, err) return } deleteErr := questionnaire_subject.Delete(validator.ID) if deleteErr != nil { response.Fail(c, deleteErr) return } response.Success(c, map[string]any{}) } // 修改备注 func UpdateMark(c *gin.Context) { type Validator struct { ID int64 `json:"id" form:"id" binding:"required"` Mark string `json:"mark" form:"mark" binding:"omitempty"` } var validator Validator err := c.ShouldBind(&validator) if err != nil { response.FailValidator(c, err) return } updateErr := questionnaire_subject.UpdateMark(validator.ID, validator.Mark) if updateErr != nil { response.Fail(c, updateErr) return } response.Success(c, map[string]any{}) }