feat: 添加SysExceptionLogRepository数据访问层~

This commit is contained in:
张翔
2026-03-12 07:38:04 +08:00
parent 80b3ba17c6
commit 38fe0079d5
2 changed files with 77 additions and 0 deletions
@@ -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<SysExceptionLogEntity, Long> {
Flux<SysExceptionLogEntity> findByUsername(String username);
Flux<SysExceptionLogEntity> findByUsernameOrderByCreateTimeDesc(String username);
Flux<SysExceptionLogEntity> findByCreateTimeBetweenOrderByCreateTimeDesc(LocalDateTime startTime, LocalDateTime endTime);
Flux<SysExceptionLogEntity> findAllByOrderByCreateTimeDesc();
Mono<Long> count();
Mono<Long> countByUsername(String username);
}
@@ -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<SysExceptionLog> findById(Long id) {
return dao.findById(id)
.map(converter::toDomain);
}
public Mono<SysExceptionLog> save(SysExceptionLog sysExceptionLog) {
return dao.save(converter.toEntity(sysExceptionLog))
.map(converter::toDomain);
}
public Mono<Void> deleteById(Long id) {
return dao.deleteById(id);
}
public Flux<SysExceptionLog> findAll() {
return dao.findAll()
.map(converter::toDomain);
}
public Flux<SysExceptionLog> findByUsername(String username) {
return dao.findByUsername(username)
.map(converter::toDomain);
}
public Flux<SysExceptionLog> findByUsernameOrderByCreateTimeDesc(String username) {
return dao.findByUsernameOrderByCreateTimeDesc(username)
.map(converter::toDomain);
}
public Flux<SysExceptionLog> findByCreateTimeBetweenOrderByCreateTimeDesc(LocalDateTime startTime, LocalDateTime endTime) {
return dao.findByCreateTimeBetweenOrderByCreateTimeDesc(startTime, endTime)
.map(converter::toDomain);
}
public Flux<SysExceptionLog> findAllByOrderByCreateTimeDesc() {
return dao.findAllByOrderByCreateTimeDesc()
.map(converter::toDomain);
}
public Mono<Long> countByUsername(String username) {
return dao.countByUsername(username);
}
public Mono<Long> count() {
return dao.count();
}
}