package com.ho.business.service;

import com.ho.business.vo.req.cockpit.CockpitReqVO;
import com.ho.business.vo.resp.StationRespVO;
import com.ho.business.vo.resp.cockpit.*;
import com.ho.common.tools.entity.SimpleUser;

import java.util.List;

/**
 * @Description 驾驶舱
 * Author yule
 * Date 2023/1/10 17:00
 */
public interface CockpitService {

    StationSummaryRespVO getSummary(SimpleUser user);

    ConditionMonitoringRespVO getConditionMonitoring(SimpleUser user);

    List<RevenueStatisticsRespVO> getRevenueStatistics(SimpleUser user);

    List<TotalPowerGenerationRespVO> getTotalPowerGenerations(CockpitReqVO vo,SimpleUser user);

    List<ProportionOfPowerRespVO> getProportionOfPowerGeneration(SimpleUser user);

    List<RevenueRespVO> getRevenueRanking(SimpleUser user);

    List<StationMapRespVO> getStationMap(SimpleUser user);

    CumulativeRespVO getCumulative(SimpleUser user);

    List<StationOperationRespVO> getStationOperation(SimpleUser user);

    GroupDataRespVo getGroupData(SimpleUser user);

    /**
     * 装机占比
     * @param user 缓存中的用户信息
     * @return
     */
    CapacityProportionResp capacityProportion(SimpleUser user);

    /**
     * 电站实时监控
     * @param user 缓存中的用户信息
     * @return
     */
    List<StationRespVO> monitoringStation(SimpleUser user);


    /**
     * 收益统计定时任务
     * @return
     */
    void getRevenueStatistics();
}
