diff --git a/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/infrastructure/db/dao/SysExceptionLogDao.java b/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/infrastructure/db/dao/SysExceptionLogDao.java index e5d691c..2199c7d 100644 --- a/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/infrastructure/db/dao/SysExceptionLogDao.java +++ b/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/infrastructure/db/dao/SysExceptionLogDao.java @@ -4,15 +4,22 @@ import cn.novalon.manage.sys.infrastructure.db.entity.SysExceptionLogEntity; import org.springframework.data.r2dbc.repository.R2dbcRepository; import org.springframework.stereotype.Repository; import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; import java.time.LocalDateTime; @Repository public interface SysExceptionLogDao extends R2dbcRepository { + Flux findByUsername(String username); + Flux findByUsernameOrderByCreateTimeDesc(String username); Flux findByCreateTimeBetweenOrderByCreateTimeDesc(LocalDateTime startTime, LocalDateTime endTime); Flux findAllByOrderByCreateTimeDesc(); + + Mono count(); + + Mono countByUsername(String username); } diff --git a/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/infrastructure/db/repository/SysExceptionLogRepository.java b/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/infrastructure/db/repository/SysExceptionLogRepository.java new file mode 100644 index 0000000..08e4170 --- /dev/null +++ b/novalon-manage-api/manage-sys/src/main/java/cn/novalon/manage/sys/infrastructure/db/repository/SysExceptionLogRepository.java @@ -0,0 +1,70 @@ +package cn.novalon.manage.sys.infrastructure.db.repository; + +import cn.novalon.manage.sys.core.domain.SysExceptionLog; +import cn.novalon.manage.sys.infrastructure.db.converter.SysExceptionLogConverter; +import cn.novalon.manage.sys.infrastructure.db.dao.SysExceptionLogDao; +import cn.novalon.manage.sys.infrastructure.db.entity.SysExceptionLogEntity; +import org.springframework.stereotype.Repository; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +import java.time.LocalDateTime; + +@Repository +public class SysExceptionLogRepository { + + private final SysExceptionLogDao dao; + private final SysExceptionLogConverter converter; + + public SysExceptionLogRepository(SysExceptionLogDao dao, SysExceptionLogConverter converter) { + this.dao = dao; + this.converter = converter; + } + + public Mono findById(Long id) { + return dao.findById(id) + .map(converter::toDomain); + } + + public Mono save(SysExceptionLog sysExceptionLog) { + return dao.save(converter.toEntity(sysExceptionLog)) + .map(converter::toDomain); + } + + public Mono deleteById(Long id) { + return dao.deleteById(id); + } + + public Flux findAll() { + return dao.findAll() + .map(converter::toDomain); + } + + public Flux findByUsername(String username) { + return dao.findByUsername(username) + .map(converter::toDomain); + } + + public Flux findByUsernameOrderByCreateTimeDesc(String username) { + return dao.findByUsernameOrderByCreateTimeDesc(username) + .map(converter::toDomain); + } + + public Flux findByCreateTimeBetweenOrderByCreateTimeDesc(LocalDateTime startTime, LocalDateTime endTime) { + return dao.findByCreateTimeBetweenOrderByCreateTimeDesc(startTime, endTime) + .map(converter::toDomain); + } + + public Flux findAllByOrderByCreateTimeDesc() { + return dao.findAllByOrderByCreateTimeDesc() + .map(converter::toDomain); + } + + public Mono countByUsername(String username) { + return dao.countByUsername(username); + } + + public Mono count() { + return dao.count(); + } +}