roles.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package handlers
  2. import (
  3. "net/http"
  4. "easydo-echo_win7/models"
  5. "easydo-echo_win7/services"
  6. "easydo-echo_win7/utils"
  7. // "github.com/labstack/echo-contrib/session"
  8. "easydo-echo_win7/middleware"
  9. "github.com/labstack/echo/v4"
  10. )
  11. func Add_role_to_routes(e *echo.Echo) {
  12. group := e.Group("/sysRole")
  13. group.Use(middleware.AuthMiddleware)
  14. group.POST("/getPage", roleGetPage)
  15. group.POST("/getList", roleGetList)
  16. group.POST("/save", roleSave)
  17. group.POST("/update", roleUpdate)
  18. group.POST("/remove", roleRemove)
  19. }
  20. func roleGetPage(c echo.Context) error {
  21. var paramMap map[string]interface{}
  22. if err := c.Bind(&paramMap); err != nil {
  23. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("参数解析失败", err.Error()))
  24. }
  25. result, err := services.JdbcClient.GetJdbcPage(paramMap, models.SysRole{})
  26. if err != nil {
  27. utils.PrintSqlErr(err)
  28. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  29. }
  30. list := utils.ConvertInterface[[]models.SysRole](result.Records)
  31. if len(list) == 0 {
  32. list = []models.SysRole{}
  33. }
  34. result.Records = list
  35. return c.JSON(http.StatusOK, result)
  36. }
  37. func roleGetList(c echo.Context) error {
  38. var paramMap map[string]interface{}
  39. if err := c.Bind(&paramMap); err != nil {
  40. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("参数解析失败", err.Error()))
  41. }
  42. result, err := services.JdbcClient.GetJdbcList(paramMap, models.SysRole{})
  43. if err != nil {
  44. utils.PrintSqlErr(err)
  45. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  46. }
  47. list := utils.ConvertInterface[[]models.SysRole](result)
  48. if len(list) == 0 {
  49. return c.JSON(http.StatusOK, []models.SysRole{})
  50. }
  51. return c.JSON(http.StatusOK, list)
  52. }
  53. func roleSave(c echo.Context) error {
  54. role := new(models.SysRole)
  55. if err := c.Bind(role); err != nil {
  56. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("参数解析失败", err.Error()))
  57. }
  58. err := services.JdbcClient.JdbcInsert(role)
  59. if err != nil {
  60. utils.PrintSqlErr(err)
  61. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  62. }
  63. return c.JSON(http.StatusOK, role)
  64. }
  65. func roleUpdate(c echo.Context) error {
  66. role := new(models.SysRole)
  67. if err := c.Bind(role); err != nil {
  68. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("参数解析失败", err.Error()))
  69. }
  70. err := services.JdbcClient.JdbcUpdateById(role)
  71. if err != nil {
  72. utils.PrintSqlErr(err)
  73. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  74. }
  75. return c.JSON(http.StatusOK, role)
  76. }
  77. func roleRemove(c echo.Context) error {
  78. tx, _ := services.MYSQL_DB.Beginx()
  79. role := new(models.SysRole)
  80. if err := c.Bind(role); err != nil {
  81. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("参数解析失败", err.Error()))
  82. }
  83. roleMenuParam := new(models.SysRolesMenus)
  84. roleMenuParam.RoleID = role.ID
  85. err := services.JdbcClient.JdbcRemove(roleMenuParam, tx)
  86. if err != nil {
  87. utils.PrintSqlErr(err)
  88. tx.Rollback()
  89. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  90. }
  91. err = services.JdbcClient.JdbcRemoveById(role, tx)
  92. if err != nil {
  93. utils.PrintSqlErr(err)
  94. tx.Rollback()
  95. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  96. }
  97. tx.Commit()
  98. return c.JSON(http.StatusOK, role)
  99. }