package com.usky.sas.controller.web;

import com.usky.common.core.bean.ApiResult;
import com.usky.sas.service.SasEventCodeService;
import com.usky.sas.service.vo.EventCodeInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 事件编码/子类型查询接口
 *
 * GET /prod-api/service-sas/event/codes?code=1001
 */
@RestController
@RequestMapping("/event")
public class SasEventCodeController {

    @Autowired
    private SasEventCodeService sasEventCodeService;

    /**
     * 根据系统类型编码查询对应事件编码（子类型）列表
     *
     * @param code 系统类型编码，见 SystemTypeCodeEnum：1001 实时智能分析、1002 视频安防监控、1003 视频导出防护、
     *             1004 组合认证控制、1005 出入门禁控制、1006 车牌抓拍分析、1007 入侵紧急报警、1008 实时电子巡检、
     *             1009 状态感知探测、1010 数据采集探测、1011 状态采集探测、1012 阻车路障探测
     * @return 对应的事件编码列表；code 未匹配时 data 为 null
     */
    @GetMapping("/codes")
    public ApiResult<List<EventCodeInfo>> getEventCodes(@RequestParam Integer code) {
        List<EventCodeInfo> list = sasEventCodeService.getEventCodes(code);
        return ApiResult.success(list);
    }
}
