|
@@ -94,10 +94,16 @@ func (s *VehicleService) GetVehicleByID(id uint) (dao.Vehicle, error) {
|
|
|
return vehicle, nil
|
|
return vehicle, nil
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-// GetVehicleByPlateNumber 根据车牌号获取车辆信息
|
|
|
|
|
|
|
+// GetVehicleByPlateNumber 根据车牌号或RFID获取车辆信息
|
|
|
func (s *VehicleService) GetVehicleByPlateNumber(plateNumber, RFIDTag string) (dao.Vehicle, error) {
|
|
func (s *VehicleService) GetVehicleByPlateNumber(plateNumber, RFIDTag string) (dao.Vehicle, error) {
|
|
|
var vehicle dao.Vehicle
|
|
var vehicle dao.Vehicle
|
|
|
- result := global.GVA_DB.Where("plate_number = ? or rfid_tag = ?", plateNumber, RFIDTag).Preload("VehicleType").First(&vehicle)
|
|
|
|
|
|
|
+ query := global.GVA_DB.Preload("VehicleType")
|
|
|
|
|
+ if RFIDTag != "" {
|
|
|
|
|
+ query = query.Where("plate_number = ? OR rfid_tag = ?", plateNumber, RFIDTag)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ query = query.Where("plate_number = ?", plateNumber)
|
|
|
|
|
+ }
|
|
|
|
|
+ result := query.First(&vehicle)
|
|
|
if result.RowsAffected == 0 {
|
|
if result.RowsAffected == 0 {
|
|
|
return dao.Vehicle{}, errors.New("车辆不存在")
|
|
return dao.Vehicle{}, errors.New("车辆不存在")
|
|
|
}
|
|
}
|