package cn.stylefeng.team.project.modular.businessrender.service;

import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.team.project.api.FormDataServiceApi;
import cn.stylefeng.team.project.api.pojo.BusinessRenderDetailVo;
import cn.stylefeng.team.project.api.pojo.BusinessSearchRequest;
import cn.stylefeng.team.project.modular.business.pojo.request.BusinessDeleteBatchRequest;
import cn.stylefeng.team.project.modular.business.pojo.request.BusinessDeleteRequest;
import cn.stylefeng.team.project.modular.businessrender.pojo.request.BusinessRenderDetailRequest;
import cn.stylefeng.team.view.api.pojo.ViewConfig;

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

public interface BusinessRenderService extends FormDataServiceApi {

    PageResult<Map<String, Object>> getViewPageData(BusinessSearchRequest businessRenderRequest);

    BusinessRenderDetailVo getDetail(BusinessRenderDetailRequest businessRenderDetailRequest);

    void deleteBusiness(BusinessDeleteRequest businessDeleteRequest);

    void deleteBusinessBatch(BusinessDeleteBatchRequest businessDeleteBatchRequest);

    void exportData(BusinessSearchRequest businessSearchRequest);

    PageResult<Map<String, Object>> commonGetViewPageResult(BusinessSearchRequest businessRenderRequest, ViewConfig viewConfig, String finalSql);

    void createExcelFileAndDownload(List<Map<String, Object>> totalExportData, ViewConfig viewConfig);

}
