package com.jiayue.insu.incloud.service;

import cn.hutool.json.JSONObject;
import com.jiayue.insu.incloud.entity.Station;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * 预测数据业务接口
 *
 * @author yh
 * @version 1.0
 * @since 2022/5/22 11:29
 */
public interface ApiService  {

    /**
     * 获取token
     * @param userInfo
     * @return
     */
    JSONObject getToken(JSONObject userInfo);

    /**
     * 获取短期原始json数据
     * @param requestJson
     * @return
     */
    JSONObject getShortWpfData(JSONObject requestJson);


    /**
     * 获取所有当天所有短期数据（飔合科技）
     * @param station
     * @param initTime
     * @return
     */
    JSONObject getSHCorrect(Station station, LocalDateTime initTime);


    /**
     * 获取超短期原始json数据
     * @param requestJson
     * @return
     */
    JSONObject getUltraShortTermData(JSONObject requestJson);

    /**
     * 接收超短期原始json数据
     * @param requestJson
     * @return
     */
    JSONObject putUltraShortTermData(JSONObject requestJson);

    /**
     * 接收实际功率数据
     * @param requestJson
     * @return
     */
    JSONObject putRealValueData(JSONObject requestJson);

    /**
     * 获取nwp原始json数据
     * @param requestJson
     * @return
     */
    JSONObject getNwpData(JSONObject requestJson);

    /**
     * 获取短期修正数据json
     * @param requestJson
     * @return
     */
    JSONObject putShortWpfData(JSONObject requestJson);

    /**
     * 获取超短期原始json数据
     * @param requestJson
     * @return
     */
    JSONObject getSShortWpfData(JSONObject requestJson);

    /**
     * 获取短期修正数据json
     * @param requestJson
     * @return
     */
    JSONObject putSShortWpfData(JSONObject requestJson);

    /**
     * 从minIo下载文件后，回传状态
     * @param stationCode
     * @param fileName
     * @param type
     * @param status
     */
    void postBackMinIoState(String stationCode ,String fileName,String type,String status);
}
