/*
 * 文 件 名:  WeatherService
 * 版    权:  华设设计集团股份有限公司
 * 描    述:  <描述>
 * 修 改 人:  lvwenbin
 * 修改时间:  2025/5/8
 * 跟踪单号:  <跟踪单号>
 * 修改单号:  <修改单号>
 * 修改内容:  <修改内容>
 */
package com.ruoyi.ems.service;

import com.huashe.common.domain.model.WeatherForecast;
import com.huashe.common.domain.model.WeatherRt;

import java.util.List;

/**
 * 天气数据服务
 * <功能详细描述>
 *
 * @author lvwenbin
 * @version [版本号, 2025/5/8]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public interface IWeatherService {
    /**
     * 获取实时天气
     *
     * @param adcode 行政区划代码
     * @return 实时天气数据
     */
    WeatherRt getWeatherRt(String adcode);

    /**
     * 合并实时天气数据
     * @param weatherRt 实时天气数据
     */
    void mergeRt(WeatherRt weatherRt);

    /**
     * 获取历史天气数据
     *
     * @param adcode    行政区划代码
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @return 历史天气数据列表
     */
    List<WeatherRt> getWeatherHis(String adcode, String startTime, String endTime);

    /**
     * 获取未来天气预报
     *
     * @param adcode 行政区划代码
     * @return 未来天气预报数据
     */
    List<WeatherForecast> getWeatherForecast(String adcode, String startTime, String endTime);

    /**
     * 根据code删除预报
     * @param adcode 行政区划代码
     * @return 影响行数
     */
    int deleteForecastByAdcode(String adcode);

    /**
     * 插入预报数据
     * @param forecasts 预报数据列表
     */
    void insertForecastBacth(List<WeatherForecast> forecasts);
}