123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- package router
- import (
- "net/http"
- "surveyService/controller/callback"
- "surveyService/controller/questionnaire_subject"
- "surveyService/controller/questionnaire_survey"
- "surveyService/controller/questionnaire_template"
- "surveyService/controller/survey"
- "surveyService/controller/survey_mechanism"
- "surveyService/controller/survey_result"
- "surveyService/middleware"
- "github.com/gin-gonic/gin"
- "gogs.uu.mdfitnesscao.com/cuiguohai/sdk/constants"
- )
- func Init() *gin.Engine {
- router := gin.Default()
- router.Use(middleware.Cors())
- router.GET("/ping", func(c *gin.Context) {
- c.String(http.StatusOK, "The Server is Running")
- })
- // 后台API
- backendApiRouter := router.Group("/backend")
- backendApiRouter.Use(middleware.Authorize())
- {
- // |------ 问卷管理
- // 获取问卷列表
- backendApiRouter.GET("/survey/list", survey.List)
- // 创建问卷
- backendApiRouter.POST("/survey/updateOrCreate", middleware.PermissionCheck(constants.UserPermissionSurveyEdit), survey.UpdateOrCreate)
- // 获取问卷详情
- backendApiRouter.GET("/survey/detail", middleware.PermissionCheck(constants.UserPermissionSurveyView), survey.Detail)
- // 获取问卷列表(分页)
- backendApiRouter.GET("/survey/paginate", middleware.PermissionCheck(constants.UserPermissionSurveyView), survey.Paginate)
- // 修改问卷备注
- backendApiRouter.POST("/survey/update/remark", middleware.PermissionCheck(constants.UserPermissionSurveyEdit), survey.UpdateRemark)
- // 修改问卷状态
- backendApiRouter.POST("/survey/update/status", middleware.PermissionCheck(constants.UserPermissionSurveyEdit), survey.UpdateStatus)
- // |------ 问卷授权管理
- // 创建问卷授权
- backendApiRouter.POST("/surveyAuthorize/create", middleware.PermissionCheck(constants.UserPermissionSurveyAuthorizeEdit), survey_mechanism.CreateForManage)
- // 获取问卷已被授权的机构列表
- backendApiRouter.GET("/surveyAuthorize/listMechanismIds", middleware.PermissionCheck(constants.UserPermissionSurveyAuthorizeView), survey_mechanism.ListMechanismIdsForSurveyForManage)
- // 获取授权列表
- backendApiRouter.GET("/surveyAuthorize/paginate", middleware.PermissionCheck(constants.UserPermissionSurveyAuthorizeView), survey_mechanism.PaginateForManage)
- // 修改授权状态
- backendApiRouter.POST("/surveyAuthorize/update/status", middleware.PermissionCheck(constants.UserPermissionSurveyAuthorizeEdit), survey_mechanism.UpdateAuthorizeStatusForManage)
- // |------ 问卷结果管理
- // 获取问卷结果列表
- backendApiRouter.GET("/surveyResult/paginate", middleware.PermissionCheck(constants.UserPermissionSurveyResultView), survey_result.PaginateForManage)
- // 获取问卷结果详情
- backendApiRouter.GET("/surveyResult/detail", middleware.PermissionCheck(constants.UserPermissionSurveyResultView), survey_result.DetailForManage)
- // 重新执行一次算法
- backendApiRouter.POST("/surveyResult/run", middleware.PermissionCheck(constants.UserPermissionSurveyResultEdit), survey_result.RunForManage)
- // |------基础问卷管理
- // 获取问卷列表(不要权限)
- backendApiRouter.GET("/questionnaireSurvey/list", questionnaire_survey.List)
- // 获取问题模板列表
- backendApiRouter.GET("/algor/questionnaireTemplate/list", questionnaire_template.List)
- // 获取问题库列表
- backendApiRouter.GET("/algor/questionnaireSubject/list", questionnaire_subject.List)
- // 将问题库和问题模板缓存到Redis
- backendApiRouter.GET("/algor/questionnaire/cache", questionnaire_survey.CacheList)
- }
- // 机构API
- mechanismApiRouter := router.Group("/mechanism")
- mechanismApiRouter.Use(middleware.AuthorizeMechanism())
- {
- // |------ 问卷管理
- // 获取问卷列表
- mechanismApiRouter.GET("/survey/paginate", middleware.PermissionCheckStaff(constants.MechanismStaffPermissionSurveyView), survey_mechanism.Paginate)
- // 修改问卷状态
- mechanismApiRouter.POST("/survey/update/status", middleware.PermissionCheckStaff(constants.MechanismStaffPermissionSurveyEdit), survey_mechanism.UpdateStatus)
- // 修改问卷信息
- mechanismApiRouter.POST("/survey/update", middleware.PermissionCheckStaff(constants.MechanismStaffPermissionSurveyEdit), survey_mechanism.Update)
- // 获取问卷详情
- mechanismApiRouter.GET("/survey/detail", middleware.PermissionCheckStaff(constants.MechanismStaffPermissionSurveyView), survey_mechanism.Detail)
- // 获取问卷详情(转译系统)
- mechanismApiRouter.GET("/survey/detail/config", middleware.PermissionCheckStaff(constants.MechanismStaffPermissionSurveyView), survey_mechanism.DetailSurveyConfig)
- // |------ 问卷结果管理
- // 获取问卷结果列表
- mechanismApiRouter.GET("/surveyResult/paginate", middleware.PermissionCheckStaff(constants.MechanismStaffPermissionSurveyResultView), survey_result.Paginate)
- // 获取问卷结果详情
- mechanismApiRouter.GET("/surveyResult/detail", middleware.PermissionCheckStaff(constants.MechanismStaffPermissionSurveyResultView), survey_result.Detail)
- // |------基础问卷管理
- // 获取问卷列表(不要权限)
- mechanismApiRouter.GET("/questionnaireSurvey/list", questionnaire_survey.List)
- // 获取问题模板列表
- mechanismApiRouter.GET("/algor/questionnaireTemplate/list", questionnaire_template.List)
- // 获取问题库列表
- mechanismApiRouter.GET("/algor/questionnaireSubject/list", questionnaire_subject.List)
- }
- memberApiRouter := router.Group("/member")
- memberApiRouter.Use(middleware.MemberMechanism(), middleware.AuthorizeMember())
- {
- // |------ 问卷
- // 获取问卷列表
- memberApiRouter.GET("/survey/list", survey_mechanism.ListForMember)
- // 获取我的评测记录
- memberApiRouter.GET("/surveyResult/paginate", survey_result.PaginateForMember)
- }
- // 下面的接口支持用户端使用,支持第三方凭证使用
- // 鉴于middleware的执行顺序,AuthorizeMember必须放在AuthorizeSurveyToken后面,否则会导致AuthorizeSurveyToken校验无效
- memberApiRouter.Use(middleware.MemberMechanism(), middleware.AuthorizeSurveyToken(), middleware.AuthorizeMember())
- {
- // |------ 问卷
- // 获取问卷详情
- memberApiRouter.GET("/survey/detail", survey_mechanism.DetailForMember)
- // 获取问卷题目列表
- memberApiRouter.GET("/survey/detail/questions", survey_mechanism.DetailQuestionsForMember)
- // 创建答题结果
- memberApiRouter.POST("/surveyResult/create", survey_result.CreateSurveyResultForMember)
- // 提交答题结果
- memberApiRouter.POST("/surveyResult/submit", survey_result.SubmitSurveyResultForMember)
- // 创建答题结果
- memberApiRouter.POST("/surveyResult/createAndSubmit", survey_result.CreateAndSubmitSurveyResultForMember)
- // 获取问卷结果
- memberApiRouter.GET("/surveyResult/detail", survey_result.DetailSurveyResultForMember)
- // 获取最后一份问卷结果
- memberApiRouter.GET("/surveyResult/detail/last", survey_result.DetailLastSurveyResultForMember)
- }
- callbackApiRouter := router.Group("/callback")
- // 问卷结果回调
- callbackApiRouter.POST("/survey/result", callback.CallbackSurveyResult)
- callbackApiRouter.POST("/survey/sync", callback.CallbackSurveySync)
- // 外部开发接口
- externalOpenApiRouter := router.Group("/external/openapi")
- // 新增机构ID拦截
- externalOpenApiRouter.Use(middleware.AuthorizeMechanismByAppKey())
- {
- // 获取已授权的问卷列表
- externalOpenApiRouter.POST("/survey/list", survey_mechanism.List)
- // 通过某个问卷编号获取H5端问卷答题地址
- externalOpenApiRouter.POST("/survey/link", survey_mechanism.GetLinkBySurveyId)
- // 通过某个问卷结果编号获取H5端结果页地址
- externalOpenApiRouter.POST("/survey/result/link", survey_result.GetLinkBySurveyResultId)
- }
- // 内部开放接口
- openApiRouter := router.Group("/openapi")
- // 获取问题模板列表
- openApiRouter.POST("/questionnaireTemplate/list", questionnaire_template.List)
- // 获取问题库列表
- openApiRouter.POST("/questionnaireSubject/list", questionnaire_subject.List)
- return router
- }
|