package com.ruoyi.interfaces.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.interfaces.domain.SysMetaDatasource;
import com.ruoyi.interfaces.domain.vo.SysMetaQueryVo;

/**
 * 数据源管理Service接口
 * 
 * @author 朱得糠
 * @date 2025-08-02
 */
public interface ISysMetaDatasourceService 
{
    /**
     * 查询数据源管理
     * 
     * @param dsCode 数据源管理主键
     * @return 数据源管理
     */
    public SysMetaDatasource selectSysMetaDatasourceByDsCode(String dsCode);

    /**
     * 查询数据源管理列表
     * 
     * @param sysMetaDatasource 数据源管理
     * @return 数据源管理集合
     */
    public List<SysMetaDatasource> selectSysMetaDatasourceList(SysMetaDatasource sysMetaDatasource);

    /**
     * 新增数据源管理
     * 
     * @param sysMetaDatasource 数据源管理
     * @return 结果
     */
    public int insertSysMetaDatasource(SysMetaDatasource sysMetaDatasource);

    /**
     * 修改数据源管理
     * 
     * @param sysMetaDatasource 数据源管理
     * @return 结果
     */
    public int updateSysMetaDatasource(SysMetaDatasource sysMetaDatasource);

    /**
     * 批量删除数据源管理
     * 
     * @param dsCodes 需要删除的数据源管理主键集合
     * @return 结果
     */
    public int deleteSysMetaDatasourceByDsCodes(String[] dsCodes);

    /**
     * 删除数据源管理信息
     * 
     * @param dsCode 数据源管理主键
     * @return 结果
     */
    public int deleteSysMetaDatasourceByDsCode(String dsCode);

    Integer testConnection(String dsCode);

    List<String> getTableNames(String dsCode);

    List<Map<String, Object>>  queryTableData(SysMetaQueryVo queryVo);
}
