package com.skr.mdm.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.skr.mdm.bean.qo.log.UserLogQO;
import com.skr.mdm.bean.vo.system.UserLogVO;
import com.skr.mdm.entity.LogUserOnlineDO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 用户上线离线日志(LogUserOnline)表数据库访问层
 *
 * @author nfq
 * @since 2022-01-12 15:59:55
 */
@Repository
public interface LogUserOnlineDao extends BaseMapper<LogUserOnlineDO> {

    /**
     * 根据设备ID删除
     * @param equipmentIdList 设备ID集合
     */
    void deleteByEquipmentIdList(@Param("equipmentIdList") List<Integer> equipmentIdList);

    /**
     * 获取表数据量
     * @return 总数
     */
    Integer countAll();

    /**
     * 获取超出限制的数据ID
     * @param delCount 超出限制的数量
     * @return 超出限制的数据ID
     */
    List<Integer> listDelId(Integer delCount);


    /**
     * 批量新增数据（MyBatis原生foreach方法）
     *
     * @param entities List<LogUserOnline> 实例对象列表
     * @return 影响行数
     */
    int insertBatch(@Param("entities") List<LogUserOnlineDO> entities);

    /**
     * 日志列表
     *
     * @param userLogQO
     * @return
     */
    List<UserLogVO> list(UserLogQO userLogQO);

}

