package com.dcsoft.system.vehicle.mapper;

import com.dcsoft.system.vehicle.domain.CarPark;
import org.apache.ibatis.annotations.Param;

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

/**
 * 车场信息Mapper接口
 *
 * @author nichun
 * @date 2023-12-27
 */
public interface CarParkMapper
{
    /**
     * 查询车场信息
     *
     * @param id 车场信息主键
     * @return 车场信息
     */
    public CarPark selectCarParkById(Long id);

    /**
     * 查询车场信息列表
     *
     * @param carPark 车场信息
     * @return 车场信息集合
     */
    public List<CarPark> selectCarParkList(CarPark carPark);

    /**
     * 新增车场信息
     *
     * @param carPark 车场信息
     * @return 结果
     */
    public int insertCarPark(CarPark carPark);

    /**
     * 修改车场信息
     *
     * @param carPark 车场信息
     * @return 结果
     */
    public int updateCarPark(CarPark carPark);

    /**
     * 删除车场信息
     *
     * @param id 车场信息主键
     * @return 结果
     */
    public int deleteCarParkById(Long id);

    /**
     * 批量删除车场信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCarParkByIds(Long[] ids);

    public List<Map<String, Object>> selectItemTreeList(Long id);

    public List<Map<String, Object>> carPlay(Long id);

    public List<Map<String, Object>> carPlayRecord(Long id);

    public int  deleteSelectCarInfo(Long id);

    public int selectCarInfo(@Param("id") Long id,@Param("flag") String flag);

    public CarPark selectCarParkByName(String name);

    List<CarPark> selectByIds(@Param("list") List<Long> collect);

    List<CarPark> getCarParkSelect(Long id);
}
