tenant.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package controller
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "iot_manager_service/app/system/dao"
  5. "iot_manager_service/app/system/model"
  6. "iot_manager_service/app/system/service"
  7. "iot_manager_service/util"
  8. "math"
  9. "net/http"
  10. "strconv"
  11. )
  12. var Tenant = new(tenant)
  13. type tenant struct{}
  14. func (c *tenant) GetInfo(ctx *gin.Context) {
  15. domain := ctx.Query("domain")
  16. tenant, _ := service.TenantService.GetByDomain(domain)
  17. ctx.JSON(http.StatusOK, util.SuccessResponse(util.Succeeded, tenant))
  18. }
  19. func (c *tenant) GetDetail(ctx *gin.Context) {
  20. id := ctx.Query("id")
  21. iId, err := strconv.ParseInt(id, 10, 64)
  22. if err != nil {
  23. ctx.JSON(http.StatusOK, util.ParamsInvalidResponse(err.Error(), nil))
  24. return
  25. }
  26. tenant, err := service.TenantService.Get(iId)
  27. if err != nil {
  28. ctx.JSON(http.StatusOK, err)
  29. return
  30. }
  31. ctx.JSON(http.StatusOK, util.SuccessResponse(util.Succeeded, tenant))
  32. }
  33. func (c *tenant) List(ctx *gin.Context) {
  34. current, _ := strconv.Atoi(ctx.Query("current"))
  35. size, _ := strconv.Atoi(ctx.Query("size"))
  36. tenantId := ctx.Query("tenantId")
  37. tenantName := ctx.Query("tenantName")
  38. linkman := ctx.Query("linkman")
  39. if current == 0 {
  40. current = 1
  41. }
  42. if size <= 0 || size > 100 {
  43. size = 10
  44. }
  45. tenants, err := service.TenantService.List(tenantId, tenantName, linkman, current, size)
  46. if err != nil {
  47. ctx.JSON(http.StatusOK, err)
  48. return
  49. }
  50. pages := math.Ceil(float64(len(tenants)) / float64(size))
  51. rsp := model.RsqTenantList{
  52. Current: current,
  53. Size: size,
  54. Total: len(tenants),
  55. Pages: int(pages),
  56. Records: tenants,
  57. }
  58. ctx.JSON(http.StatusOK, util.SuccessResponse(util.Succeeded, rsp))
  59. }
  60. func (c *tenant) Submit(ctx *gin.Context) {
  61. var req dao.Tenant
  62. if err := ctx.ShouldBindJSON(&req); err != nil {
  63. ctx.JSON(http.StatusOK, util.ParamsInvalidResponse(err.Error(), nil))
  64. return
  65. }
  66. err := service.TenantService.Submit(req)
  67. ctx.JSON(http.StatusOK, err)
  68. }
  69. func (c *tenant) Remove(ctx *gin.Context) {
  70. var req *model.ReqTenantRemove
  71. if err := ctx.ShouldBindJSON(&req); err != nil {
  72. ctx.JSON(http.StatusOK, util.ParamsInvalidResponse(err.Error(), nil))
  73. return
  74. }
  75. err := service.TenantService.Remove(req.IDs)
  76. ctx.JSON(http.StatusOK, err)
  77. }
  78. func (c *tenant) GetList(ctx *gin.Context) {
  79. tenants, err := service.TenantService.GetList()
  80. if err != nil {
  81. ctx.JSON(http.StatusOK, util.FailResponse(err.Error(), nil))
  82. }
  83. ctx.JSON(http.StatusOK, util.SuccessResponse(util.Succeeded, tenants))
  84. }