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.expired.ScratchFileDelVO;
import com.skr.mdm.bean.vo.system.UserLogVO;
import com.skr.mdm.entity.LogUserDO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author nfq
 * @date 2022-12-09 18:29
 */
@Repository
public interface LogUserDao extends BaseMapper<LogUserDO> {

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

	/**
	 * 获取过期的文件地址
	 * @param expireDate 过期日期
	 * @return 过期的文件地址
	 */
	List<String> listDelFileUrl(@Param("expireDate") String expireDate);

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

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

	/**
	 * 批量插入
	 * @param list
	 */
	void insertBatch(@Param("list") List<LogUserDO> list);

	List<UserLogVO> listUserLogVO(UserLogQO userLogQO);

	List<ScratchFileDelVO> queryDelData(@Param("companyId") Integer companyId, @Param("expireTime") String expireTime);
}