123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312 |
- package questionnaire_survey
- import (
- "surveyService/response"
- "surveyService/service/questionnaire_survey"
- "surveyService/service/survey_import"
- "surveyService/validators"
- "github.com/gin-gonic/gin"
- )
- // 修改或创建
- func UpdateOrCreate(c *gin.Context) {
- var validator validators.QuestionnaireSurvey
- err := c.ShouldBind(&validator)
- if err != nil {
- response.FailValidator(c, err)
- return
- }
- var updateErr *response.ErrCode
- if validator.ID > 0 {
- updateErr = questionnaire_survey.Update(&validator)
- } else {
- updateErr = questionnaire_survey.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
- }
- surveys, total := questionnaire_survey.Paginate(validator.Page, validator.PageSize, validator.Key)
- var list []*validators.QuestionnaireSurvey = make([]*validators.QuestionnaireSurvey, 0)
- for _, item := range surveys {
- list = append(list, questionnaire_survey.Format(item))
- }
- response.Success(c, map[string]any{
- "list": list,
- "total": total,
- })
- }
- // 获取单个
- func Detail(c *gin.Context) {
- type Validator struct {
- ID int64 `json:"id" form:"id" binding:"required,min=1"`
- }
- var validator Validator
- err := c.ShouldBindQuery(&validator)
- if err != nil {
- response.FailValidator(c, err)
- return
- }
- surveyDetail, findErr := questionnaire_survey.Find(validator.ID)
- if findErr != nil {
- response.Fail(c, findErr)
- return
- }
- response.Success(c, map[string]any{
- "detail": questionnaire_survey.Format(surveyDetail),
- })
- }
- // 获取全部列表
- 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
- }
- surveys := questionnaire_survey.List(validator.Key)
- var list []*validators.QuestionnaireSurvey = make([]*validators.QuestionnaireSurvey, 0)
- for _, item := range surveys {
- list = append(list, questionnaire_survey.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_survey.Delete(validator.ID)
- if deleteErr != nil {
- response.Fail(c, deleteErr)
- return
- }
- response.Success(c, map[string]any{})
- }
- // 修改PEG.js
- func UpdatePeg(c *gin.Context) {
- type Validator struct {
- ID int64 `json:"id" form:"id" binding:"required"`
- Peg string `json:"peg" form:"peg" binding:"required"`
- }
- var validator Validator
- err := c.ShouldBind(&validator)
- if err != nil {
- response.FailValidator(c, err)
- return
- }
- updateErr := questionnaire_survey.UpdatePeg(validator.ID, validator.Peg)
- if updateErr != nil {
- response.Fail(c, updateErr)
- return
- }
- response.Success(c, map[string]any{})
- }
- // 修改备注
- func UpdateRemark(c *gin.Context) {
- type Validator struct {
- ID int64 `json:"id" form:"id" binding:"required"`
- Remark string `json:"remark" form:"remark" binding:"required"`
- }
- var validator Validator
- err := c.ShouldBind(&validator)
- if err != nil {
- response.FailValidator(c, err)
- return
- }
- updateErr := questionnaire_survey.UpdateRemark(validator.ID, validator.Remark)
- if updateErr != nil {
- response.Fail(c, updateErr)
- return
- }
- response.Success(c, map[string]any{})
- }
- // 修改状态
- func UpdateStatus(c *gin.Context) {
- type Validator struct {
- ID int64 `json:"id" form:"id" binding:"required"`
- Status int `json:"status" form:"status" binding:"required"`
- }
- var validator Validator
- err := c.ShouldBind(&validator)
- if err != nil {
- response.FailValidator(c, err)
- return
- }
- updateErr := questionnaire_survey.UpdateStatus(validator.ID, validator.Status)
- if updateErr != nil {
- response.Fail(c, updateErr)
- return
- }
- response.Success(c, map[string]any{})
- }
- // 获取关联的问题库列表
- func ListQuestionnaireSubject(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
- }
- subjects := questionnaire_survey.ListSubjects(validator.ID)
- var list []*validators.SurveyQuestionnaireSubject
- for _, subject := range subjects {
- list = append(list, questionnaire_survey.FormatSurveySubject(subject))
- }
- response.Success(c, map[string]any{
- "list": list,
- })
- }
- // 批量添加关联的问题库
- func AddQuestionnaireSubject(c *gin.Context) {
- type Validator struct {
- ID int64 `json:"id" form:"id" binding:"required"`
- SubjectIds []int64 `json:"subjectIds" form:"subjectIds" binding:"required"`
- }
- var validator Validator
- err := c.ShouldBind(&validator)
- if err != nil {
- response.FailValidator(c, err)
- return
- }
- addErr := questionnaire_survey.AddSubject(validator.ID, validator.SubjectIds)
- if addErr != nil {
- response.Fail(c, addErr)
- return
- }
- response.Success(c, map[string]any{})
- }
- // 移除关联的问题库
- func DeleteQuestionnaireSubject(c *gin.Context) {
- type Validator struct {
- ID int64 `json:"id" form:"id" binding:"required"`
- SubjectIds []int64 `json:"subjectIds" form:"subjectIds" binding:"required"`
- }
- var validator Validator
- err := c.ShouldBind(&validator)
- if err != nil {
- response.FailValidator(c, err)
- return
- }
- removeErr := questionnaire_survey.DeleteSubject(validator.ID, validator.SubjectIds)
- if removeErr != nil {
- response.Fail(c, removeErr)
- return
- }
- response.Success(c, map[string]any{})
- }
- // 批量修改关联问题库的排序
- func UpdateQuestionnaireSubjectSort(c *gin.Context) {
- type Validator struct {
- ID int64 `json:"id" form:"id" binding:"required"`
- SubjectIds []int64 `json:"subjectIds" form:"subjectIds" binding:"required"`
- }
- var validator Validator
- err := c.ShouldBind(&validator)
- if err != nil {
- response.FailValidator(c, err)
- return
- }
- updateErr := questionnaire_survey.UpdateSort(validator.ID, validator.SubjectIds)
- if updateErr != nil {
- response.Fail(c, updateErr)
- return
- }
- response.Success(c, map[string]any{})
- }
- // 修改关联问题库的是否必填
- func UpdateQuestionnaireSubjectIsRequired(c *gin.Context) {
- type Validator struct {
- ID int64 `json:"id" form:"id" binding:"required"`
- IsRequired int `json:"isRequired" form:"isRequired" binding:"required"`
- }
- var validator Validator
- err := c.ShouldBind(&validator)
- if err != nil {
- response.FailValidator(c, err)
- return
- }
- updateErr := questionnaire_survey.UpdateIsRequired(validator.ID, validator.IsRequired == 1)
- if updateErr != nil {
- response.Fail(c, updateErr)
- return
- }
- response.Success(c, map[string]any{})
- }
- func CacheList(c *gin.Context) {
- survey_import.CacheList()
- response.Success(c, map[string]any{})
- }
|