package com.ssj.service.es.service;

import com.ssj.bean.es.domain.EsDataRecode;
import com.ssj.framework.core.common.service.BaseService;
import com.ssj.framework.core.util.ResponseEntity;

import java.util.List;

/**
 * @author sh
 * @className IEsDataRecode
 * @description es recode
 * @date 2020/4/29
 */
public interface IEsDataRecodeService extends BaseService<EsDataRecode,String> {


    /**
     * 是否需要加载数据、
     * @param beginDate 开始时间
     * @param loadDate 时间 限制上月前
     * @param indexName 索引名 限制小写字母+数字
     * @param apiName 接口中文描述
     * @param list 如果需要加载，加载的数据
     * @param <T>
     * @return
     */
    <T> ResponseEntity findIsLoadEs(String beginDate,String loadDate, String indexName, String apiName, List<T> list);

    /**
     * 加载数据进es
     * @param beginDate 开始时间
     * @param loadDate 结束时间
     * @param indexName 索引名
     * @param apiName 接口中文名
     * @param clazz 查询返回的实体
     * @param methodName 需要查询的方法
     * @param count 查询数量
     * @param <T> class
     * @return
     */
    <T> ResponseEntity loadDataToEs(String beginDate,String loadDate, String indexName, String apiName, Class<T> clazz,String methodName,int count);

}
