package org.dromara.business.service;

import org.dromara.business.domain.vo.CaseImportUserVo;
import org.dromara.business.domain.bo.CaseImportUserBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 用户导入记录Service接口
 *
 * @author wuzhigang
 * @date 2023-11-23
 */
public interface ICaseImportUserService {

    /**
     * 查询用户导入记录
     */
    CaseImportUserVo queryById(Long userId);

    /**
     * 查询用户导入记录列表
     */
    TableDataInfo<CaseImportUserVo> queryPageList(CaseImportUserBo bo, PageQuery pageQuery);

    /**
     * 查询用户导入记录列表
     */
    List<CaseImportUserVo> queryList(CaseImportUserBo bo);

    /**
     * 新增用户导入记录
     */
    Boolean insertByBo(CaseImportUserBo bo);

    /**
     * 修改用户导入记录
     */
    Boolean updateByBo(CaseImportUserBo bo);

    /**
     * 校验并批量删除用户导入记录信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     *csv用户批量导入
     *
     * @param boList
     * @return
     */
    boolean insertBatch(List<CaseImportUserBo> boList);

    /**
     * 批量更新
     * @return
     */
    boolean updateStatusBatch(List<CaseImportUserVo> boList);
}
