package com.securitycontrol.system.mapper;

import cn.afterturn.easypoi.excel.entity.ExportExcelItem;
import com.securitycontrol.system.api.domain.SysLog;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author：cwchen
 * @date：2024-02-28-14:03
 * @version：1.0
 * @description：系统日志-数据库访问层
 */
@Repository(value = "ISysLogMapper")
public interface ISysLogMapper {

    /**
     * 保存系统日志
     *
     * @param sysLog
     * @description 保存系统日志
     * @author cwchen
     * @date 2024/2/28 14:35
     */
    void saveLogs(SysLog sysLog);

    /**
     * 查询日志
     * @param dto
     * @return
     */
    List<SysLog> getSystemLogs(SysLog dto);


    /**
     * 查询日志容量
     * @return
     */
    String getLogsSet();

    /**
     * 数据插入
     * @param capacity
     */
    void setLogsSet(String capacity);

    /**
     * 更新数据
     * @param capacity
     */
    void updateLogsSet(String capacity);

    /**
     * 采茶戏
     * @param dto
     * @return
     */
   int  getLogStatistics(SysLog dto);

    /**
     * 按照类型查询
     * @param dto
     * @return
     */
    List<SysLog> getLogsList(SysLog dto);

    /**
     * 通过 方法查找模块
     * @param operUri
     * @return
     */
    SysLog getModule(@Param("module") String operUri);

    /**
     * 查询当日异常告警数量
     * @return
     */
    int getErrorLogs();

    /**
     * 查询日志容量
     * @return
     */
    String getLogsRl();

    /**
     * 查询全部日志细腻系
     * @param dto
     * @return
     */
    List<SysLog> getAllLogs(SysLog dto);

    /**
     * 查询
     * @param sysLog
     * @return
     */
    String getModuleName(SysLog sysLog);

    /**
     * 检查模块是否存在
     * @param sysLog
     * @return
     */
    String getModuleIsc(SysLog sysLog);

}
