package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.FloodCase;
import org.springframework.web.multipart.MultipartFile;

/**
 * 洪水案例库Service接口
 *
 * @author jackeyhuang
 * @version 1.0.0
 * @date 2025-01-27
 */
public interface IFloodCaseService
{
    /**
     * 查询洪水案例库
     *
     * @param caseId 洪水案例库主键
     * @return 洪水案例库
     */
    public FloodCase selectFloodCaseByCaseId(Long caseId);

    /**
     * 查询洪水案例库列表
     *
     * @param floodCase 洪水案例库
     * @return 洪水案例库集合
     */
    public List<FloodCase> selectFloodCaseList(FloodCase floodCase);

    /**
     * 新增洪水案例库
     *
     * @param floodCase 洪水案例库
     * @return 结果
     */
    public int insertFloodCase(FloodCase floodCase);

    /**
     * 修改洪水案例库
     *
     * @param floodCase 洪水案例库
     * @return 结果
     */
    public int updateFloodCase(FloodCase floodCase);

    /**
     * 批量删除洪水案例库
     *
     * @param caseIds 需要删除的洪水案例库主键集合
     * @return 结果
     */
    public int deleteFloodCaseByCaseIds(Long[] caseIds);

    /**
     * 删除洪水案例库信息
     *
     * @param caseId 洪水案例库主键
     * @return 结果
     */
    public int deleteFloodCaseByCaseId(Long caseId);

    /**
     * 导入洪水案例数据
     *
     * @param file 上传的文件
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importFloodCase(MultipartFile file, Boolean isUpdateSupport, String operName);

    /**
     * 统计案例库总数
     *
     * @return 案例库总数
     */
    public int countFloodCase();
}
