/*
 * Author: wangjian
 * 生成Service
 */
package com.tofly.xrtygis.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tofly.pojo.GdglinfoExtendDto;
import com.tofly.xrtygis.entity.TfPublicLeakageInfo;
import com.tofly.xrtygis.entity.dto.PublicLeakageOrderDto;
import com.tofly.xrtygis.entity.dto.TfPublicLeakageInfoDto;
import com.tofly.xrtygis.entity.vo.TfPublicLeakageInfoCensusVo;
import com.tofly.xrtygis.exception.BusinessException;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 公众参与漏点信息管理
 *
 * @author admin
 * @date Thu Mar 24 00:00:00 CST 2022
 */
public interface TfPublicLeakageInfoService extends IService<TfPublicLeakageInfo> {

    List<TfPublicLeakageInfoCensusVo> getPublicCensus(TfPublicLeakageInfoDto tfPublicLeakageInfoDto);

    Page<TfPublicLeakageInfo> getTfPublicLeakageInfoPage(Page page, TfPublicLeakageInfoDto tfPublicLeakageInfoDto);

    boolean savePublicLeakageAudit(GdglinfoExtendDto gdglinfoExtendDto);

    boolean saveRewardWaterOder(PublicLeakageOrderDto dto, List<MultipartFile> fileList);

//    boolean updateNewPublicLeakage(TfPublicLeakageInfo tfPublicLeakageInfo);

    /**
     * 新增基本和详情信息
     * @param fileList
     * @param tfPublicLeakageInfo
     * @throws BusinessException
     */
    void savaTfPublicLeakageInfo(List<MultipartFile> fileList, TfPublicLeakageInfo tfPublicLeakageInfo) throws BusinessException;

//    /**
//     * 修改基本和详情信息
//     * @param fileList
//     * @param tfPublicLeakageInfo
//     * @throws BusinessException 抛出更新当前数据不存在
//     */
//    void updateTfPublicLeakageInfo(List<MultipartFile> fileList,TfPublicLeakageInfo tfPublicLeakageInfo) throws BusinessException;

    /**
     * 单个删除或批量删除信息
     * @param idList
     * @throws BusinessException 抛出删除对象不存在
     */
    void deleteTfPublicLeakageInfo(List<Long> idList) throws BusinessException;

}
