vehicle.go 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package request
  2. type VehicleCreate struct {
  3. PlateNumber string `json:"plate_number"`
  4. VehicleTypeID uint `json:"vehicle_type_id"`
  5. VehicleBrand string `json:"vehicle_brand"`
  6. VehicleColor string `json:"vehicle_color"`
  7. RFIDTag string `json:"rfid_tag"`
  8. OwnerId uint `json:"owner_id"`
  9. }
  10. type VehicleUpdate struct {
  11. ID uint `json:"id"`
  12. PlateNumber string `json:"plate_number"`
  13. VehicleTypeID uint `json:"vehicle_type_id"`
  14. VehicleBrand string `json:"vehicle_brand"`
  15. VehicleColor string `json:"vehicle_color"`
  16. RFIDTag string `json:"rfid_tag"`
  17. OwnerId uint `json:"owner_id"`
  18. }
  19. type VehicleQuery struct {
  20. PlateNumber string `form:"plate_number"`
  21. VehicleTypeID uint `form:"vehicle_type_id"`
  22. OwnerId uint `form:"owner_id"`
  23. Page int `form:"page,default=1"`
  24. PageSize int `form:"page_size,default=10"`
  25. RfidTag string `gorm:"column:rfid_tag" json:"rfid_tag"`
  26. }
  27. type VehicleTypeCreate struct {
  28. Name string `json:"name"`
  29. Remarks string `json:"remarks"`
  30. }
  31. type VehicleTypeUpdate struct {
  32. ID uint `json:"id"`
  33. Name string `json:"name"`
  34. Remarks string `json:"remarks"`
  35. }
  36. type VehicleTypeQuery struct {
  37. Name string `json:"name" form:"name"`
  38. Page int `json:"page,default=1" form:"page"`
  39. PageSize int `json:"pageSize,default=1" form:"pageSize"`
  40. }
  41. type VehicleEntry struct {
  42. PlateNumber string `json:"plate_number"`
  43. ParkingLotID uint `json:"parking_lot_id"`
  44. ParkingSpaceID uint `json:"parking_space_id"`
  45. RFIDTag string `json:"rfid_tag"`
  46. EntryImage string `json:"entry_image"`
  47. }
  48. // VehicleIdentityRequest 用车牌或 RFID 定位当前车辆及停车会话。
  49. type VehicleIdentityRequest struct {
  50. PlateNumber string `json:"plate_number"`
  51. RFIDTag string `json:"rfid_tag"`
  52. }
  53. // ExitPreviewRequest 支持通过会话编号或车辆身份预览出场结算信息。
  54. type ExitPreviewRequest struct {
  55. SessionID uint `json:"session_id"`
  56. PlateNumber string `json:"plate_number"`
  57. RFIDTag string `json:"rfid_tag"`
  58. }
  59. type VehicleEntryResponse struct {
  60. Success bool `json:"success"`
  61. Message string `json:"message"`
  62. Data struct {
  63. PlateNumber string `json:"plate_number"`
  64. EntryTime int64 `json:"entry_time"`
  65. ParkingLotID uint `json:"parking_lot_id"`
  66. ParkingSpaceID uint `json:"parking_space_id"`
  67. } `json:"data"`
  68. }
  69. type VehicleRecordRequest struct {
  70. PlateNumber string `form:"plate_number" json:"plate_number"`
  71. RFIDTag string `form:"rfid_tag" json:"rfid_tag"`
  72. Page int `form:"page,default=1" json:"page"`
  73. PageSize int `form:"page_size,default=10" json:"page_size"`
  74. }
  75. type ExitConfirmRequest struct {
  76. SessionID uint `json:"session_id"`
  77. TicketNo string `json:"ticket_no"`
  78. PlateNumber string `json:"plate_number"`
  79. RFIDTag string `json:"rfid_tag"`
  80. PaymentEntry string `json:"payment_entry"`
  81. PaymentMethod string `json:"payment_method"`
  82. PaidAmount float64 `json:"paid_amount"`
  83. }