package SysDictController import ( "dsBaseWeb/Business/SysDict/SysDictService" "dsBaseWeb/Model" "dsBaseWeb/Utils/CommonUtil" "github.com/gin-gonic/gin" "net/http" ) //模块的路由配置 func Routers(r *gin.RouterGroup) { rr := r.Group("/dict") //教育局相关接口 rr.GET("/GetDictInfo", GetDictInfo) rr.GET("/PageDict", PageDict) rr.GET("/GetStageInfo", GetStageInfo) rr.GET("/GetSubjectInfo", GetSubjectInfo) rr.GET("/GetMultipleDictInfo", GetMultipleDictInfo) return } // @Summary 根据字典分类和字典编码获取字典信息 // @Description 根据字典分类和字典编码获取字典信息 // @Tags 字典 // @Accept application/x-www-form-urlencoded // @Produce json // @Param dictKind query string true "字典分类" // @Param dictCode query string true "字典编码" // @Success 200 {object} Model.Res // @Router /base/dict/GetDictInfo [get] // @X-EmptyLimit ["dictKind","dictCode"] // @X-LengthLimit [{"dictKind":"1,20"},{"dictCode":"1,10"}] // @X-RoleLimit ["1","2","3","4","5","6","7"] // @X-InterfaceName ["GetSysDict"] // @X-TableName ["t_sys_dict"] // @X-RemoveSwaggerField ["dict_id","dict_kind","dict_remark","dict_parent","sort_id","b_use"] // @X-Sort [1] func GetDictInfo(c *gin.Context) { //字典分类 dictKind := c.Query("dictKind") //字典编码 dictCode := c.Query("dictCode") //操作人 actionPersonId, err := c.Cookie("person_id") if err != nil { c.JSON(http.StatusOK, Model.Res{ Success: false, Message: "未获取到Cookie中的人员编码!", }) return } //操作IP actionIpAddress := c.ClientIP() r, err := SysDictService.GetDictInfo(dictKind, dictCode, actionPersonId, actionIpAddress) if err != nil { c.JSON(http.StatusOK, Model.Res{ Success: false, Message: "调用RPC服务失败!", }) return } c.JSON(http.StatusOK, Model.Res{ Success: r.Success, Message: r.Message, List: CommonUtil.ConvertJsonStringToMapArray(r.List), }) } // @Summary 根据字典分类、上级字典编码获取字典信息 // @Description 根据字典分类、上级字典编码获取字典信息 // @Tags 字典 // @Accept application/x-www-form-urlencoded // @Produce json // @Param dictKind query string true "字典分类" // @Param dictParent query string false "上级字典编码" // @Success 200 {object} Model.Res // @Router /base/dict/PageDict [get] // @X-EmptyLimit ["dictKind"] // @X-LengthLimit [{"dictKind":"1,20"},{"dictParent":"1,10"}] // @X-RoleLimit ["1","2","3","4","5","6","7"] // @X-InterfaceName ["PageSysDict"] // @X-TableName ["t_sys_dict"] // @X-RemoveSwaggerField ["dict_id","dict_kind","dict_remark","dict_parent","sort_id","b_use"] // @X-Sort [2] func PageDict(c *gin.Context) { //字典分类 dictKind := c.Query("dictKind") //上级字典编码 dictParent := c.Query("dictParent") //操作人 actionPersonId, err := c.Cookie("person_id") if err != nil { c.JSON(http.StatusOK, Model.Res{ Success: false, Message: "未获取到Cookie中的人员编码!", }) return } //操作IP actionIpAddress := c.ClientIP() r, err := SysDictService.PageDict(dictKind, dictParent, actionPersonId, actionIpAddress) if err != nil { c.JSON(http.StatusOK, Model.Res{ Success: false, Message: "调用RPC服务失败!", }) return } c.JSON(http.StatusOK, Model.Res{ Success: r.Success, Message: r.Message, List: CommonUtil.ConvertJsonStringToMapArray(r.List), Count: r.Count, }) } // @Summary 获取学段信息 // @Description 获取学段信息 // @Tags 字典 // @Accept application/x-www-form-urlencoded // @Produce json // @Success 200 {object} Model.Res // @Router /base/dict/GetStageInfo [get] // @X-RoleLimit ["1","2","3","4","5","6","7"] // @X-InterfaceName ["PageSysDict"] // @X-TableName ["t_dm_stage"] // @X-RemoveSwaggerField ["b_use","sort_id"] // @X-Sort [3] func GetStageInfo(c *gin.Context) { r, err := SysDictService.GetStageInfo() if err != nil { c.JSON(http.StatusOK, Model.Res{ Success: false, Message: "调用RPC服务失败!", }) return } c.JSON(http.StatusOK, Model.Res{ Success: r.Success, Message: r.Message, List: CommonUtil.ConvertJsonStringToMapArray(r.List), Count: r.Count, }) } // @Summary 根据学段ID获取学科信息 // @Description 根据学段ID获取学科信息 // @Tags 字典 // @Accept application/x-www-form-urlencoded // @Produce json // @Param stageId query string true "学段ID" // @Success 200 {object} Model.Res // @Router /base/dict/GetSubjectInfo [get] // @X-EmptyLimit ["stageId"] // @X-LengthLimit [{"stageId":"1,1"}] // @X-RoleLimit ["1","2","3","4","5","6","7"] // @X-InterfaceName ["PageSysDict"] // @X-TableName ["t_dm_subject"] // @X-RemoveSwaggerField ["b_use","sort_id"] // @X-Sort [4] func GetSubjectInfo(c *gin.Context) { //学段ID stageId := c.Query("stageId") //操作人 actionPersonId, err := c.Cookie("person_id") if err != nil { c.JSON(http.StatusOK, Model.Res{ Success: false, Message: "未获取到Cookie中的人员编码!", }) return } //操作IP actionIpAddress := c.ClientIP() r, err := SysDictService.GetSubjectInfo(stageId, actionPersonId, actionIpAddress) if err != nil { c.JSON(http.StatusOK, Model.Res{ Success: false, Message: "调用RPC服务失败!", }) return } c.JSON(http.StatusOK, Model.Res{ Success: r.Success, Message: r.Message, List: CommonUtil.ConvertJsonStringToMapArray(r.List), Count: r.Count, }) } // @Summary 根据多个dict_kind获取字典信息 // @Description 根据多个dict_kind获取字典信息 // @Tags 字典 // @Accept application/x-www-form-urlencoded // @Produce json // @Param dictKinds query string true "字典分类,多个用逗号分隔" // @Success 200 {object} Model.Res // @Router /base/dict/GetMultipleDictInfo [get] // @X-EmptyLimit ["dictKinds"] // @X-LengthLimit [{"dictKinds":"1,500"}] // @X-RoleLimit ["1","2","3","4","5","6","7"] // @X-Sort [5] func GetMultipleDictInfo(c *gin.Context) { dictKinds := c.Query("dictKinds") //操作人 actionPersonId, err := c.Cookie("person_id") if err != nil { c.JSON(http.StatusOK, Model.Res{ Success: false, Message: "未获取到Cookie中的人员编码!", }) return } //操作IP actionIpAddress := c.ClientIP() r, err := SysDictService.GetMultipleDictInfo(dictKinds, actionPersonId, actionIpAddress) if err != nil { c.JSON(http.StatusOK, Model.Res{ Success: false, Message: "调用RPC服务失败!", }) return } c.JSON(http.StatusOK, Model.Res{ Success: r.Success, Message: r.Message, List: CommonUtil.ConvertJsonStringToMap(r.List), Count: r.Count, }) }