package com.hdkj.lt.feign;

import com.hdkj.lt.base.constants.SystemGlobalConstant;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.Map;

/**
 * 算法服务 Feign 客户端
 * <p>
 * 供 mq/bf 模块通过 Feign 调用 si 模块的算法指标计算接口
 * <p>
 * 返回 ApiResponse 完整 JSON 字符串，消费方用 fastjson 解析取 data 字段
 *
 lsl * @since 2026-07-17
 */
@FeignClient(path = "/algorithm", value = SystemGlobalConstant.SERVICE_NAME_LOAD_TRANSFER_SI,
        contextId = "IAlgorithmApiClient")
public interface IAlgorithmApiClient {

    /**
     * 查询指标计算结果
     *
     * @return ApiResponse 完整 JSON 字符串
     */
    @PostMapping("/indicators")
    String queryIndicators();

    /**
     * 查询静态网架评估结果并入库
     *
     * @param params 含 batchId、countyId
     * @return ApiResponse 完整 JSON 字符串，data 为主表ID
     */
    @PostMapping("/static-grid")
    String queryStaticGridIndicators(@RequestBody Map<String, Object> params);
}
