package com.mosty.operation.log.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mosty.common.base.entity.log.SysOperLog;
import org.apache.ibatis.annotations.Param;

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

/**
 * 操作日志 数据层
 *
 * @author ruoyi
 */
public interface SysOperLogMapper extends BaseMapper<SysOperLog> {

    // 新增操作日志
    void insertOperlog(SysOperLog operLog);

    // 查询系统操作日志集合
    List<SysOperLog> selectOperLogList(SysOperLog operLog);

    // 批量删除系统操作日志
    int deleteOperLogByIds(String[] ids);

    // 查询操作日志详细
    SysOperLog selectOperLogById(Long operId);

    // 清空操作日志
    void cleanOperLog();

    // 查询使用次数
    int getSycs(@Param("kssj") String kssj,
                @Param("jssj") String jssj,
                @Param("useSql") String useSql,
                @Param("status") String status);

    // 查询访问人数
    int getFwrs(@Param("kssj") String kssj,
                @Param("jssj") String jssj,
                @Param("useSql") String useSql);

    // 部门排名统计
    List<Map<String, Object>> bmStatistics(@Param("kssj") String kssj,
                                           @Param("jssj") String jssj,
                                           @Param("aUseSql") String aUseSql,
                                           @Param("bUseSql") String bUseSql);

    // 人员排名统计
    List<Map<String, Object>> ryStatistics(@Param("kssj") String kssj,
                                           @Param("jssj") String jssj,
                                           @Param("aUseSql") String aUseSql,
                                           @Param("bUseSql") String bUseSql);

    // 模块排名统计
    List<Map<String, Object>> mkStatistics(@Param("kssj") String kssj,
                                           @Param("jssj") String jssj,
                                           @Param("aUseSql") String aUseSql,
                                           @Param("bUseSql") String bUseSql);
}