package com.ozs.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ozs.common.core.domain.AjaxResult;
import com.ozs.entity.BaseVehicleTerminal;
import com.ozs.entity.BaseVehicle;
import com.ozs.entity.vo.BaseVehicleTerminalDto;
import com.ozs.entity.vo.BaseVehicleTerminalVo;
import com.ozs.entity.vo.BaseVehicleVo;

import java.util.List;

/**
 * <p>
 * 机车信息表 服务类
 * </p>
 *
 * @author ozs
 * @since 2023-04-11
 */
public interface BaseVehicleService extends IService<BaseVehicle> {

    IPage<BaseVehicle> vehicleList(BaseVehicleVo baseVehicle);

    AjaxResult vehicleAdd(BaseVehicle baseVehicle, String userId);

    AjaxResult vehicleUpdate(BaseVehicle baseVehicle, String userId);

    String importBaseVehicle(List<BaseVehicle> accountManageList, boolean updateSupport, String userId);

    AjaxResult vehicleDetails(BaseVehicle baseVehicle);

    List<BaseVehicle> exportBaseVehicle(BaseVehicle baseVehicle);

    IPage<BaseVehicleTerminalVo> vehicleTerminal(BaseVehicleVo baseVehicle);

    AjaxResult vehicleTerminalAdd(BaseVehicleTerminal baseTerminal, String userId);

    Boolean isMount(BaseVehicleVo baseVehicleVo);

    /**
     * /列表，不分页
     */
    List<BaseVehicleTerminalDto> vehicleList();

    /**
     * 机车首页地图
     *
     * @return
     */
    List<BaseVehicle> vehicleListDT(BaseVehicleVo baseVehicle);

    AjaxResult vehicleTerminalUnmount(BaseVehicleTerminal baseTerminal);

    AjaxResult removeByIdList(List<Long> ids);
}
