package com.fs.survey.mapper;

import com.fs.survey.vo.DynamicInsertParam;
import org.apache.ibatis.annotations.Param;

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

/**
 * 动态表Mapper接口
 *
 */
public interface DynamicTableMapper {

    /**
     * 检查表是否存在
     */
    int checkTableExists(@Param("tableName") String tableName);

    /**
     * 创建表
     */
    void createTable(@Param("sql") String sql);

    /**
     * 删除表
     */
    void dropTable(@Param("tableName") String tableName);

    /**
     * 插入数据
     */
    int insertData(@Param("tableName") String tableName, @Param("data") Map<String, Object> data);

    /**
     * 查询数据列表
     */
    List<Map<String, Object>> selectDataList(@Param("tableName") String tableName, @Param("params") Map<String, Object> params);

    /**
     * 查询数据详情
     */
    Map<String, Object> selectDataById(@Param("tableName") String tableName, @Param("id") Long id);

    /**
     * 更新数据
     */
    int updateData(@Param("tableName") String tableName, @Param("data") Map<String, Object> data);

    /**
     * 删除数据
     */
    int deleteData(@Param("tableName") String tableName, @Param("id") Long id);

    int companyDoctorApplyinsertData(DynamicInsertParam dynamicInsertParam);


}
