package cn.ezhizao.project.business.recycleBin.service;

import java.util.List;
import java.util.Map;

import cn.ezhizao.project.business.company.domain.BizCompany;
import cn.ezhizao.project.business.recycleBin.domain.BizRecycleBin;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 回收站Service接口
 *
 * @author ruoyi
 * @date 2023-11-02
 */
public interface IBizRecycleBinService extends IService<BizRecycleBin>
{
    /**
     * 查询回收站列表
     *
     * @param bizRecycleBin 回收站
     * @return 回收站集合
     */
    public List<BizRecycleBin> getList(BizRecycleBin bizRecycleBin);

    /**
     * 物理删除
     * @param bizRecycleBin
     * @return 删除结果
     */
    public int physicalDelete(BizRecycleBin bizRecycleBin);

    /**
     * 删除客户关联的子表数据
     * @param id
     */
    void deleteData(Long id, String[] tabs);

    /**
     * 查询客户子表id
     * @param id
     */
    Long getChildById(Long id, String tab);
    List<BizRecycleBin> getChildIdsByParentId(List<Map<String, Object>> tabs);

    /** 还原回收站
     * @return*/
    int restore(List<Long> ids);

    /** 清除回收站 */
    int remove(List<Long> ids);

}
