device.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  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. func DeviceSave(c *gin.Context) {
  36. var device dao.Device
  37. err := c.ShouldBindJSON(&device)
  38. if err != nil {
  39. logger.Get().Error(err.Error())
  40. model.FailWithMessage(err.Error(), c)
  41. return
  42. }
  43. err = service.DeviceSave(device)
  44. if err != nil {
  45. logger.Get().Error(err.Error())
  46. model.FailWithMessage(err.Error(), c)
  47. return
  48. }
  49. model.Ok(c)
  50. }
  51. func DevicesSave(c *gin.Context) {
  52. var devices []dao.Device
  53. err := c.ShouldBindJSON(&devices)
  54. if err != nil {
  55. logger.Get().Error(err.Error())
  56. model.FailWithMessage(err.Error(), c)
  57. return
  58. }
  59. err = service.DevicesSave(devices)
  60. if err != nil {
  61. logger.Get().Error(err.Error())
  62. model.FailWithMessage(err.Error(), c)
  63. return
  64. }
  65. model.Ok(c)
  66. }
  67. // DeviceLoopSwitch 指定设备回路进行开关灯操作
  68. func DeviceLoopSwitch(c *gin.Context) {
  69. var deviceLoop dao.DeviceLoop
  70. err := c.ShouldBindJSON(&deviceLoop)
  71. if err != nil {
  72. logger.Get().Error(err.Error())
  73. model.FailWithMessage(err.Error(), c)
  74. return
  75. }
  76. err = service.DeviceLoopSwitch(deviceLoop)
  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. // DeviceSwitch 指定设备进行开关灯操作
  85. func DeviceSwitch(c *gin.Context) {
  86. var req model.DeviceRequest
  87. err := c.ShouldBindJSON(&req)
  88. if err != nil {
  89. model.FailWithMessage(err.Error(), c)
  90. return
  91. }
  92. err = service.DeviceSwitch(req)
  93. if err != nil {
  94. logger.Get().Error(err.Error())
  95. model.FailWithMessage(err.Error(), c)
  96. return
  97. }
  98. model.Ok(c)
  99. }
  100. // BatchDeviceSwitch 设备批量开关
  101. func BatchDeviceSwitch(c *gin.Context) {
  102. var req model.DevicesRequest
  103. err := c.ShouldBindJSON(&req)
  104. if err != nil {
  105. model.FailWithMessage(err.Error(), c)
  106. return
  107. }
  108. err = service.DeviceBatchSwitch(req)
  109. if err != nil {
  110. logger.Get().Error(err.Error())
  111. model.FailWithMessage(err.Error(), c)
  112. return
  113. }
  114. model.Ok(c)
  115. }
  116. func GetOnlineDevice(c *gin.Context) {
  117. total, online := service.GetOnlineDevice()
  118. model.OkWithDetailed(gin.H{
  119. "total": total,
  120. "online": online,
  121. }, "ok", c)
  122. }
  123. func GetSunDevices(c *gin.Context) {
  124. devices, err := service.GetSunDevices()
  125. if err != nil {
  126. logger.Get().Error(err.Error())
  127. model.FailWithMessage(err.Error(), c)
  128. return
  129. }
  130. model.OkWithData(devices, c)
  131. }
  132. func UpdateRegisterAddress(c *gin.Context) {
  133. var id string
  134. err := c.ShouldBindJSON(&id)
  135. if err != nil {
  136. model.FailWithMessage(err.Error(), c)
  137. return
  138. }
  139. err = service.UpdateRegisterAddress(id)
  140. if err != nil {
  141. logger.Get().Error(err.Error())
  142. model.FailWithMessage(err.Error(), c)
  143. return
  144. }
  145. model.Ok(c)
  146. }