package com.ruoyi.system.service; import java.util.Date; import java.util.List; import com.ruoyi.system.domain.VehicleGpsSegmentMileage; /** * 车辆GPS分段里程Service接口 */ public interface IVehicleGpsSegmentMileageService { /** * 查询车辆GPS分段里程 */ public VehicleGpsSegmentMileage selectVehicleGpsSegmentMileageById(Long segmentId); /** * 查询车辆GPS分段里程列表 */ public List selectVehicleGpsSegmentMileageList(VehicleGpsSegmentMileage vehicleGpsSegmentMileage); /** * 新增车辆GPS分段里程 */ public int insertVehicleGpsSegmentMileage(VehicleGpsSegmentMileage vehicleGpsSegmentMileage); /** * 修改车辆GPS分段里程 */ public int updateVehicleGpsSegmentMileage(VehicleGpsSegmentMileage vehicleGpsSegmentMileage); /** * 批量删除车辆GPS分段里程 */ public int deleteVehicleGpsSegmentMileageByIds(Long[] segmentIds); /** * 删除车辆GPS分段里程信息 */ public int deleteVehicleGpsSegmentMileageById(Long segmentId); /** * 批量计算所有车辆的GPS分段里程 * * @param startTime 开始时间 * @param endTime 结束时间 * @return 成功计算的车辆数量 */ public int batchCalculateSegmentMileage(Date startTime, Date endTime); /** * 计算单个车辆的GPS分段里程 * * @param vehicleId 车辆ID * @param startTime 开始时间 * @param endTime 结束时间 * @return 成功计算的分段数量 */ public int calculateVehicleSegmentMileage(Long vehicleId, Date startTime, Date endTime); /** * 补偿计算:查找并计算未被处理的GPS数据 * 用于服务重启后的数据修复 * * @param lookbackDays 回溯天数(查询多少天前的数据) * @return 成功计算的车辆数量 */ public int compensateCalculation(int lookbackDays); }