package request type VehicleCreate struct { PlateNumber string `json:"plate_number"` VehicleTypeID uint `json:"vehicle_type_id"` VehicleBrand string `json:"vehicle_brand"` VehicleColor string `json:"vehicle_color"` RFIDTag string `json:"rfid_tag"` OwnerId uint `json:"owner_id"` } type VehicleUpdate struct { ID uint `json:"id"` PlateNumber string `json:"plate_number"` VehicleTypeID uint `json:"vehicle_type_id"` VehicleBrand string `json:"vehicle_brand"` VehicleColor string `json:"vehicle_color"` RFIDTag string `json:"rfid_tag"` OwnerId uint `json:"owner_id"` } type VehicleQuery struct { PlateNumber string `form:"plate_number"` VehicleTypeID uint `form:"vehicle_type_id"` OwnerId uint `form:"owner_id"` Page int `form:"page,default=1"` PageSize int `form:"page_size,default=10"` RfidTag string `gorm:"column:rfid_tag" json:"rfid_tag"` } type VehicleTypeCreate struct { Name string `json:"name"` Remarks string `json:"remarks"` } type VehicleTypeUpdate struct { ID uint `json:"id"` Name string `json:"name"` Remarks string `json:"remarks"` } type VehicleTypeQuery struct { Name string `json:"name" form:"name"` Page int `json:"page,default=1" form:"page"` PageSize int `json:"pageSize,default=1" form:"pageSize"` } type VehicleEntry struct { PlateNumber string `json:"plate_number"` ParkingLotID uint `json:"parking_lot_id"` ParkingSpaceID uint `json:"parking_space_id"` RFIDTag string `json:"rfid_tag"` EntryImage string `json:"entry_image"` EntryChannelID uint `json:"entry_channel_id"` EntryChannelCode string `json:"entry_channel_code"` EntryChannelName string `json:"entry_channel_name"` EntryDeviceCode string `json:"entry_device_code"` EntryDeviceName string `json:"entry_device_name"` TriggerMode string `json:"-"` } // VehicleIdentityRequest 用车牌或 RFID 定位当前车辆及停车会话。 type VehicleIdentityRequest struct { PlateNumber string `json:"plate_number"` RFIDTag string `json:"rfid_tag"` } // ExitPreviewRequest 支持通过会话编号或车辆身份预览出场结算信息。 type ExitPreviewRequest struct { SessionID uint `json:"session_id"` PlateNumber string `json:"plate_number"` RFIDTag string `json:"rfid_tag"` } type VehicleEntryResponse struct { Success bool `json:"success"` Message string `json:"message"` Data struct { SessionID uint `json:"session_id"` TicketID uint `json:"ticket_id"` TicketNo string `json:"ticket_no"` PlateNumber string `json:"plate_number"` EntryTime int64 `json:"entry_time"` ParkingLotID uint `json:"parking_lot_id"` ParkingSpaceID uint `json:"parking_space_id"` EntryChannelID uint `json:"entry_channel_id"` EntryChannelCode string `json:"entry_channel_code"` EntryChannelName string `json:"entry_channel_name"` EntryDeviceCode string `json:"entry_device_code"` EntryDeviceName string `json:"entry_device_name"` } `json:"data"` } type VehicleRecordRequest struct { PlateNumber string `form:"plate_number" json:"plate_number"` RFIDTag string `form:"rfid_tag" json:"rfid_tag"` Page int `form:"page,default=1" json:"page"` PageSize int `form:"page_size,default=10" json:"page_size"` } type ExitConfirmRequest struct { SessionID uint `json:"session_id"` TicketNo string `json:"ticket_no"` PlateNumber string `json:"plate_number"` RFIDTag string `json:"rfid_tag"` PaymentEntry string `json:"payment_entry"` PaymentMethod string `json:"payment_method"` PaidAmount float64 `json:"paid_amount"` ExitChannelID uint `json:"exit_channel_id"` ExitChannelCode string `json:"exit_channel_code"` ExitChannelName string `json:"exit_channel_name"` ExitDeviceCode string `json:"exit_device_code"` ExitDeviceName string `json:"exit_device_name"` }