package bus.service;

import bus.model.dto.*;
import bus.model.dto.page.BBusInfoPageDto;
import bus.model.dto.req.BTrackLocalReqDto;
import bus.model.po.BBusInfoPo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @Program: bus
 * @Description: 描述
 * @Author: zy
 * @Date: 2025-03-01 10:04:08
 **/
public interface BBusInfoService extends IService<BBusInfoPo> {


    /**
     * 详情
     * @param id
     * @return
     */
    BBusInfoDto getDetailById(String id);

	/**
     * 保存
     * @param dto
     * @return
     */
    void save(BBusInfoDto dto);

    /**
    * 列表
    * @param dto
    * @return
    */
    List<BBusInfoDto> list(BBusInfoPageDto dto);

	/**
     * 修改
     * @param dto
     * @return
     */
    void update(BBusInfoDto dto);

	/**
     * 删除
     * @param id
     * @return
     */
    void delete(String id);

    public BTrackStationDto getPoint(String busId);

    /**
     * 获取车辆状态树型数据
     * @return
     */
    List<BBusTrackTreeDto> getTreeList();


    /**
     * 根据车辆ID获取车辆追踪信息
     * @return
     */
    BBusTrackInfoDto getTrackInfo(String busId);


    /**
     * 根据车辆ID获取车辆实时追踪信息
     * @return
     *
     * @param bTrackLocalReqDto
     * @return
     */
    BTrackLocalDto getLocalBusInfo(BTrackLocalReqDto bTrackLocalReqDto);


    /**
     * 获取车辆经纬度信息
     *
     * @return
     */
    List<BBusInfoPo> getAllPoint();
}
