tenant.go 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  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_tenant_to_routes(e *echo.Echo) {
  12. group := e.Group("/tenant")
  13. group.Use(middleware.AuthMiddleware)
  14. group.POST("/getPage", tenantGetPage)
  15. group.POST("/getList", tenantGetList)
  16. group.POST("/save", tenantSave)
  17. group.POST("/update", tenantUpdate)
  18. group.POST("/remove", tenantRemove)
  19. }
  20. func tenantGetPage(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.Tenant{})
  26. if err != nil {
  27. utils.PrintSqlErr(err)
  28. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  29. }
  30. list := utils.ConvertInterface[[]models.Tenant](result.Records)
  31. if len(list) == 0 {
  32. list = []models.Tenant{}
  33. }
  34. result.Records = list
  35. return c.JSON(http.StatusOK, result)
  36. }
  37. func tenantGetList(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.Tenant{})
  43. if err != nil {
  44. utils.PrintSqlErr(err)
  45. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  46. }
  47. list := utils.ConvertInterface[[]models.Tenant](result)
  48. if len(list) == 0 {
  49. return c.JSON(http.StatusOK, []models.Tenant{})
  50. }
  51. return c.JSON(http.StatusOK, list)
  52. }
  53. func tenantSave(c echo.Context) error {
  54. tx, _ := services.MYSQL_DB.Beginx()
  55. tenant := new(models.Tenant)
  56. if err := c.Bind(tenant); err != nil {
  57. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("参数解析失败", err.Error()))
  58. }
  59. status := models.Status_Enable
  60. tenant.Status = &status
  61. err := services.JdbcClient.JdbcInsert(tenant, tx)
  62. if err != nil {
  63. utils.PrintSqlErr(err)
  64. tx.Rollback()
  65. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  66. }
  67. dept := new(models.SysDept)
  68. dept.Name = tenant.Name
  69. pid := models.Common_Value_One_Int64
  70. dept.Pid = &pid
  71. dept.FirmFunctionary = tenant.ManagerName
  72. dept.FirmFunctionaryPhone = tenant.ManagerPhone
  73. deptSort := models.Common_Value_One_Int32
  74. dept.DeptSort = &deptSort
  75. dept.TenantId = tenant.ID
  76. err = services.JdbcClient.JdbcInsert(dept, tx)
  77. if err != nil {
  78. utils.PrintSqlErr(err)
  79. tx.Rollback()
  80. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  81. }
  82. tx.Commit()
  83. return c.JSON(http.StatusOK, tenant)
  84. }
  85. func tenantUpdate(c echo.Context) error {
  86. tx, _ := services.MYSQL_DB.Beginx()
  87. tenant := new(models.Tenant)
  88. if err := c.Bind(tenant); err != nil {
  89. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("参数解析失败", err.Error()))
  90. }
  91. err := services.JdbcClient.JdbcUpdateById(tenant, tx)
  92. if err != nil {
  93. utils.PrintSqlErr(err)
  94. tx.Rollback()
  95. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  96. }
  97. dept := new(models.SysDept)
  98. pid := models.Common_Value_One_Int64
  99. dept.Pid = &pid
  100. dept.TenantId = tenant.ID
  101. err = services.JdbcClient.GetJdbcModel(dept, tx)
  102. if err != nil {
  103. utils.PrintSqlErr(err)
  104. tx.Rollback()
  105. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  106. }
  107. dept.Name = tenant.Name
  108. dept.FirmFunctionary = tenant.ManagerName
  109. dept.FirmFunctionaryPhone = tenant.ManagerPhone
  110. err = services.JdbcClient.JdbcUpdateById(dept, tx)
  111. if err != nil {
  112. utils.PrintSqlErr(err)
  113. tx.Rollback()
  114. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  115. }
  116. tx.Commit()
  117. return c.JSON(http.StatusOK, tenant)
  118. }
  119. func tenantRemove(c echo.Context) error {
  120. tx, _ := services.MYSQL_DB.Beginx()
  121. tenant := new(models.Tenant)
  122. if err := c.Bind(tenant); err != nil {
  123. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("参数解析失败", err.Error()))
  124. }
  125. err := services.JdbcClient.JdbcRemoveById(tenant, tx)
  126. if err != nil {
  127. utils.PrintSqlErr(err)
  128. tx.Rollback()
  129. return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  130. }
  131. // dept := new(models.SysDept)
  132. // pid := models.Common_Value_One_Int64
  133. // dept.Pid = &pid
  134. // dept.TenantId = tenant.ID
  135. // err = services.JdbcClient.JdbcRemove(dept,tx)
  136. // if err != nil{
  137. // utils.PrintSqlErr(err)
  138. // tx.Rollback()
  139. // return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
  140. // }
  141. tx.Commit()
  142. return c.JSON(http.StatusOK, tenant)
  143. }