package cn.estsh.i3plus.core.api.iservice.busi;

import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysFile;
import io.swagger.annotations.ApiOperation;

import java.util.List;

/**
 * @Description : 文件资源服务服务接口
 * @Reference :
 * @Author : yunhao
 * @Date : 2018-10-25 16:20
 * @Modify :
 **/
public interface ISysFileService {

    /**
     * 添加文件资源信息
     * @param sysFile
     */
    @ApiOperation(value = "新增资源信息")
    SysFile insertSysFile(SysFile sysFile);

    /**
     * 修改文件资源信息
     * @param sysFile
     */
    @ApiOperation(value = "更新资源信息")
    void updateSysFile(SysFile sysFile);

    /**
     * 查询全部文件资源信息
     * @return
     */
    @ApiOperation(value = "查询资源信息",notes = "查询所有资源信息")
    List<SysFile> listSysFile();

    /**
     * 根据id查询文件资源信息
     * @param id
     * @return
     */
    @ApiOperation(value = "查询资源信息",notes = "根据 ID查询资源信息")
    SysFile getSysFileById(Long id);

    /**
     * 文件资源查询，分页，排序
     * @param sysFile
     * @param pager
     * @return
     */
    @ApiOperation(value = "查询资源信息",notes = "查询资源信息(分页、组合)")
    ListPager querySysFileByPager(SysFile sysFile, Pager pager);

    /**
     * 删除文件资源小新
     * @param id
     */
    @ApiOperation(value = "删除资源信息",notes = "根据ID删除资源信息")
    void deleteSysFileById(Long id);

    /**
     * 批量删除文件资源
     * @param ids
     */
    @ApiOperation(value = "删除资源信息",notes = "根据ID批量删除资源信息")
    void deleteSysFileByIds(Long[] ids);

    /**
     * 上传文件资源
     * @param file
     */
    @ApiOperation(value = "上传文件资源",notes = "上传文件资源")
    SysFile uploadFile(Object file) throws Exception;
}
