device.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package api
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "server/dao"
  5. "server/logger"
  6. "server/model"
  7. "server/service"
  8. "server/utils"
  9. )
  10. func LoadData(c *gin.Context) {
  11. data, err := utils.LoadData()
  12. if err != nil {
  13. logger.Get().Error(err.Error())
  14. model.FailWithMessage(err.Error(), c)
  15. return
  16. }
  17. model.OkWithData(data, c)
  18. }
  19. func SaveDevice(c *gin.Context) {
  20. var regions []dao.Region
  21. err := c.ShouldBindJSON(&regions)
  22. if err != nil {
  23. logger.Get().Error(err.Error())
  24. model.FailWithMessage(err.Error(), c)
  25. return
  26. }
  27. err = service.SaveData(regions)
  28. if err != nil {
  29. logger.Get().Error(err.Error())
  30. model.FailWithMessage(err.Error(), c)
  31. return
  32. }
  33. model.Ok(c)
  34. }
  35. // DeviceLoopSwitch 指定设备回路进行开关灯操作
  36. func DeviceLoopSwitch(c *gin.Context) {
  37. var deviceLoop dao.DeviceLoop
  38. err := c.ShouldBindJSON(&deviceLoop)
  39. if err != nil {
  40. logger.Get().Error(err.Error())
  41. model.FailWithMessage(err.Error(), c)
  42. return
  43. }
  44. err = service.DeviceLoopSwitch(deviceLoop)
  45. if err != nil {
  46. logger.Get().Error(err.Error())
  47. model.FailWithMessage(err.Error(), c)
  48. return
  49. }
  50. model.Ok(c)
  51. }
  52. // DeviceSwitch 指定设备进行开关灯操作
  53. func DeviceSwitch(c *gin.Context) {
  54. var req model.DeviceRequest
  55. err := c.ShouldBindJSON(&req)
  56. if err != nil {
  57. model.FailWithMessage(err.Error(), c)
  58. return
  59. }
  60. err = service.DeviceSwitch(req)
  61. if err != nil {
  62. logger.Get().Error(err.Error())
  63. model.FailWithMessage(err.Error(), c)
  64. return
  65. }
  66. model.Ok(c)
  67. }
  68. // BatchDeviceSwitch 设备批量开关
  69. func BatchDeviceSwitch(c *gin.Context) {
  70. var req model.DevicesRequest
  71. err := c.ShouldBindJSON(&req)
  72. if err != nil {
  73. model.FailWithMessage(err.Error(), c)
  74. return
  75. }
  76. err = service.DeviceBatchSwitch(req)
  77. if err != nil {
  78. logger.Get().Error(err.Error())
  79. model.FailWithMessage(err.Error(), c)
  80. return
  81. }
  82. model.Ok(c)
  83. }
  84. func GetOnlineDevice(c *gin.Context) {
  85. total, online := service.GetOnlineDevice()
  86. model.OkWithDetailed(gin.H{
  87. "total": total,
  88. "online": online,
  89. }, "ok", c)
  90. }
  91. func GetSunDevices(c *gin.Context) {
  92. devices, err := service.GetSunDevices()
  93. if err != nil {
  94. logger.Get().Error(err.Error())
  95. model.FailWithMessage(err.Error(), c)
  96. return
  97. }
  98. model.OkWithData(devices, c)
  99. }
  100. func UpdateRegisterAddress(c *gin.Context) {
  101. var id string
  102. err := c.ShouldBindJSON(&id)
  103. if err != nil {
  104. model.FailWithMessage(err.Error(), c)
  105. return
  106. }
  107. err = service.UpdateRegisterAddress(id)
  108. if err != nil {
  109. logger.Get().Error(err.Error())
  110. model.FailWithMessage(err.Error(), c)
  111. return
  112. }
  113. model.Ok(c)
  114. }
  115. func CommandPub(c *gin.Context) {
  116. var req model.Command
  117. err := c.ShouldBindJSON(&req)
  118. if err != nil {
  119. model.FailWithMessage(err.Error(), c)
  120. return
  121. }
  122. service.CommandPub(req.Id, req.Value)
  123. model.Ok(c)
  124. }