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

import cn.iocoder.yudao.module.rescue.domain.RescueCarInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 救援车辆信息Mapper接口
 *
 * @author zcy
 * @date 2023-09-12
 */
@Mapper
public interface RescueCarInfoMapper extends BaseMapper<RescueCarInfo>
{
    /**
     * 查询救援车辆信息
     *
     * @param id 救援车辆信息主键
     * @return 救援车辆信息
     */
    public RescueCarInfo selectRescueCarInfoById(Long id);

    /**
     * 查询救援车辆信息列表
     *
     * @param rescueCarInfo 救援车辆信息
     * @return 救援车辆信息集合
     */
    IPage<RescueCarInfo> selectRescueCarInfoList(@Param("map") RescueCarInfo rescueCarInfo, Page<RescueCarInfo> page);

    /**
     * 新增救援车辆信息
     *
     * @param rescueCarInfo 救援车辆信息
     * @return 结果
     */
    public int insertRescueCarInfo(RescueCarInfo rescueCarInfo);

    /**
     * 修改救援车辆信息
     *
     * @param rescueCarInfo 救援车辆信息
     * @return 结果
     */
    public int updateRescueCarInfo(RescueCarInfo rescueCarInfo);

    /**
     * 删除救援车辆信息
     *
     * @param id 救援车辆信息主键
     * @return 结果
     */
    public int deleteRescueCarInfoById(Long id);

    /**
     * 批量删除救援车辆信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRescueCarInfoByIds(Long[] ids);
    List<RescueCarInfo> warnListBy( @Param("warnTime")String warnTime);
    List<RescueCarInfo> warnListBx(@Param("warnTime")String warnTime);
    List<RescueCarInfo> warnListNj(@Param("warnTime")String warnTime);

    /**
     * 救援大屏获取车辆预警接口
     * @param type keep 保养  insurance 保险 check 年审
     * @return
     */
    List<Map<String, Object>> selectRescueCarEarlyWarning(String type);
}
