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

import com.hdkj.lt.modle.dto.simulation.*;
import com.hdkj.hussar.ApiResponse;

/**
 * @author rj
 * @date 2025/5/26 下午4:21
 * @description
 */
public interface ISimulationService {
    String getPlanTransferScheme(PlanTransferSchemeDTO planTransferSchemeDTO);

    String getFaultTransferScheme(FaultTransferSchemeDTO faultTransferSchemeDTO);

    String getOperationScheme(OperationSchemeDTO operationSchemeDTO);

    /**
     * 获取配网电气模型
     * @param request 请求参数
     * @return 原始JSON字符串
     */
    String getElectricalModel(ElectricalModelRequest request);

    /**
     * 执行调优算法计算，启动网络重构计算任务.
     * @param dto 请求参数
     * @return 任务ID
     */
    ApiResponse<String> startOperationCalTask(OperationModeStartDTO dto);

    /**
     * 查询调优结果.
     * @param taskId 任务ID
     * @return 调优计算结果
     */
    ApiResponse<QueryOperationModeDTO> queryOperationResult(String taskId);
}
