package vehicle import ( "server/dao" "server/global" ) type vehicleRecordService struct{} func NewVehicleRecordService() *vehicleRecordService { return &vehicleRecordService{} } // GetVehicleRecordByID 根据ID获取车辆记录 func (s *vehicleRecordService) GetVehicleRecordByID(id uint) (dao.VehicleRecord, error) { var record dao.VehicleRecord result := global.GVA_DB.First(&record, id) if result.RowsAffected == 0 { return dao.VehicleRecord{}, result.Error } return record, nil } // ListVehicleRecordsByPlateNumber 根据车牌号获取车辆记录列表 func (s *vehicleRecordService) ListVehicleRecordsByPlateNumber(plateNumber string, page, pageSize int) (int64, []dao.VehicleRecord, error) { var records []dao.VehicleRecord var total int64 query := global.GVA_DB.Model(&dao.VehicleRecord{}).Where("plate_number = ?", plateNumber) // 计算总数 query.Count(&total) // 分页查询 offset := (page - 1) * pageSize result := query.Order("entry_time DESC").Offset(offset).Limit(pageSize).Find(&records) if result.Error != nil { return 0, nil, result.Error } return total, records, nil } // ListVehicleRecords 获取所有车辆记录列表 func (s *vehicleRecordService) ListVehicleRecords(page, pageSize int) (int64, []dao.VehicleRecord, error) { var records []dao.VehicleRecord var total int64 query := global.GVA_DB.Model(&dao.VehicleRecord{}) // 计算总数 query.Count(&total) // 分页查询 offset := (page - 1) * pageSize result := query.Order("entry_time DESC").Offset(offset).Limit(pageSize).Find(&records) if result.Error != nil { return 0, nil, result.Error } return total, records, nil }