package com.usky.sas.service;

import com.usky.sas.service.vo.EventCodeInfo;

import java.util.List;

/**
 * 根据系统类型编码查询对应事件编码/子类型列表
 */
public interface SasEventCodeService {

    /**
     * 根据系统类型 code（见 SystemTypeCodeEnum）返回对应的事件编码列表
     *
     * @param code 系统类型编码，如 1001(snap)、1007(alarm) 等
     * @return 事件编码列表，未匹配时返回 null
     */
    List<EventCodeInfo> getEventCodes(Integer code);

    /**
     * 根据系统类型与编码 id 列表查询事件编码信息（用于事件组详情/分页填充 eventCodes）
     *
     * @param systemTypeCode 系统类型编码
     * @param ids            事件编码 id 列表（如 code/functions）
     * @return 事件编码信息列表，未匹配类型或空 id 返回空列表
     */
    List<EventCodeInfo> getEventCodesByIds(Integer systemTypeCode, List<Integer> ids);
}
