package com.yanzhu.jh.work.mapper;

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

import com.yanzhu.jh.work.domain.WorkFileUser;
import com.yanzhu.jh.work.domain.WorkFileUserLog;

/**
 * 文件访问用户Mapper接口
 * 
 * @author JiangYuQi
 * @date 2023-10-22
 */
public interface WorkFileUserMapper 
{
    /**
     * 查询文件访问用户
     * 
     * @param id 文件访问用户主键
     * @return 文件访问用户
     */
    public WorkFileUser selectWorkFileUserById(Long id);

    /**
     * 查询文件访问用户列表
     * 
     * @param workFileUser 文件访问用户
     * @return 文件访问用户集合
     */
    public List<WorkFileUser> selectWorkFileUserList(WorkFileUser workFileUser);

    /**
     * 统计文件访问用户列表
     *
     * @param workFileUser 文件访问用户
     * @return 文件访问用户集合
     */
    public List<Map<String,Object>> queryCountByDeptType(WorkFileUser workFileUser);

    /**
     * 新增文件访问用户
     * 
     * @param workFileUser 文件访问用户
     * @return 结果
     */
    public int insertWorkFileUser(WorkFileUser workFileUser);

    /**
     * 修改文件访问用户
     * 
     * @param workFileUser 文件访问用户
     * @return 结果
     */
    public int updateWorkFileUser(WorkFileUser workFileUser);

    /**
     * 删除文件访问用户
     * 
     * @param id 文件访问用户主键
     * @return 结果
     */
    public int deleteWorkFileUserById(Long id);

    /**
     * 批量删除文件访问用户
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWorkFileUserByIds(Long[] ids);

    /**
     * 批量删除文件访问用户记录
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWorkFileUserLogByFileUserIds(Long[] ids);
    
    /**
     * 批量新增文件访问用户记录
     * 
     * @param workFileUserLogList 文件访问用户记录列表
     * @return 结果
     */
    public int batchWorkFileUserLog(List<WorkFileUserLog> workFileUserLogList);
    

    /**
     * 通过文件访问用户主键删除文件访问用户记录信息
     * 
     * @param id 文件访问用户ID
     * @return 结果
     */
    public int deleteWorkFileUserLogByFileUserId(Long id);
}
