vehicle_record.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package vehicle
  2. import (
  3. "fmt"
  4. "server/model/common/response"
  5. vehicleResponse "server/model/vehicle/response"
  6. "server/service/vehicle"
  7. "github.com/gin-gonic/gin"
  8. )
  9. // GetVehicleRecordByID 根据ID获取车辆记录
  10. func GetVehicleRecordByID(c *gin.Context) {
  11. id := c.Query("id")
  12. uintID := uint(0)
  13. _, err := fmt.Sscanf(id, "%d", &uintID)
  14. if err != nil {
  15. response.FailWithMessage("无效的ID", c)
  16. return
  17. }
  18. record, err := vehicle.VehicleRecordService.GetVehicleRecordByID(uintID)
  19. if err != nil {
  20. response.FailWithMessage(err.Error(), c)
  21. return
  22. }
  23. response.OkWithData(record, c)
  24. }
  25. // ListVehicleRecordsByPlateNumber 根据车牌号获取车辆记录列表
  26. func ListVehicleRecordsByPlateNumber(c *gin.Context) {
  27. plateNumber := c.Query("plate_number")
  28. if plateNumber == "" {
  29. response.FailWithMessage("车牌号不能为空", c)
  30. return
  31. }
  32. page := 1
  33. pageSize := 10
  34. if p := c.Query("page"); p != "" {
  35. fmt.Sscanf(p, "%d", &page)
  36. }
  37. if ps := c.Query("page_size"); ps != "" {
  38. fmt.Sscanf(ps, "%d", &pageSize)
  39. }
  40. total, list, err := vehicle.VehicleRecordService.ListVehicleRecordsByPlateNumber(plateNumber, page, pageSize)
  41. if err != nil {
  42. response.FailWithMessage(err.Error(), c)
  43. return
  44. }
  45. response.OkWithData(vehicleResponse.VehicleRecordList{
  46. Total: total,
  47. List: list,
  48. }, c)
  49. }
  50. // ListVehicleRecords 获取所有车辆记录列表
  51. func ListVehicleRecords(c *gin.Context) {
  52. page := 1
  53. pageSize := 10
  54. if p := c.Query("page"); p != "" {
  55. fmt.Sscanf(p, "%d", &page)
  56. }
  57. if ps := c.Query("page_size"); ps != "" {
  58. fmt.Sscanf(ps, "%d", &pageSize)
  59. }
  60. total, list, err := vehicle.VehicleRecordService.ListVehicleRecords(page, pageSize)
  61. if err != nil {
  62. response.FailWithMessage(err.Error(), c)
  63. return
  64. }
  65. response.OkWithData(vehicleResponse.VehicleRecordList{
  66. Total: total,
  67. List: list,
  68. }, c)
  69. }