feat: 添加SysUserMessageRepository数据访问层~
This commit is contained in:
+6
@@ -13,5 +13,11 @@ public interface SysUserMessageDao extends R2dbcRepository<SysUserMessageEntity,
|
||||
|
||||
Flux<SysUserMessageEntity> findByUserIdOrderByCreateTimeDesc(Long userId);
|
||||
|
||||
Flux<SysUserMessageEntity> findByDeletedAtIsNull();
|
||||
|
||||
Mono<Long> countByUserIdAndIsRead(Long userId, String isRead);
|
||||
|
||||
Mono<Long> countByDeletedAtIsNull();
|
||||
|
||||
Mono<Void> deleteByIdAndDeletedAtIsNull(Long id);
|
||||
}
|
||||
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.repository;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysUserMessage;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.SysUserMessageConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysUserMessageDao;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysUserMessageEntity;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
@Repository
|
||||
public class SysUserMessageRepository {
|
||||
|
||||
private final SysUserMessageDao dao;
|
||||
private final SysUserMessageConverter converter;
|
||||
|
||||
public SysUserMessageRepository(SysUserMessageDao dao, SysUserMessageConverter converter) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
}
|
||||
|
||||
public Mono<SysUserMessage> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Mono<SysUserMessage> save(SysUserMessage sysUserMessage) {
|
||||
return dao.save(converter.toEntity(sysUserMessage))
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.deleteById(id);
|
||||
}
|
||||
|
||||
public Flux<SysUserMessage> findByUserIdAndIsReadOrderByCreateTimeDesc(Long userId, String isRead) {
|
||||
return dao.findByUserIdAndIsReadOrderByCreateTimeDesc(userId, isRead)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysUserMessage> findByUserIdOrderByCreateTimeDesc(Long userId) {
|
||||
return dao.findByUserIdOrderByCreateTimeDesc(userId)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysUserMessage> findAll() {
|
||||
return dao.findByDeletedAtIsNull()
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Long> countByUserIdAndIsRead(Long userId, String isRead) {
|
||||
return dao.countByUserIdAndIsRead(userId, isRead);
|
||||
}
|
||||
|
||||
public Mono<Long> count() {
|
||||
return dao.countByDeletedAtIsNull();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user