package com.supervision.service;

import com.supervision.domain.IrSessionParam;
import com.supervision.dto.QueryProcessDTO;
import com.supervision.dto.robot.ParamCheckDTO;

import java.util.List;
import java.util.function.Supplier;


/**
 * 通过问询模板查询数据，并返回结果模板
 */
public interface QueryTemplateProcessor {



    /**
     * 根据会话id和模板id获取查询数据
     * @param templateId 模板id
     * @param sessionId 会话id
     * @param sessionParamSupplier 会话参数
     * @return 经过模板处理后的结果
     */
   QueryProcessDTO process(String templateId, String sessionId, Supplier<List<IrSessionParam>> sessionParamSupplier);


    List<ParamCheckDTO> paramCheck(String templateId, String sessionId, List<IrSessionParam> sessionParams);

}
