package com.hdkj.lt.feign;

import com.hdkj.lt.base.constants.SystemGlobalConstant;
import com.hdkj.lt.feign.fallback.SimulationPlatformApiClientFallBack;
import com.hdkj.lt.modle.dto.simulation.ElectricalModelRequest;
import com.hdkj.lt.modle.dto.simulation.ElectricalModelResponse;
import com.hdkj.lt.modle.dto.simulation.FaultTransferSchemeDTO;
import com.hdkj.lt.modle.dto.simulation.OperationSchemeDTO;
import com.hdkj.lt.modle.dto.simulation.PlanTransferSchemeDTO;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @author rj
 * @date 2025/5/26 下午2:22
 * @description
 */
@FeignClient(path = "/simulation", value = SystemGlobalConstant.SERVICE_NAME_LOAD_TRANSFER_SI,contextId = "ISimulationPlatformApiClient", fallbackFactory = SimulationPlatformApiClientFallBack.class)
public interface ISimulationPlatformApiClient {
    @ApiOperation(value = "获取计划停电转供")
    @PostMapping("/getPlanTransferScheme")
    String getPlanTransferScheme(@RequestBody PlanTransferSchemeDTO planTransferSchemeDTO);

    @ApiOperation(value = "获取故障停电转供")
    @PostMapping("/getFaultTransferScheme")
    String getFaultTransferScheme(@RequestBody FaultTransferSchemeDTO faultAnalysis);

    @ApiOperation(value = "获取运行调优停电转供")
    @PostMapping("/getOperationScheme")
    String getOperationScheme(@RequestBody OperationSchemeDTO operationSchemeDTO);

    @ApiOperation(value = "获取配网电气模型")
    @PostMapping("/getElectricalModel")
    String getElectricalModel(@RequestBody ElectricalModelRequest request);

}
