package com.friday.operation.api.executor.service;

import com.friday.base.common.response.DubboResult;
import com.friday.operation.api.executor.constant.ExchangeType;

/**
 * @Description 交易日接口
 */

public interface ITradeDayService {
    /**
     * 根据交易所类型查询当天是否为交日易
     * @param type 交易所类型 {@link ExchangeType}
     */
    DubboResult checkCurrentDate(String type);

    /**
     * 查询当天是否为交日易，并返回最近相邻的交易日日期
     * @param type 交易所类型 {@link ExchangeType}
     */
    DubboResult checkCurrentDateAndAdjacent(String type);

    /**
     * 查询指定日期是否为交日易
     * @param type 交易所类型 {@link ExchangeType}
     * @param date 指定日期 YYYY-MM-dd
     */
    DubboResult checkSpecifiedDate(String date, String type);

    /**
     * 查询时间范围内的所有交易日
     * @param type 交易所类型 {@link ExchangeType}
     * @param dateStart 起始时间 YYYY-MM-dd
     * @param dateEnd 结束时间 YYYY-MM-dd
     */
    DubboResult getRangeOfTradingDay(String dateStart, String dateEnd, String type);

//    /**
//     * 查询指定时间前后N天内的交易日
//     * @param type 交易所类型 {@link ExchangeType}
//     * @param date 查询时间 YYYY-MM-dd
//     * @param index 前后N天
//     */
//    DubboResult getTradingDate(String date, String type, int index);
}
