package com.hdkj.lt.si.service.measurement;

import com.hdkj.lt.core.bizms.modle.dto.StateEstimation;
import com.hdkj.lt.core.bizms.modle.request.StateEstimationEquipRequest;
import com.hdkj.lt.modle.dto.measurement.*;
import com.hdkj.lt.modle.vo.measurement.*;
import com.hdkj.hussar.ApiResponse;
import org.springframework.web.bind.annotation.RequestBody;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @author rj
 * @date 2025/5/24 下午3:27
 * @description
 */
public interface IMeasurementApiService {
    MeasurementTokenVO getAccessToken(MeasurementTokenDTO measurementTokenDTO);

    ContainDeviceMeasurementVO getTelesignalCommonQuery(ContainDeviceMeasurementDTO containDeviceMeasurementDTO);

    DistributionTransformerVO getTelemetryCommonQuery(DistributionTransformerDTO distributionTransformerDTO);

    Map<String, BigDecimal> queryPeriodByCommonQuery(StateEstimationEquipRequest request);

    public void SaveCommonQuery(DistributionReceiveVO request);

    public ApiResponse<StateEstimation> queryByFeederSaveCommonQuery(@RequestBody StateEstimationEquipRequest request);

    RecordsVO queryCommonQueryByDay(DistributionTransformerDTO request);

    /**
     * 查询低压用户电压（A相，.consType=2）
     *
     * @param consNos   用户编号列表
     * @param startTime 开始时间 yyyy-MM-dd HH:mm:ss
     * @param endTime   结束时间 yyyy-MM-dd HH:mm:ss
     * @return consNo → measValue(伏特V, pt=1不做变比换算)
     */
    Map<String, BigDecimal> queryConsumerVoltage(List<String> consNos, String startTime, String endTime);
}
