package com.cpp.web.service.station;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cpp.web.domain.station.ForecastPowerShortTermStation;

import java.util.List;

/**
 * cpp_forecast_power_short_term_his
 *
 * @author tl
 * @date 2024-09-23 15:28:33
 */
public interface ForecastPowerShortTermStationService extends IService<ForecastPowerShortTermStation> {

    /**
     * 根据时间 提前多久预测 场站编号查询数据
     *
     * @param time        时间
     * @param howLongAgo  提前多久预测
     * @param stationCode 场站数据
     * @return
     */
    ForecastPowerShortTermStation findByForecastTimeAndForecastHowLongAgoAndStationCode(Long time, int howLongAgo, String stationCode);

    /**
     * 根据时间 提前多久预测 场站编号查询数据
     *
     * @param startTime   开始时间
     * @param endTime     结束时间
     * @param howLongAgo  提前多久预测
     * @param stationCode 场站编号
     * @return
     */
    List<ForecastPowerShortTermStation> findByForecastTimeBetweenAndForecastHowLongAgoAndStationCode(Long startTime, Long endTime, Integer howLongAgo, String stationCode);

    /**
     * 根据时间 提前多久预测 场站编号 预测厂家查询数据
     *
     * @param pointEndTime       时间
     * @param howLongAgo         提前多久预测
     * @param stationCode        场站编号
     * @param forecastManufactor 预测厂家
     * @return
     */
    ForecastPowerShortTermStation findByForecastTimeAndForecastHowLongAgoAndStationCodeAndForecastManufactor(Long pointEndTime, int howLongAgo, String stationCode, String forecastManufactor);

    /**
     * 根据时间 提前多久预测 场站编号 预测厂家查询数据
     *
     * @param startTime          开始时间
     * @param endTime            结束时间
     * @param howLongAgo         提前多久预测
     * @param stationCode        场站编号
     * @param forecastManufactor 预测厂家
     * @return
     */
    List<ForecastPowerShortTermStation> findByForecastTimeBetweenAndForecastHowLongAgoAndStationCodeAndForecastManufactor(Long startTime, Long endTime, Integer howLongAgo, String stationCode, String forecastManufactor);
}
