reader.go 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  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 GetReaderByID(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. reader, err := uhf.UHFService.GetReaderByID(uintID)
  45. if err != nil {
  46. response.FailWithMessage(err.Error(), c)
  47. return
  48. }
  49. response.OkWithData(reader, 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 ListReaders(c *gin.Context) {
  65. var req request.UHFReaderQuery
  66. if err := c.ShouldBindQuery(&req); err != nil {
  67. response.FailWithMessage(err.Error(), c)
  68. return
  69. }
  70. list, total, err := uhf.UHFService.ListReaders(req)
  71. if err != nil {
  72. response.FailWithMessage(err.Error(), c)
  73. return
  74. }
  75. response.OkWithData(uhfResponse.UHFReaderList{
  76. Total: total,
  77. List: list,
  78. }, c)
  79. }
  80. func DeleteReader(c *gin.Context) {
  81. id := c.Query("id")
  82. uintID := uint(0)
  83. _, err := fmt.Sscanf(id, "%d", &uintID)
  84. if err != nil {
  85. response.FailWithMessage("无效的ID", c)
  86. return
  87. }
  88. err = uhf.UHFService.DeleteReader(uintID)
  89. if err != nil {
  90. response.FailWithMessage(err.Error(), c)
  91. return
  92. }
  93. response.OkWithMessage("删除成功", c)
  94. }
  95. func ConnectReader(c *gin.Context) {
  96. id := c.Query("id")
  97. uintID := uint(0)
  98. _, err := fmt.Sscanf(id, "%d", &uintID)
  99. if err != nil {
  100. response.FailWithMessage("无效的ID", c)
  101. return
  102. }
  103. err = uhf.UHFService.ConnectReader(uintID)
  104. if err != nil {
  105. response.FailWithMessage(err.Error(), c)
  106. return
  107. }
  108. response.OkWithMessage("连接成功", c)
  109. }
  110. func DisconnectReader(c *gin.Context) {
  111. id := c.Query("id")
  112. uintID := uint(0)
  113. _, err := fmt.Sscanf(id, "%d", &uintID)
  114. if err != nil {
  115. response.FailWithMessage("无效的ID", c)
  116. return
  117. }
  118. err = uhf.UHFService.DisconnectReader(uintID)
  119. if err != nil {
  120. response.FailWithMessage(err.Error(), c)
  121. return
  122. }
  123. response.OkWithMessage("断开连接成功", c)
  124. }
  125. func SetReaderPower(c *gin.Context) {
  126. var req request.UHFReaderPower
  127. if err := c.ShouldBindJSON(&req); err != nil {
  128. response.FailWithMessage(err.Error(), c)
  129. return
  130. }
  131. err := uhf.UHFService.SetReaderPower(req.ID, int(req.Power))
  132. if err != nil {
  133. response.FailWithMessage(err.Error(), c)
  134. return
  135. }
  136. response.OkWithMessage("功率设置成功", c)
  137. }
  138. func ReportTag(c *gin.Context) {
  139. var req request.UHFReaderTagReport
  140. if err := c.ShouldBindJSON(&req); err != nil {
  141. response.FailWithMessage(err.Error(), c)
  142. return
  143. }
  144. err := uhf.UHFService.ReportTag(req.DeviceCode, req.Tag)
  145. if err != nil {
  146. response.FailWithMessage(err.Error(), c)
  147. return
  148. }
  149. response.OkWithMessage("标签上报成功", c)
  150. }