reader.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. package uhf
  2. import (
  3. "fmt"
  4. "server/model/common/response"
  5. "server/model/uhf/request"
  6. uhfResponse "server/model/uhf/response"
  7. "server/service/uhf"
  8. "github.com/gin-gonic/gin"
  9. )
  10. func CreateReader(c *gin.Context) {
  11. var req request.UHFReaderCreate
  12. if err := c.ShouldBindJSON(&req); err != nil {
  13. response.FailWithMessage(err.Error(), c)
  14. return
  15. }
  16. err := uhf.UHFService.CreateReader(req)
  17. if err != nil {
  18. response.FailWithMessage(err.Error(), c)
  19. return
  20. }
  21. response.OkWithMessage("创建成功", c)
  22. }
  23. func UpdateReader(c *gin.Context) {
  24. var req request.UHFReaderUpdate
  25. if err := c.ShouldBindJSON(&req); err != nil {
  26. response.FailWithMessage(err.Error(), c)
  27. return
  28. }
  29. err := uhf.UHFService.UpdateReader(req)
  30. if err != nil {
  31. response.FailWithMessage(err.Error(), c)
  32. return
  33. }
  34. response.OkWithMessage("更新成功", c)
  35. }
  36. func ConnectedDevice(c *gin.Context) {
  37. id := c.Query("id")
  38. uintID := uint(0)
  39. _, err := fmt.Sscanf(id, "%d", &uintID)
  40. if err != nil {
  41. response.FailWithMessage("无效的ID", c)
  42. return
  43. }
  44. err = uhf.UHFService.ConnectedDevice(uintID)
  45. if err != nil {
  46. response.FailWithMessage(err.Error(), c)
  47. return
  48. }
  49. response.Ok(c)
  50. }
  51. func GetReaderByCode(c *gin.Context) {
  52. code := c.Query("code")
  53. if code == "" {
  54. response.FailWithMessage("设备编码不能为空", c)
  55. return
  56. }
  57. reader, err := uhf.UHFService.GetReaderByCode(code)
  58. if err != nil {
  59. response.FailWithMessage(err.Error(), c)
  60. return
  61. }
  62. response.OkWithData(reader, c)
  63. }
  64. func QueryAllReaders(c *gin.Context) {
  65. readers, err := uhf.UHFService.QueryAllReaders()
  66. if err != nil {
  67. response.FailWithMessage(err.Error(), c)
  68. return
  69. }
  70. response.OkWithData(readers, c)
  71. }
  72. func ListReaders(c *gin.Context) {
  73. var req request.UHFReaderQuery
  74. if err := c.ShouldBindQuery(&req); err != nil {
  75. response.FailWithMessage(err.Error(), c)
  76. return
  77. }
  78. list, total, err := uhf.UHFService.ListReaders(req)
  79. if err != nil {
  80. response.FailWithMessage(err.Error(), c)
  81. return
  82. }
  83. response.OkWithData(uhfResponse.UHFReaderList{
  84. Total: total,
  85. List: list,
  86. }, c)
  87. }
  88. func DeleteReader(c *gin.Context) {
  89. id := c.Query("id")
  90. uintID := uint(0)
  91. _, err := fmt.Sscanf(id, "%d", &uintID)
  92. if err != nil {
  93. response.FailWithMessage("无效的ID", c)
  94. return
  95. }
  96. err = uhf.UHFService.DeleteReader(uintID)
  97. if err != nil {
  98. response.FailWithMessage(err.Error(), c)
  99. return
  100. }
  101. response.OkWithMessage("删除成功", c)
  102. }
  103. func ConnectReader(c *gin.Context) {
  104. id := c.Query("id")
  105. uintID := uint(0)
  106. _, err := fmt.Sscanf(id, "%d", &uintID)
  107. if err != nil {
  108. response.FailWithMessage("无效的ID", c)
  109. return
  110. }
  111. err = uhf.UHFService.ConnectReader(uintID)
  112. if err != nil {
  113. response.FailWithMessage(err.Error(), c)
  114. return
  115. }
  116. response.OkWithMessage("连接成功", c)
  117. }
  118. func DisconnectReader(c *gin.Context) {
  119. id := c.Query("id")
  120. uintID := uint(0)
  121. _, err := fmt.Sscanf(id, "%d", &uintID)
  122. if err != nil {
  123. response.FailWithMessage("无效的ID", c)
  124. return
  125. }
  126. err = uhf.UHFService.DisconnectReader(uintID)
  127. if err != nil {
  128. response.FailWithMessage(err.Error(), c)
  129. return
  130. }
  131. response.OkWithMessage("断开连接成功", c)
  132. }
  133. func SetReaderPower(c *gin.Context) {
  134. var req request.UHFReaderPower
  135. if err := c.ShouldBindJSON(&req); err != nil {
  136. response.FailWithMessage(err.Error(), c)
  137. return
  138. }
  139. err := uhf.UHFService.SetReaderPower(req.ID, int(req.Power))
  140. if err != nil {
  141. response.FailWithMessage(err.Error(), c)
  142. return
  143. }
  144. response.OkWithMessage("功率设置成功", c)
  145. }
  146. func ReportTag(c *gin.Context) {
  147. var req request.UHFReaderTagReport
  148. if err := c.ShouldBindJSON(&req); err != nil {
  149. response.FailWithMessage(err.Error(), c)
  150. return
  151. }
  152. err := uhf.UHFService.ReportTag(req.DeviceCode, req.Tag)
  153. if err != nil {
  154. response.FailWithMessage(err.Error(), c)
  155. return
  156. }
  157. response.OkWithMessage("标签上报成功", c)
  158. }