package com.sundot.airport.system.service;

import com.sundot.airport.system.domain.SysDynamicSql;

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

/**
 * 动态sql执行configService接口
 *
 * @author ruoyi
 * @date 2025-06-20
 */
public interface ISysDynamicSqlService {
    /**
     * 查询动态sql执行config
     *
     * @param id 动态sql执行config主键
     * @return 动态sql执行config
     */
    public SysDynamicSql selectSysDynamicSqlById(Long id);

    /**
     * 查询动态sql执行config列表
     *
     * @param sysDynamicSql 动态sql执行config
     * @return 动态sql执行config集合
     */
    public List<SysDynamicSql> selectSysDynamicSqlList(SysDynamicSql sysDynamicSql);

    /**
     * 新增动态sql执行config
     *
     * @param sysDynamicSql 动态sql执行config
     * @return 结果
     */
    public int insertSysDynamicSql(SysDynamicSql sysDynamicSql);

    /**
     * 修改动态sql执行config
     *
     * @param sysDynamicSql 动态sql执行config
     * @return 结果
     */
    public int updateSysDynamicSql(SysDynamicSql sysDynamicSql);

    /**
     * 批量删除动态sql执行config
     *
     * @param ids 需要删除的动态sql执行config主键集合
     * @return 结果
     */
    public int deleteSysDynamicSqlByIds(Long[] ids);

    /**
     * 删除动态sql执行config信息
     *
     * @param id 动态sql执行config主键
     * @return 结果
     */
    public int deleteSysDynamicSqlById(Long id);

    /**
     * 根据 sqlkey 执行
     *
     * @param sqlkey
     * @param params
     * @return
     */
    List<Map<String, Object>> executeSqlByKeyAndParam(String sqlkey, Map<String, Object> params);
}
