package com.clx.performance.service.export;

import com.clx.performance.param.pc.export.SaveExportTemplateParam;
import com.clx.performance.vo.pc.export.ExportFieldVo;
import com.clx.performance.vo.pc.export.ExportTemplateDetailVo;
import com.clx.performance.vo.pc.export.ExportTemplateVo;
import com.msl.common.base.Optional;

import java.util.List;

public interface ExportFieldService {


    List<ExportTemplateVo> listUserFunctionTemplate(String functionCode);

    List<ExportTemplateVo> listUserFunctionsTemplate(List<String> functionCodes);

    Optional<ExportTemplateDetailVo> getTemplateDetail(Integer id);

    List<ExportFieldVo> listFieldByTemplate(Integer templateId);

    Integer saveTemplate(SaveExportTemplateParam param);

    void deleteTemplate(Integer id);

    void updateTemplateName(Integer templateId, String name);

    void updateTemplateDefaultFlag(Integer templateId);

    void updateTemplateFields(Integer id, List<Integer> fieldIds);

    List<ExportFieldVo> listFieldByFunctionCode(String functionCode);

}
