package com.zc.business.service;

import com.ruoyi.common.core.domain.AjaxResult;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.Map;

/**
 * @Description 交通事件统计Service接口
 *
 * @author liuwenge
 * @date 2024/1/13 9:42
 */
public interface IDcTrafficIncidentsService {

    /**
     * @param
     * @return com.ruoyi.common.core.domain.AjaxResult
     * @Description 首页-重点数据
     * @author liuwenge
     * @date 2024/1/13 10:09
     */
    AjaxResult getKeyData();

    /**
     * @param eventType
     * @return com.ruoyi.common.core.domain.AjaxResult
     * @Description 首页-事件专题-根据事件类型获取事件列表
     * @author liuwenge
     * @date 2024/1/13 14:26
     */
    AjaxResult getEventListByType(String eventType);

    /**
     * @param eventId
     * @return com.ruoyi.common.core.domain.AjaxResult
     * @Description 首页-事件专题-根据事件id获取详情
     * @author liuwenge
     * @date 2024/1/13 14:43
     */
    AjaxResult getEventInfo(String eventId);

    /**
     * @param
     * @return com.ruoyi.common.core.domain.AjaxResult
     * @Description 首页-状况统计-获取日、周、月、年的交通事件数量
     * @author liuwenge
     * @date 2024/1/13 15:08
     */
    AjaxResult getTrafficIncidentsNum();

    /**
     * @param
     * @return com.ruoyi.common.core.domain.AjaxResult
     * @Description 路网管控-事件管控分析-事件类型分析占比
     * @author liuwenge
     * @date 2024/1/13 15:46
     */
    AjaxResult getAllEventNum();

    /**
     * @param
     * @return com.ruoyi.common.core.domain.AjaxResult
     * @Description 路网管控-事件管控分析-事件源分析占比
     * @author liuwenge
     * @date 2024/1/13 17:37
     */
    AjaxResult getEventSourceRatio();

    /**
     * @param
     * @return com.ruoyi.common.core.domain.AjaxResult
     * @Description 路网管控-事件管控分析-今日事件趋势
     * @author liuwenge
     * @date 2024/1/15 14:30
     */
    AjaxResult getEventTrend();

    /**
     * @param
     * @return com.ruoyi.common.core.domain.AjaxResult
     * @Description 路网管控-事件管控分析-事故车型分析
     * @author liuwenge
     * @date 2024/1/15 15:38
     */
    AjaxResult getAccidentVehicleAnalysis();

    /**
     * @param params
     * @return com.ruoyi.common.core.domain.AjaxResult
     * @Description 路网管控-事件管控分析-收费站统计分析table
     * @author liuwenge
     * @date 2024/1/15 17:31
     */
    AjaxResult selectTollStationAnalysis(Map<String, Object> params);

    /**
     * @Description 路网管控-事件管控分析-收费站统计分析echarts(当月)
     *
     * @author liuwenge
     * @date 2024/1/16 11:11
     * @param
     * @return com.ruoyi.common.core.domain.AjaxResult
     */
    AjaxResult getTollStationAnalysis();

    /**
     * @Description 路网管控-事件管控分析-事故多发路段分析
     *
     * @author liuwenge
     * @date 2024/1/16 15:52
     * @param params
     * @return com.ruoyi.common.core.domain.AjaxResult
     */
    AjaxResult selectRoadSectionAnalysis(Map<String,Object> params);

    /**
     * @Description 路网管控-事件管控分析-事故类型分析
     *
     * @author liuwenge
     * @date 2024/1/16 15:52
     * @param params
     * @return com.ruoyi.common.core.domain.AjaxResult
     */
    AjaxResult selectEventTypeAnalysis(Map<String,Object> params);
}