package org.xyzh.api.system.service;


import java.util.List;

import org.xyzh.api.system.dto.TbSysLogDTO;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.core.page.PageRequest;

/**
 * @description    系统日志服务
 * @filename    LogService.java
 * @author    yslg
 * @copyright yslg
 * @since 2026-01-01
 */
public interface LogService {
    
    /**
     * @description   统计系统日志
     * @param    sysLog
     * @return    返回值描述
     * @author    yslg
     * @since 2026-01-01
     */
    ResultDomain<TbSysLogDTO> addSysLog(TbSysLogDTO sysLog);

    /**
     * @description    统计日志数量
     * @param    filter
     * @return    返回值描述
     * @author    yslg
     * @since 2026-01-01
     */
    ResultDomain<Integer> countSysLog(TbSysLogDTO filter);

    /**
     * @description    获取日志列表
     * @param    filter
     * @return    日志列表
     * @author    yslg
     * @since 2026-01-01
     */
    ResultDomain<TbSysLogDTO> getSysLogList(TbSysLogDTO filter);

    /**
     * @description    获取日志分页
     * @param    pageRequest
     * @return    日志分页
     * @author    yslg
     * @since 2026-01-01
     */
    ResultDomain<TbSysLogDTO> getSysLogPage(PageRequest<TbSysLogDTO> pageRequest);
}
