package com.elephant.framework.galaxy.aroad.module.roadcondition.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.elephant.framework.galaxy.aroad.module.roadcondition.dto.*;
import com.elephant.framework.galaxy.aroad.module.roadcondition.entity.RoadConditionEvent;

import java.util.List;

/**
 * 路况事件统计
 *
 * @author Xingyuyang
 * @date 2019-04-23 16:41:06
 */
public interface RoadConditionEventService extends IService<RoadConditionEvent> {
	IPage<RoadConditionEvent> getRoadConditionEventPage(Page<RoadConditionEvent> page, RoadConditionEvent roadConditionEvent);
	/**
	 *
	 * @description : 根据事件类型查询
	 * @author : Xingyuyang
	 * @date : 2019/4/23 0023 17:52
	 * @param :
	 * @return : java.util.List<com.elephant.framework.galaxy.aroad.module.roadcondition.entity.RoadConditionEvent>
	 *
	 */
	List<staticByEventTypeDto> staticByEventType();

	/**
	 *
	 * @description : 根据事件类型查询
	 * @author : Xingyuyang
	 * @date : 2019/4/23 0023 17:52
	 * @param :
	 * @return : java.util.List<com.elephant.framework.galaxy.aroad.module.roadcondition.entity.RoadConditionEvent>
	 *
	 */
	List<staticByInfluenceDto> staticByInfluence();

	/**
	 *
	 * @description : 根据月份查询
	 * @author : Xingyuyang
	 * @date : 2019-4-24 10:28:31
	 * @param :
	 * @return : java.util.List<com.elephant.framework.galaxy.aroad.module.roadcondition.entity.RoadConditionEvent>
	 *
	 */
	List<staticByMonthDto> staticByMonth();

	/**
	 *
	 * @description : 根据路段编码查询
	 * @author : Xingyuyang
	 * @date : 2019-4-24 10:28:31
	 * @param :
	 * @return : java.util.List<com.elephant.framework.galaxy.aroad.module.roadcondition.entity.RoadConditionEvent>
	 *
	 */
	List<staticByRoadCodeDto> staticByRoadCode();

	/**
	 *
	 * @description :  根据城市查询
	 * @author : Xingyuyang
	 * @date : 2019/4/24 14:28

	 * @return : java.util.List<com.elephant.framework.galaxy.aroad.module.roadcondition.dto.staticByCityDto>
	 *
	 */
	List<staticByCityDto> staticByCity();

	/**
	 *
	 * @description :  根据城市查询
	 * @author : Xingyuyang
	 * @date : 2019/4/24 14:28

	 * @return : java.util.List<com.elephant.framework.galaxy.aroad.module.roadcondition.dto.staticByCityDto>
	 *
	 */
	List<staticByYHCityDto> staticByYHCity();

	/**
	 * @Description: 查询树形结构
	 * @Param: []
	 * @return: java.util.List<com.elephant.framework.galaxy.travel.module.basic_resources.entity.BaseServiceArea>
	 * @Author: XingYuyang
	 * @Date: 2019/4/10
	 */
	BaseTreeDto getTree();

	RoadConditionEvent getById(Integer id);

	List<CoordinateDto> getYHCoordinates();

	List<CoordinateDto> getSFZCoordinates();

	List<CoordinateDto> getTFCoordinates();

	List<CoordinateDto> getTQCoordinates();

	List<CoordinateDto> getCoordinates();
}
