package cn.novalon.gym.manage.sys.core.service;

import cn.novalon.gym.manage.sys.core.domain.SysExceptionLog;
import cn.novalon.gym.manage.common.dto.PageRequest;
import cn.novalon.gym.manage.common.dto.PageResponse;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

import java.time.LocalDateTime;

public interface ISysExceptionLogService {
    Mono<SysExceptionLog> findById(Long id);
    Flux<SysExceptionLog> findAll();
    Flux<SysExceptionLog> findByUsername(String username);
    Flux<SysExceptionLog> findByCreateTimeBetween(LocalDateTime startTime, LocalDateTime endTime);
    Mono<SysExceptionLog> save(SysExceptionLog exceptionLog);
    Mono<PageResponse<SysExceptionLog>> findExceptionLogsByPage(PageRequest pageRequest);
    Mono<Long> count();
}
