package com.celnet.datadump.mapper; import com.celnet.datadump.param.SalesforceParam; import cn.hutool.json.JSONObject; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.List; import java.util.Map; /** * @author Red * @description * @date 2022/09/27 */ @Mapper public interface CustomMapper { /** * 获取表所有字段 * * @param tableName tableName * @return list */ public List getFields(@Param("tableName") String tableName); /** * 获取表存在的id list * * @param tableName tableName * @param ids id list * @return list */ public List getIds(@Param("tableName") String tableName, @Param("ids") List ids); /** * 统计表数据 * * @param param param * @return list */ public Integer count(@Param("param") SalesforceParam param); /** * 检测表是否存在 * * @param tableName tableName */ public String checkTable(@Param("tableName") String tableName); /** * 建表方法 * * @param tableName tableName * @param maps maps */ public void createTable(@Param("tableName") String tableName, @Param("tableComment") String tableComment, @Param("maps") List> maps, @Param("index") List> index); /** * 更新方法 * * @param tableName tableName * @param maps maps * @param id id */ public void updateById(@Param("tableName") String tableName, @Param("maps") List> maps, @Param("id") String id); /** * 更新方法 * * @param maps maps * @param api api * @param sql sql */ public void update(@Param("maps") List> maps, @Param("tableName") String api, @Param("sql") String sql); /** * 插入方法 * * @param tableName tableName * @param maps maps */ public void save(@Param("tableName") String tableName, @Param("maps") List> maps); /** * 插入方法 * * @param tableName tableName * @param keys keys * @param values values */ public void saveBatch(@Param("tableName") String tableName, @Param("keys") Collection keys, @Param("values") Collection> values); /** * 通用表数据获取 * * @param api 参数 * @param select 参数 * @param sql 参数 * @return list */ public List> list(@Param("select") String select, @Param("api") String api, @Param("sql") String sql); /** * 通用表数据获取,返回JosnObject * * @param api 参数 * @param select 参数 * @param sql 参数 * @return list */ public List listJsonObject(@Param("select") String select, @Param("api") String api, @Param("sql") String sql); /** * 通用表数据获取 * * @param api 参数 * @param select 参数 * @param sql 参数 * @return list */ public List listById(@Param("select") String select, @Param("api") String api, @Param("sql") String sql); /** * 通用表数据获取 * * @param api 参数 * @param select 参数 * @param id 参数 * @return map */ public Map getById(@Param("select") String select, @Param("api") String api, @Param("id") String id); public Integer countBySQL(@Param("api") String api, @Param("sql") String sql); public void delete(@Param("tableName") String tableName, @Param("ids") List ids); }