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

import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.Query;

/**
 * Growatt - 古瑞瓦特（逆变器、光伏监测API）
 * <功能详细描述>
 *
 * @author lvwenbin
 * @version [版本号, 2025/12/15]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public interface GrowattApi {
    /**
     * 获取采集器列表
     *
     * @param token   认证令牌
     * @param plantId 电站ID
     * @return 采集器列表
     */
    @Headers({ "Content-Type: application/json" })
    @GET("/v1/device/datalogger/list")
    Call<String> getDatalogList(@Header("token") String token, @Query("plant_id") String plantId,
        @Query("page") Integer pageNo, @Query("perpage") Integer pageSize);

    /**
     * 获取电站设备列表
     *
     * @param token   认证令牌
     * @param plantId 电站ID
     * @return 设备列表
     */
    @Headers({ "Content-Type: application/json" })
    @GET("/v1/device/list")
    Call<String> getDeviceList(@Header("token") String token, @Query("plant_id") String plantId,
        @Query("page") Integer pageNo, @Query("perpage") Integer pageSize);

    /**
     * 获取设备实时数据
     *
     * @param token   认证令牌
     * @param type 类型 16：inverter， 17：SPH， 18：MAX， 19：SPA， 22：MIN
     * @param devices 设备ID
     * @return 设备列表
     */
    @Headers({ "Content-Type: application/json" })
    @POST("/v1/device/last/datas")
    Call<String> getDeviceData(@Header("token") String token, @Query("type") int type,
        @Query("devices") String devices);
}