vehicle.go 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. package vehicle
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "wails-app/internal/model/common/response"
  6. "wails-app/internal/model/vehicle/request"
  7. vehicleResponse "wails-app/internal/model/vehicle/response"
  8. )
  9. // CreateVehicle 创建车辆信息
  10. func CreateVehicle(c *gin.Context) {
  11. var req request.VehicleCreate
  12. if err := c.ShouldBindJSON(&req); err != nil {
  13. response.FailWithMessage(err.Error(), c)
  14. return
  15. }
  16. err := vehicleService.CreateVehicle(req)
  17. if err != nil {
  18. response.FailWithMessage(err.Error(), c)
  19. return
  20. }
  21. response.OkWithMessage("创建成功", c)
  22. }
  23. // UpdateVehicle 更新车辆信息
  24. func UpdateVehicle(c *gin.Context) {
  25. var req request.VehicleUpdate
  26. if err := c.ShouldBindJSON(&req); err != nil {
  27. response.FailWithMessage(err.Error(), c)
  28. return
  29. }
  30. err := vehicleService.UpdateVehicle(req)
  31. if err != nil {
  32. response.FailWithMessage(err.Error(), c)
  33. return
  34. }
  35. response.OkWithMessage("更新成功", c)
  36. }
  37. // GetVehicleByID 根据ID获取车辆信息
  38. func GetVehicleByID(c *gin.Context) {
  39. id := c.Query("id")
  40. uintID := uint(0)
  41. _, err := fmt.Sscanf(id, "%d", &uintID)
  42. if err != nil {
  43. response.FailWithMessage("无效的ID", c)
  44. return
  45. }
  46. vehicleInfo, err := vehicleService.GetVehicleByID(uintID)
  47. if err != nil {
  48. response.FailWithMessage(err.Error(), c)
  49. return
  50. }
  51. response.OkWithData(vehicleInfo, c)
  52. }
  53. // GetVehicleByPlateNumber 根据车牌号获取车辆信息
  54. func GetVehicleByPlateNumber(c *gin.Context) {
  55. plateNumber := c.Query("plate_number")
  56. if plateNumber == "" {
  57. response.FailWithMessage("车牌号不能为空", c)
  58. return
  59. }
  60. vehicleInfo, err := vehicleService.GetVehicleByPlateNumber(plateNumber, "")
  61. if err != nil {
  62. response.FailWithMessage(err.Error(), c)
  63. return
  64. }
  65. response.OkWithData(vehicleInfo, c)
  66. }
  67. func QueryAllVehicles(c *gin.Context) {
  68. vehicles, err := vehicleService.QueryAllVehicles()
  69. if err != nil {
  70. response.FailWithMessage(err.Error(), c)
  71. return
  72. }
  73. response.OkWithData(vehicles, c)
  74. }
  75. // ListVehicles 获取车辆列表
  76. func ListVehicles(c *gin.Context) {
  77. var req request.VehicleQuery
  78. if err := c.ShouldBindQuery(&req); err != nil {
  79. response.FailWithMessage(err.Error(), c)
  80. return
  81. }
  82. total, list, err := vehicleService.ListVehicles(req)
  83. if err != nil {
  84. response.FailWithMessage(err.Error(), c)
  85. return
  86. }
  87. response.OkWithData(vehicleResponse.VehicleList{
  88. Total: total,
  89. List: list,
  90. }, c)
  91. }
  92. // DeleteVehicle 删除车辆
  93. func DeleteVehicle(c *gin.Context) {
  94. id := c.Query("id")
  95. uintID := uint(0)
  96. _, err := fmt.Sscanf(id, "%d", &uintID)
  97. if err != nil {
  98. response.FailWithMessage("无效的ID", c)
  99. return
  100. }
  101. err = vehicleService.DeleteVehicle(uintID)
  102. if err != nil {
  103. response.FailWithMessage(err.Error(), c)
  104. return
  105. }
  106. response.OkWithMessage("删除成功", c)
  107. }
  108. // VehicleEntry 车辆入场
  109. func VehicleEntry(c *gin.Context) {
  110. var req request.VehicleEntry
  111. if err := c.ShouldBindJSON(&req); err != nil {
  112. response.FailWithMessage(err.Error(), c)
  113. return
  114. }
  115. resp, err := vehicleService.VehicleEntry(req)
  116. if err != nil {
  117. response.FailWithMessage(err.Error(), c)
  118. return
  119. }
  120. response.OkWithData(resp, c)
  121. }
  122. // VehicleExit 车辆出场
  123. func VehicleExit(c *gin.Context) {
  124. var req request.VehicleExit
  125. if err := c.ShouldBindJSON(&req); err != nil {
  126. response.FailWithMessage(err.Error(), c)
  127. return
  128. }
  129. resp, err := vehicleService.VehicleExit(req)
  130. if err != nil {
  131. response.FailWithMessage(err.Error(), c)
  132. return
  133. }
  134. response.OkWithData(resp, c)
  135. }