package com.sptg.estate.biz.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.sptg.common.core.beans.ResultBean;
import com.sptg.estate.api.dto.PratiqueDto;
import com.sptg.estate.api.entity.Pratique;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * title: PratiqueServiceInterface
 * package: com.sptg.estate.biz.security
 * description: 防疫通行 服务层接口
 */
@Service
public interface PratiqueServiceInterface extends IService<Pratique> {

    /**
     * 功能描述:防疫通行列表查询
     *
     * @param pratiqueDto 防疫通行业务对象（含分页及查询条件）
     * @return ResultBean<Page < Pratique>>
     */
    ResultBean<Page<Pratique>> showPratiqueList(PratiqueDto pratiqueDto);

    /**
     * 功能描述:添加防疫通行
     *
     * @param pratiqueDto 防疫通行业务对象
     * @return ResultBean<Boolean>
     */
    ResultBean<Pratique> addPratique(PratiqueDto pratiqueDto);

    /**
     * 功能描述:根据Id查找防疫通行
     *
     * @param id 必填
     * @return Pratique
     */
    Pratique findPratiqueById(Long id);


    /**
     * 功能描述:编辑防疫通行
     *
     * @param pratiqueDto 防疫通行业务对象
     * @return ResultBean<Boolean>
     */
    ResultBean<Boolean> updatePratique(PratiqueDto pratiqueDto);

    /**
     * 功能描述:根据Id删除防疫通行
     *
     * @param pratiqueDto 防疫通行业务对象
     * @return ResultBean<Boolean>
     */
    ResultBean<Boolean> deletePratique(PratiqueDto pratiqueDto);


    /**
     * 功能描述:根据Id集合批量删除防疫通行
     *
     * @param pratiqueDto 防疫通行业务对象
     * @return ResultBean<Boolean>
     * @throws Exception
     */
    ResultBean<Boolean> deletePratiqueList(PratiqueDto pratiqueDto) throws Exception;

    List<Pratique> getListByCondition(PratiqueDto pratiqueDto);


}
