package cn.iocoder.yudao.module.rescue.service;


import cn.iocoder.yudao.module.rescue.domain.RescueDriverPosition;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;


import java.util.List;

/**
 * 救援司机位置记录Service接口
 * 
 * @author zcy
 * @date 2023-09-19
 */
public interface IRescueDriverPositionService  extends IService<RescueDriverPosition>
{
    /**
     * 查询救援司机位置记录
     * 
     * @param id 救援司机位置记录主键
     * @return 救援司机位置记录
     */
    public RescueDriverPosition selectRescueDriverPositionById(Long id);

    /**
     * 查询救援司机位置记录列表
     * 
     * @param rescueDriverPosition 救援司机位置记录
     * @return 救援司机位置记录集合
     */
    public IPage<RescueDriverPosition> selectRescueDriverPositionList(Page<RescueDriverPosition> page, RescueDriverPosition rescueDriverPosition);

    /**
     * 新增救援司机位置记录
     * 
     * @param rescueDriverPosition 救援司机位置记录
     * @return 结果
     */
    public int insertRescueDriverPosition(RescueDriverPosition rescueDriverPosition);

    /**
     * 修改救援司机位置记录
     * 
     * @param rescueDriverPosition 救援司机位置记录
     * @return 结果
     */
    public int updateRescueDriverPosition(RescueDriverPosition rescueDriverPosition);

    /**
     * 批量删除救援司机位置记录
     * 
     * @param ids 需要删除的救援司机位置记录主键集合
     * @return 结果
     */
    public int deleteRescueDriverPositionByIds(Long[] ids);

    /**
     * 删除救援司机位置记录信息
     * 
     * @param id 救援司机位置记录主键
     * @return 结果
     */
    public int deleteRescueDriverPositionById(Long id);
    IPage<RescueDriverPosition> listByInfoId(Page<RescueDriverPosition> page, RescueDriverPosition rescueDriverPosition);
    IPage<JSONObject> routeInfo(Page<RescueDriverPosition> page,RescueDriverPosition rescueDriverPosition);
}
