sys_menu.go 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. package controller
  2. import (
  3. "gas-cylinder-api/app/admin/model"
  4. "gas-cylinder-api/app/admin/service"
  5. "gas-cylinder-api/app/admin/service/dto"
  6. "github.com/gin-gonic/gin"
  7. "github.com/gin-gonic/gin/binding"
  8. "gogs.baozhida.cn/zoie/OAuth-core/api"
  9. "gogs.baozhida.cn/zoie/OAuth-core/pkg/jwtauth/user"
  10. _ "gogs.baozhida.cn/zoie/OAuth-core/pkg/response"
  11. )
  12. type SysMenuController struct {
  13. api.Api
  14. }
  15. // GetPage 获取菜单列表
  16. // @Summary 获取菜单列表
  17. // @Description 获取菜单列表
  18. // @Tags 菜单
  19. // @Param menuName query string false "菜单名称"
  20. // @Param title query string false "显示名称"
  21. // @Param visible query string false "显示状态"
  22. // @Param pageSize query int false "页条数"
  23. // @Param pageIndex query int false "页码"
  24. // @Success 200 {object} response.Response{data=response.Page{list=[]model.SysMenu}} "{"code": 200, "data": [...]}"
  25. // @Router /api/menu [get]
  26. // @Security Bearer
  27. func (e SysMenuController) GetPage(c *gin.Context) {
  28. s := service.SysMenu{}
  29. req := dto.SysMenuGetPageReq{}
  30. err := e.MakeContext(c).
  31. MakeOrm().
  32. Bind(&req, binding.Form).
  33. MakeService(&s.Service).
  34. Errors
  35. if err != nil {
  36. e.Logger.Error(err)
  37. e.Error(500, err, err.Error())
  38. return
  39. }
  40. var list = make([]model.SysMenu, 0)
  41. if err = s.GetPage(&req, &list).Error; err != nil {
  42. e.Error(500, err, "查询失败")
  43. return
  44. }
  45. e.OK(list, "查询成功")
  46. }
  47. // Get 通过id获取菜单
  48. // @Summary 通过id获取菜单
  49. // @Description 通过id获取菜单
  50. // @Tags 菜单
  51. // @Param id path string true "菜单id"
  52. // @Success 200 {object} response.Response{data=model.SysMenu} "{"code": 200, "data": [...]}"
  53. // @Router /api/menu/{id} [get]
  54. // @Security Bearer
  55. func (e SysMenuController) Get(c *gin.Context) {
  56. req := dto.SysMenuGetReq{}
  57. s := service.SysMenu{}
  58. err := e.MakeContext(c).
  59. MakeOrm().
  60. Bind(&req, nil).
  61. MakeService(&s.Service).
  62. Errors
  63. if err != nil {
  64. e.Logger.Error(err)
  65. e.Error(500, err, err.Error())
  66. return
  67. }
  68. var object = model.SysMenu{}
  69. err = s.Get(&req, &object).Error
  70. if err != nil {
  71. e.Error(500, err, "查询失败")
  72. return
  73. }
  74. e.OK(object, "查询成功")
  75. }
  76. // Insert 创建菜单
  77. // @Summary 创建菜单
  78. // @Description 创建菜单
  79. // @Tags 菜单
  80. // @Accept application/json
  81. // @Product application/json
  82. // @Param data body dto.SysMenuInsertReq true "data"
  83. // @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
  84. // @Router /api/menu [post]
  85. // @Security Bearer
  86. func (e SysMenuController) Insert(c *gin.Context) {
  87. req := dto.SysMenuInsertReq{}
  88. s := service.SysMenu{}
  89. err := e.MakeContext(c).
  90. MakeOrm().
  91. Bind(&req, binding.JSON).
  92. MakeService(&s.Service).
  93. Errors
  94. if err != nil {
  95. e.Logger.Error(err)
  96. e.Error(500, err, err.Error())
  97. return
  98. }
  99. // 设置创建人
  100. req.SetCreateBy(user.GetUserId(c))
  101. err = s.Insert(&req).Error
  102. if err != nil {
  103. e.Error(500, err, "创建失败")
  104. return
  105. }
  106. e.OK(req.GetId(), "创建成功")
  107. }
  108. // Update 修改菜单
  109. // @Summary 修改菜单
  110. // @Description 修改菜单
  111. // @Tags 菜单
  112. // @Accept application/json
  113. // @Product application/json
  114. // @Param id path string true "菜单id"
  115. // @Param data body dto.SysMenuUpdateReq true "body"
  116. // @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
  117. // @Router /api/menu/{id} [put]
  118. // @Security Bearer
  119. func (e SysMenuController) Update(c *gin.Context) {
  120. s := service.SysMenu{}
  121. req := dto.SysMenuUpdateReq{}
  122. err := e.MakeContext(c).
  123. MakeOrm().
  124. Bind(&req, binding.JSON, nil).
  125. MakeService(&s.Service).
  126. Errors
  127. if err != nil {
  128. e.Logger.Error(err)
  129. e.Error(500, err, err.Error())
  130. return
  131. }
  132. req.SetUpdateBy(user.GetUserId(c))
  133. err = s.Update(&req).Error
  134. if err != nil {
  135. e.Error(500, err, "更新失败")
  136. return
  137. }
  138. e.OK(req.GetId(), "更新成功")
  139. }
  140. // Delete 删除菜单
  141. // @Summary 删除菜单
  142. // @Description 删除菜单
  143. // @Tags 菜单
  144. // @Accept application/json
  145. // @Product application/json
  146. // @Param data body dto.SysMenuDeleteReq true "body"
  147. // @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
  148. // @Router /api/menu [delete]
  149. // @Security Bearer
  150. func (e SysMenuController) Delete(c *gin.Context) {
  151. s := service.SysMenu{}
  152. req := dto.SysMenuDeleteReq{}
  153. err := e.MakeContext(c).
  154. MakeOrm().
  155. Bind(&req, binding.JSON).
  156. MakeService(&s.Service).
  157. Errors
  158. if err != nil {
  159. e.Logger.Error(err)
  160. e.Error(500, err, err.Error())
  161. return
  162. }
  163. req.SetUpdateBy(user.GetUserId(c))
  164. err = s.Remove(&req).Error
  165. if err != nil {
  166. e.Logger.Errorf("RemoveSysMenu error, %s", err)
  167. e.Error(500, err, "删除失败")
  168. return
  169. }
  170. e.OK(req.GetId(), "删除成功")
  171. }
  172. // GetMenuRole 根据登录角色名称获取菜单列表数据【左菜单使用】
  173. // @Summary 根据登录角色名称获取菜单列表数据【左菜单使用】
  174. // @Description 根据登录角色名称获取菜单列表数据【左菜单使用】
  175. // @Tags 菜单
  176. // @Success 200 {object} response.Response{data=[]model.SysMenu} "{"code": 200, "data": [...]}"
  177. // @Router /api/menu-role [get]
  178. // @Security Bearer
  179. func (e SysMenuController) GetMenuRole(c *gin.Context) {
  180. s := new(service.SysMenu)
  181. err := e.MakeContext(c).
  182. MakeOrm().
  183. MakeService(&s.Service).
  184. Errors
  185. if err != nil {
  186. e.Logger.Error(err)
  187. e.Error(500, err, err.Error())
  188. return
  189. }
  190. result, err := s.SetMenuRole(user.GetRoleName(c))
  191. if err != nil {
  192. e.Error(500, err, err.Error())
  193. return
  194. }
  195. e.OK(result, "")
  196. }