package com.gci.boot.enums;

import cn.hutool.core.collection.ListUtil;

import java.util.List;

/**
 * @author 24642
 */

public enum EventCharacteristicsType {
    /**
     * 需要事件描述的
     */
    PRECEDING_VEHICLE_SPEED_CHARACTERISTICS("前车速度{}km/h",
            ListUtil.toList(EventType.FORWARD_COLLISION, EventType.LANE_DEPARTURE),
            null,"precedingVehicleSpeed"),
    PRECEDING_DISTANCE_MAN_CHARACTERISTICS("距离行人{}米",
            ListUtil.toList(EventType.PEDESTRIAN_COLLISION),
            null,"precedingDistance"),
    PRECEDING_DISTANCE_VEHICLE_CHARACTERISTICS("距离前车{}米",
            ListUtil.toList(EventType.FORWARD_COLLISION, EventType.LANE_DEPARTURE),
            null,"precedingDistance"),
    DEVIATION_TYPE_CHARACTERISTICS("{}",
            ListUtil.toList(EventType.LANE_DEPARTURE),
            "deviation_type","deviationType"),
    ROADSIGN_TYPE_CHARACTERISTICS("{}",
            ListUtil.toList(EventType.LANE_DEPARTURE),
            "roadsign_type","roadsignType"),
    FATIGUE_LEVEL_CHARACTERISTICS("疲劳程度{}级",
            ListUtil.toList(EventType.FATIGUE_DRIVING),
            null,"fatigueLevel");

    private final String desc;
    private final List<EventType> eventTypeList;
    private final String dictCode;

    public String getFieldName() {
        return fieldName;
    }

    private final String fieldName;

    EventCharacteristicsType(String desc, List<EventType> eventTypeList, String dictCode, String fieldName) {
        this.desc = desc;
        this.eventTypeList = eventTypeList;
        this.dictCode = dictCode;
        this.fieldName = fieldName;
    }

    public String getDesc() {
        return desc;
    }

    public List<EventType> getEventTypeList() {
        return eventTypeList;
    }

    public String getDictCode() {
        return dictCode;
    }


}
