package com.qmth.sop.business.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qmth.sop.business.bean.result.SysLogResult;
import com.qmth.sop.business.entity.SysLog;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.sop.common.enums.LogTypeEnum;
import org.apache.ibatis.annotations.Param;

/**
 * <p>
 * 系统日志 服务类
 * </p>
 *
 * @author wangliang
 * @since 2023-08-01
 */
public interface SysLogService extends IService<SysLog> {

    /**
     * 日志分页查询
     *
     * @param startTime  开始时间
     * @param endTime    结束时间
     * @param content    内容
     * @param pageNumber 分页页数
     * @param pageSize   分页容量
     * @return 分页结果
     */
    IPage<SysLogResult> page(Long startTime, Long endTime, String content, int pageNumber, int pageSize);

    /**
     * 没有登录信息时记录用户操作（eg.用户登录）
     *
     * @param userId  用户id
     * @param detail  操作信息
     * @param logType 操作类型
     */
    void saveLogWithNoAuth(Long userId, String detail, LogTypeEnum logType);
}
