feat: 添加SysLoginLogRepository数据访问层~
This commit is contained in:
+7
@@ -4,15 +4,22 @@ import cn.novalon.manage.sys.infrastructure.db.entity.SysLoginLogEntity;
|
||||
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 SysLoginLogDao extends R2dbcRepository<SysLoginLogEntity, Long> {
|
||||
|
||||
Flux<SysLoginLogEntity> findByUsername(String username);
|
||||
|
||||
Flux<SysLoginLogEntity> findByUsernameOrderByLoginTimeDesc(String username);
|
||||
|
||||
Flux<SysLoginLogEntity> findByLoginTimeBetweenOrderByLoginTimeDesc(LocalDateTime startTime, LocalDateTime endTime);
|
||||
|
||||
Flux<SysLoginLogEntity> findAllByOrderByLoginTimeDesc();
|
||||
|
||||
Mono<Long> count();
|
||||
|
||||
Mono<Long> countByUsername(String username);
|
||||
}
|
||||
|
||||
+70
@@ -0,0 +1,70 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.repository;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysLoginLog;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.SysLoginLogConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysLoginLogDao;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysLoginLogEntity;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Repository
|
||||
public class SysLoginLogRepository {
|
||||
|
||||
private final SysLoginLogDao dao;
|
||||
private final SysLoginLogConverter converter;
|
||||
|
||||
public SysLoginLogRepository(SysLoginLogDao dao, SysLoginLogConverter converter) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
}
|
||||
|
||||
public Mono<SysLoginLog> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Mono<SysLoginLog> save(SysLoginLog sysLoginLog) {
|
||||
return dao.save(converter.toEntity(sysLoginLog))
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.deleteById(id);
|
||||
}
|
||||
|
||||
public Flux<SysLoginLog> findAll() {
|
||||
return dao.findAll()
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysLoginLog> findByUsername(String username) {
|
||||
return dao.findByUsername(username)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysLoginLog> findByUsernameOrderByLoginTimeDesc(String username) {
|
||||
return dao.findByUsernameOrderByLoginTimeDesc(username)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysLoginLog> findByLoginTimeBetweenOrderByLoginTimeDesc(LocalDateTime startTime, LocalDateTime endTime) {
|
||||
return dao.findByLoginTimeBetweenOrderByLoginTimeDesc(startTime, endTime)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysLoginLog> findAllByOrderByLoginTimeDesc() {
|
||||
return dao.findAllByOrderByLoginTimeDesc()
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Long> countByUsername(String username) {
|
||||
return dao.countByUsername(username);
|
||||
}
|
||||
|
||||
public Mono<Long> count() {
|
||||
return dao.count();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user