gate.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package parking
  2. import (
  3. "github.com/gin-gonic/gin"
  4. commonModel "wails-app/internal/model/common"
  5. "wails-app/internal/model/common/response"
  6. "wails-app/internal/service"
  7. )
  8. var passageService = &service.ServiceGroupApp.ParkingServiceGroup.PassageService
  9. // ListGateDevices 返回进出场工作台可用的道闸设备。
  10. func ListGateDevices(c *gin.Context) {
  11. devices, err := passageService.ListGateDevices()
  12. if err != nil {
  13. response.FailWithMessage(err.Error(), c)
  14. return
  15. }
  16. response.OkWithData(devices, c)
  17. }
  18. // OpenGate 人工开闸。
  19. func OpenGate(c *gin.Context) {
  20. var req commonModel.GateControlRequest
  21. if err := c.ShouldBindJSON(&req); err != nil {
  22. response.FailWithMessage(err.Error(), c)
  23. return
  24. }
  25. if err := passageService.OpenGateByDeviceCode(req.DeviceCode, req.ValidTime); err != nil {
  26. response.FailWithMessage(err.Error(), c)
  27. return
  28. }
  29. response.OkWithDetailed(gin.H{"device_code": req.DeviceCode, "action": "open"}, "开闸成功", c)
  30. }
  31. // CloseGate 人工关闸。
  32. func CloseGate(c *gin.Context) {
  33. var req commonModel.GateControlRequest
  34. if err := c.ShouldBindJSON(&req); err != nil {
  35. response.FailWithMessage(err.Error(), c)
  36. return
  37. }
  38. if err := passageService.CloseGateByDeviceCode(req.DeviceCode, req.ValidTime); err != nil {
  39. response.FailWithMessage(err.Error(), c)
  40. return
  41. }
  42. response.OkWithDetailed(gin.H{"device_code": req.DeviceCode, "action": "close"}, "关闸成功", c)
  43. }