package com.mosty.operation.log.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mosty.common.base.entity.log.SysOperLog;
import com.mosty.operation.log.entity.VO.OperlogPage;
import com.mosty.operation.log.mapper.SysOperLogMapper;
import com.mosty.operation.log.util.Convert;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

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

/**
 * 操作日志 服务层处理
 *
 * @author ruoyi
 */
@Service
public interface SysOperLogService extends IService<SysOperLog> {

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

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

    // 批量删除系统操作日志
    void deleteOperLogByIds(List<Long> ids);

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

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

    //分页查询
    IPage<SysOperLog> selectByPage(OperlogPage operLog);

    // 系统使用情况统计数字
    Map<String, Object> statistics(String type);

    // 部门排名统计TOP10
    List<Map<String, Object>> bmStatistics(String type);

    // 人员排名统计TOP10
    List<Map<String, Object>> ryStatistics(String type);

    // 模块排名统计
    List<Map<String, Object>> mkStatistics(String type);
}