package com.jeesharp.business.modules.common.api;

import com.jeesharp.business.modules.common.bizscene.vo.BizSceneOptionVO;

import java.util.List;

/**
 * 业务业态场景对外 API：跨模块校验场景编号、查询启用场景选项。
 *
 * @author jeesharp
 * @since 2026-07-03
 */
public interface BizSceneApi {

    /**
     * 断言场景在指定租户下已启用；未配置或已禁用时抛出业务异常。
     */
    void assertSceneEnabled(String sceneCode, String tenantId);

    /**
     * 按场景编号查询启用中的场景选项；不存在或未启用时返回 {@code null}。
     */
    BizSceneOptionVO getOptionByCode(String sceneCode, String tenantId);

    /**
     * 按能力标签查询启用场景选项（如 {@code COUPON}、{@code BANNER}、{@code NAV}）。
     */
    List<BizSceneOptionVO> listEnabledOptions(String capability, String tenantId);
}
