package com.m2pool.manage.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.m2pool.common.core.Result.R;
import com.m2pool.common.core.web.page.TableDataInfo;
import com.m2pool.manage.dto.ManageCatalogueDocumentDto;
import com.m2pool.manage.dto.ManageCatalogueDto;
import com.m2pool.manage.dto.ManageDocumentDto;
import com.m2pool.manage.entity.ManageDocuments;
import com.m2pool.manage.vo.ManageBaseVo;
import com.m2pool.manage.vo.ManageCatalogueVo;
import com.m2pool.manage.vo.ManageDocumentVo;
import com.m2pool.manage.vo.ManageSearchDocumentVo;

import java.util.List;


/**
 * @Description 广播信息 服务接口
 */
public interface ManageDocumentsService extends IService<ManageDocuments> {

    /**
     * @Description 管理系统:分页+条件查询所有的文档
     * @param manageSearchDocumentVo
     * @return
     */
    TableDataInfo<ManageDocumentDto> getListDataByPage( ManageSearchDocumentVo manageSearchDocumentVo);

    /**
     * @Description 业务系统:根据id获取对应的文档详情内容  + 管理系统:根据id获取文档详情，用于编辑修改文档
     * @param manageBaseVo
     * @return
     */
    R<ManageDocumentDto> findDataById(ManageBaseVo manageBaseVo);



    /**
     * @Description 管理系统:新增文档
     * @param manageDocumentVo
     * @return
     */
    R<String> addDocument( ManageDocumentVo manageDocumentVo);

    /**
     * @Description 管理系统:删除文档
     * @param manageBaseVo
     * @return
     */
    R<String> deleteDocument(ManageBaseVo manageBaseVo);

    /**
     * @Description 管理系统:修改文档
     * @param manageDocumentVo
     * @return
     */
    R<String> updateDocument(ManageDocumentVo manageDocumentVo);


    /**
     * @Description 管理系统:获取文档详情，用于编辑修改文档
     * @param manageBaseVo
     * @return
     */
    R<ManageDocumentDto> findDataInfo( ManageBaseVo manageBaseVo);



    /**
     * @Description 业务系统:获取文档目录列表
     * @param manageCatalogueVo
     * @return
     */
    TableDataInfo<ManageCatalogueDocumentDto> findCatalogueDocumentList(ManageCatalogueVo manageCatalogueVo);


    /**
     * @Description 业务系统:搜索文档
     * @param manageSearchDocumentVo
     * @return
     */
    TableDataInfo<ManageDocumentDto> searchDocument( ManageSearchDocumentVo manageSearchDocumentVo);


    /**
     * @Description 业务系统:获取文档目录列表 + 管理系统：目录下拉选择框
     * @return
     */
    R<List<ManageCatalogueDto>> findCatalogueList(ManageCatalogueVo manageCatalogueVo);
}
