vehicle.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package request
  2. type VehicleCreate struct {
  3. PlateNumber string `json:"plate_number" binding:"required"`
  4. VehicleType string `json:"vehicle_type" binding:"required"`
  5. VehicleBrand string `json:"vehicle_brand"`
  6. VehicleColor string `json:"vehicle_color"`
  7. OwnerId uint `json:"owner_id"`
  8. }
  9. type VehicleUpdate struct {
  10. ID uint `json:"id" binding:"required"`
  11. PlateNumber string `json:"plate_number" binding:"required"`
  12. VehicleType string `json:"vehicle_type" binding:"required"`
  13. VehicleBrand string `json:"vehicle_brand"`
  14. VehicleColor string `json:"vehicle_color"`
  15. OwnerId uint `json:"owner_id"`
  16. }
  17. type VehicleQuery struct {
  18. PlateNumber string `form:"plate_number"`
  19. VehicleType string `form:"vehicle_type"`
  20. OwnerId uint `form:"owner_id"`
  21. Page int `form:"page,default=1"`
  22. PageSize int `form:"page_size,default=10"`
  23. }
  24. type VehicleEntry struct {
  25. PlateNumber string `json:"plate_number" binding:"required"`
  26. ParkingLotID uint `json:"parking_lot_id" binding:"required"`
  27. ParkingSpaceID uint `json:"parking_space_id" binding:"required"`
  28. EntryImage string `json:"entry_image"`
  29. }
  30. type VehicleExit struct {
  31. PlateNumber string `json:"plate_number" binding:"required"`
  32. ExitImage string `json:"exit_image"`
  33. }
  34. type VehicleEntryResponse struct {
  35. Success bool `json:"success"`
  36. Message string `json:"message"`
  37. Data struct {
  38. PlateNumber string `json:"plate_number"`
  39. EntryTime int64 `json:"entry_time"`
  40. ParkingLotID uint `json:"parking_lot_id"`
  41. ParkingSpaceID uint `json:"parking_space_id"`
  42. } `json:"data"`
  43. }
  44. type VehicleExitResponse struct {
  45. Success bool `json:"success"`
  46. Message string `json:"message"`
  47. Data struct {
  48. PlateNumber string `json:"plate_number"`
  49. EntryTime int64 `json:"entry_time"`
  50. ExitTime int64 `json:"exit_time"`
  51. StayTime int64 `json:"stay_time"`
  52. Fee float64 `json:"fee"`
  53. PaymentStatus string `json:"payment_status"`
  54. } `json:"data"`
  55. }