package com.reading.platform.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.reading.platform.entity.OperationLog;

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

/**
 * 操作日志服务接口
 */
public interface OperationLogService extends IService<OperationLog> {

    /**
     * 获取操作日志分页
     */
    Page<OperationLog> getLogs(int pageNum, int pageSize, String tenantId, String module);

    /**
     * 获取操作日志分页（带日期范围）
     */
    Page<OperationLog> getLogs(int pageNum, int pageSize, String tenantId, String module, String startDate, String endDate);

    /**
     * 获取模块统计
     */
    List<Map<String, Object>> getModuleStats(String tenantId, String startDate, String endDate);

    /**
     * 根据 ID 获取操作日志
     */
    OperationLog getLogById(String id);

    /**
     * 记录操作日志
     */
    void log(String action, String module, String targetType, String targetId, String details);
}
