gateway.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package app
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "lcfns/model/app"
  6. "lcfns/model/app/request"
  7. "lcfns/model/common/response"
  8. "lcfns/service"
  9. "lcfns/utils"
  10. "strconv"
  11. )
  12. type GatewayApi struct {
  13. }
  14. var gs = service.ServiceGroupApp.AppServiceGroup.GatewayService
  15. // List all devices
  16. func (api *GatewayApi) List(c *gin.Context) {
  17. var req request.GatewayRequest
  18. //v0 := c.Query("uid")
  19. id := utils.GetUserID(c)
  20. req.Uid = int(id)
  21. req.Name = c.Query("gatewayName")
  22. req.Osn = c.Query("osn")
  23. req.CameraSn = c.Query("cameraSn")
  24. v1 := c.Query("ipcastId")
  25. req.IpcastId, _ = strconv.Atoi(v1)
  26. v2 := c.Query("pageSize")
  27. req.PageSize, _ = strconv.Atoi(v2)
  28. v3 := c.Query("page")
  29. req.Page, _ = strconv.Atoi(v3)
  30. fmt.Printf("参数:%+v\n", req)
  31. list, err := gs.List(req)
  32. if err != nil {
  33. response.FailWithMessage(err.Error(), c)
  34. return
  35. }
  36. response.OkWithDetailed(response.PageResult{
  37. List: list,
  38. Total: int64(len(list)),
  39. Page: req.Page,
  40. PageSize: req.PageSize,
  41. }, "获取成功", c)
  42. }
  43. // AdminSet 管理员设置osn和给网关分配用户
  44. func (api *GatewayApi) AdminSet(c *gin.Context) {
  45. var data app.Gateway
  46. err := c.ShouldBindJSON(&data)
  47. if err != nil {
  48. response.FailWithMessage(err.Error(), c)
  49. return
  50. }
  51. err = gs.AdminSet(&data)
  52. if err != nil {
  53. response.FailWithDetailed(err.Error(), "设置失败", c)
  54. return
  55. }
  56. response.OkWithMessage("设置成功", c)
  57. }
  58. // UserSet 用户设置网关名和描述信息
  59. func (api *GatewayApi) UserSet(c *gin.Context) {
  60. var data app.Gateway
  61. err := c.ShouldBindJSON(&data)
  62. if err != nil {
  63. response.FailWithMessage(err.Error(), c)
  64. return
  65. }
  66. err = gs.Update(&data)
  67. if err != nil {
  68. response.FailWithDetailed(err.Error(), "设置失败", c)
  69. return
  70. }
  71. response.OkWithMessage("设置成功", c)
  72. }
  73. // DeleteGateways 删除网关及其关联设备
  74. func (api *GatewayApi) DeleteGateways(c *gin.Context) {
  75. var req app.Gateway
  76. err := c.ShouldBindJSON(&req)
  77. if err != nil {
  78. response.FailWithDetailed(err.Error(), "请求参数错误", c)
  79. return
  80. }
  81. err = gs.DeleteGateways(req)
  82. if err != nil {
  83. response.FailWithDetailed(err.Error(), "删除失败", c)
  84. return
  85. }
  86. response.OkWithMessage("删除成功", c)
  87. }
  88. // UnbindGateways 解绑网关下的设备
  89. func (api *GatewayApi) UnbindGateways(c *gin.Context) {
  90. var req app.Gateway
  91. err := c.ShouldBindJSON(&req)
  92. if err != nil {
  93. response.FailWithDetailed(err.Error(), "请求参数错误", c)
  94. return
  95. }
  96. err = gs.UnbindGateways(req)
  97. if err != nil {
  98. response.FailWithDetailed(err.Error(), "解绑失败", c)
  99. return
  100. }
  101. response.OkWithMessage("解绑成功", c)
  102. }