package com.zt.plat.module.base.service.doctemplate.render;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 默认SQL配置数据提供者实现
 * 这是一个临时的实现，实际项目中应该根据具体的SQL配置管理来实现
 *
 * @author hwc
 */
@Component
@Slf4j
public class DefaultSqlConfigProvider implements ISqlConfigProvider {

    @Override
    public List<Map<String, Object>> querySqlConfig(String sqlConfigId) {
        log.debug("查询SQL配置: {}", sqlConfigId);

        // TODO: 实际实现应该：
        // 1. 从数据库中根据 sqlConfigId 查询SQL脚本
        // 2. 执行SQL脚本并返回结果
        // 3. 处理异常情况

        // 临时实现：返回一些示例数据
        List<Map<String, Object>> result = new ArrayList<>();

        switch (sqlConfigId) {
            case "CONTRACT_INFO":
                Map<String, Object> contractData = new HashMap<>();
                contractData.put("contractName", "示例合同名称");
                contractData.put("supplier", "示例供应商");
                contractData.put("amount", "1000000");
                contractData.put("deliveryDate", "2025-12-31");
                result.add(contractData);
                break;

            case "ORDER_INFO":
                Map<String, Object> orderData = new HashMap<>();
                orderData.put("orderNumber", "ORD-2025-001");
                orderData.put("customer", "示例客户");
                orderData.put("totalAmount", "500000");
                orderData.put("orderDate", "2025-01-15");
                result.add(orderData);
                break;

            default:
                log.warn("未知的SQL配置ID: {}", sqlConfigId);
                break;
        }

        log.debug("SQL配置查询结果数量: {}", result.size());
        return result;
    }
}