reader.go 3.8 KB

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