refactor(domain): 将领域模型移动到common模块
重构项目结构,将分散在各模块的领域模型统一移动到manage-common模块 更新相关依赖和引用路径 调整docker-compose配置和测试标记 添加新的Playwright测试配置 优化Dockerfile构建过程
This commit is contained in:
+5
-1
@@ -1,12 +1,16 @@
|
||||
package cn.novalon.manage.sys;
|
||||
|
||||
import cn.novalon.manage.sys.config.JwtProperties;
|
||||
import cn.novalon.manage.common.config.JwtProperties;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.data.r2dbc.repository.config.EnableR2dbcRepositories;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableConfigurationProperties(JwtProperties.class)
|
||||
@ComponentScan(basePackages = {"cn.novalon.manage.sys", "cn.novalon.manage.db"})
|
||||
@EnableR2dbcRepositories(basePackages = "cn.novalon.manage.db.dao")
|
||||
public class ManageSysApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(ManageSysApplication.class, args);
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.core.service;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.Dictionary;
|
||||
import cn.novalon.manage.common.domain.Dictionary;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.core.service;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.OperationLog;
|
||||
import cn.novalon.manage.common.domain.OperationLog;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.core.service;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysConfig;
|
||||
import cn.novalon.manage.common.domain.SysConfig;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.core.service;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysDictData;
|
||||
import cn.novalon.manage.common.domain.SysDictData;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.core.service;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysDictType;
|
||||
import cn.novalon.manage.common.domain.SysDictType;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
package cn.novalon.manage.sys.core.service;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysExceptionLog;
|
||||
import cn.novalon.manage.sys.dto.request.PageRequest;
|
||||
import cn.novalon.manage.sys.dto.response.PageResponse;
|
||||
import cn.novalon.manage.common.domain.SysExceptionLog;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageResponse;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.core.service;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysFile;
|
||||
import cn.novalon.manage.common.domain.SysFile;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
import org.springframework.http.codec.multipart.FilePart;
|
||||
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
package cn.novalon.manage.sys.core.service;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysLoginLog;
|
||||
import cn.novalon.manage.sys.dto.request.PageRequest;
|
||||
import cn.novalon.manage.sys.dto.response.PageResponse;
|
||||
import cn.novalon.manage.common.domain.SysLoginLog;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageResponse;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.core.service;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysMenu;
|
||||
import cn.novalon.manage.common.domain.SysMenu;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.core.service;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysNotice;
|
||||
import cn.novalon.manage.common.domain.SysNotice;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
package cn.novalon.manage.sys.core.service;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysRole;
|
||||
import cn.novalon.manage.sys.dto.request.PageRequest;
|
||||
import cn.novalon.manage.sys.dto.response.PageResponse;
|
||||
import cn.novalon.manage.common.domain.SysRole;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageResponse;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.core.service;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysUserMessage;
|
||||
import cn.novalon.manage.common.domain.SysUserMessage;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
package cn.novalon.manage.sys.core.service;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysUser;
|
||||
import cn.novalon.manage.sys.dto.request.PageRequest;
|
||||
import cn.novalon.manage.sys.dto.response.PageResponse;
|
||||
import cn.novalon.manage.common.domain.SysUser;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageResponse;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
|
||||
+15
-26
@@ -1,10 +1,9 @@
|
||||
package cn.novalon.manage.sys.core.service.impl;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.Dictionary;
|
||||
import cn.novalon.manage.common.domain.Dictionary;
|
||||
import cn.novalon.manage.sys.core.exception.DictionaryAlreadyExistsException;
|
||||
import cn.novalon.manage.db.repository.DictionaryRepository;
|
||||
import cn.novalon.manage.sys.core.service.IDictionaryService;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.DictionaryConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.DictionaryDao;
|
||||
import org.springframework.stereotype.Service;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
@@ -14,37 +13,30 @@ import java.time.LocalDateTime;
|
||||
@Service
|
||||
public class DictionaryService implements IDictionaryService {
|
||||
|
||||
private final DictionaryDao dao;
|
||||
private final DictionaryConverter converter;
|
||||
private final DictionaryRepository repository;
|
||||
|
||||
public DictionaryService(DictionaryDao dao, DictionaryConverter converter) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
public DictionaryService(DictionaryRepository repository) {
|
||||
this.repository = repository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<Dictionary> findAll() {
|
||||
return dao.findByDeletedAtIsNullOrderBySortAsc()
|
||||
.map(converter::toDomain);
|
||||
return repository.findAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Dictionary> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.map(converter::toDomain);
|
||||
return repository.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<Dictionary> findByType(String type) {
|
||||
return dao.findByType(type)
|
||||
.map(converter::toDomain);
|
||||
return repository.findByType(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Boolean> checkTypeAndCodeExists(String type, String code) {
|
||||
return dao.findByTypeAndCode(type, code)
|
||||
.map(entity -> true)
|
||||
.defaultIfEmpty(false);
|
||||
return repository.existsByTypeAndCode(type, code);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -57,18 +49,16 @@ public class DictionaryService implements IDictionaryService {
|
||||
return Mono.error(new DictionaryAlreadyExistsException(dictionary.getType(), dictionary.getCode()));
|
||||
}
|
||||
dictionary.setUpdatedAt(LocalDateTime.now());
|
||||
return dao.save(converter.toEntity(dictionary))
|
||||
.map(converter::toDomain);
|
||||
return repository.save(dictionary);
|
||||
});
|
||||
}
|
||||
dictionary.setUpdatedAt(LocalDateTime.now());
|
||||
return dao.save(converter.toEntity(dictionary))
|
||||
.map(converter::toDomain);
|
||||
return repository.save(dictionary);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Dictionary> update(Long id, Dictionary dictionary) {
|
||||
return dao.findById(id)
|
||||
return repository.findById(id)
|
||||
.flatMap(existing -> {
|
||||
if (dictionary.getName() != null) {
|
||||
existing.setName(dictionary.getName());
|
||||
@@ -83,13 +73,12 @@ public class DictionaryService implements IDictionaryService {
|
||||
existing.setSort(dictionary.getSort());
|
||||
}
|
||||
existing.setUpdatedAt(LocalDateTime.now());
|
||||
return dao.save(existing);
|
||||
})
|
||||
.map(converter::toDomain);
|
||||
return repository.save(existing);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.deleteByIdAndDeletedAtIsNull(id);
|
||||
return repository.deleteById(id);
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
package cn.novalon.manage.sys.core.service.impl;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.OperationLog;
|
||||
import cn.novalon.manage.sys.core.repository.IOperationLogRepository;
|
||||
import cn.novalon.manage.common.domain.OperationLog;
|
||||
import cn.novalon.manage.db.repository.OperationLogRepository;
|
||||
import cn.novalon.manage.sys.core.service.IOperationLogService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import reactor.core.publisher.Flux;
|
||||
@@ -12,9 +12,9 @@ import java.time.LocalDateTime;
|
||||
@Service
|
||||
public class OperationLogService implements IOperationLogService {
|
||||
|
||||
private final IOperationLogRepository logRepository;
|
||||
private final OperationLogRepository logRepository;
|
||||
|
||||
public OperationLogService(IOperationLogRepository logRepository) {
|
||||
public OperationLogService(OperationLogRepository logRepository) {
|
||||
this.logRepository = logRepository;
|
||||
}
|
||||
|
||||
|
||||
+10
-17
@@ -1,9 +1,8 @@
|
||||
package cn.novalon.manage.sys.core.service.impl;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysConfig;
|
||||
import cn.novalon.manage.common.domain.SysConfig;
|
||||
import cn.novalon.manage.db.repository.ISysConfigRepository;
|
||||
import cn.novalon.manage.sys.core.service.ISysConfigService;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.SysConfigConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysConfigDao;
|
||||
import org.springframework.stereotype.Service;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
@@ -11,41 +10,35 @@ import reactor.core.publisher.Mono;
|
||||
@Service
|
||||
public class SysConfigService implements ISysConfigService {
|
||||
|
||||
private final SysConfigDao dao;
|
||||
private final SysConfigConverter converter;
|
||||
private final ISysConfigRepository repository;
|
||||
|
||||
public SysConfigService(SysConfigDao dao, SysConfigConverter converter) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
public SysConfigService(ISysConfigRepository repository) {
|
||||
this.repository = repository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysConfig> findAll() {
|
||||
return dao.findByDeletedAtIsNull()
|
||||
.map(converter::toDomain);
|
||||
return repository.findByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysConfig> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.map(converter::toDomain);
|
||||
return repository.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysConfig> findByConfigKey(String configKey) {
|
||||
return dao.findByConfigKeyAndDeletedAtIsNull(configKey)
|
||||
.map(converter::toDomain);
|
||||
return repository.findByConfigKeyAndDeletedAtIsNull(configKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysConfig> save(SysConfig config) {
|
||||
return dao.save(converter.toEntity(config))
|
||||
.map(converter::toDomain);
|
||||
return repository.save(config);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.deleteByIdAndDeletedAtIsNull(id);
|
||||
return repository.deleteByIdAndDeletedAtIsNull(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+11
-19
@@ -1,9 +1,8 @@
|
||||
package cn.novalon.manage.sys.core.service.impl;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysDictData;
|
||||
import cn.novalon.manage.common.domain.SysDictData;
|
||||
import cn.novalon.manage.db.repository.ISysDictDataRepository;
|
||||
import cn.novalon.manage.sys.core.service.ISysDictDataService;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.SysDictDataConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysDictDataDao;
|
||||
import org.springframework.stereotype.Service;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
@@ -11,46 +10,39 @@ import reactor.core.publisher.Mono;
|
||||
@Service
|
||||
public class SysDictDataService implements ISysDictDataService {
|
||||
|
||||
private final SysDictDataDao dao;
|
||||
private final SysDictDataConverter converter;
|
||||
private final ISysDictDataRepository repository;
|
||||
|
||||
public SysDictDataService(SysDictDataDao dao, SysDictDataConverter converter) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
public SysDictDataService(ISysDictDataRepository repository) {
|
||||
this.repository = repository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysDictData> findAll() {
|
||||
return dao.findByDeletedAtIsNull()
|
||||
.map(converter::toDomain);
|
||||
return repository.findByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysDictData> findByDictType(String dictType) {
|
||||
return dao.findByDictTypeAndDeletedAtIsNull(dictType)
|
||||
.map(converter::toDomain);
|
||||
return repository.findByDictTypeAndDeletedAtIsNull(dictType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysDictData> findByDictTypeAndStatus(String dictType, String status) {
|
||||
return dao.findByDictTypeAndStatusAndDeletedAtIsNull(dictType, status)
|
||||
.map(converter::toDomain);
|
||||
return repository.findByDictTypeAndStatusAndDeletedAtIsNull(dictType, status);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysDictData> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.map(converter::toDomain);
|
||||
return repository.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysDictData> save(SysDictData dictData) {
|
||||
return dao.save(converter.toEntity(dictData))
|
||||
.map(converter::toDomain);
|
||||
return repository.save(dictData);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.deleteByIdAndDeletedAtIsNull(id);
|
||||
return repository.deleteByIdAndDeletedAtIsNull(id);
|
||||
}
|
||||
}
|
||||
|
||||
+10
-17
@@ -1,9 +1,8 @@
|
||||
package cn.novalon.manage.sys.core.service.impl;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysDictType;
|
||||
import cn.novalon.manage.common.domain.SysDictType;
|
||||
import cn.novalon.manage.db.repository.ISysDictTypeRepository;
|
||||
import cn.novalon.manage.sys.core.service.ISysDictTypeService;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.SysDictTypeConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysDictTypeDao;
|
||||
import org.springframework.stereotype.Service;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
@@ -11,40 +10,34 @@ import reactor.core.publisher.Mono;
|
||||
@Service
|
||||
public class SysDictTypeService implements ISysDictTypeService {
|
||||
|
||||
private final SysDictTypeDao dao;
|
||||
private final SysDictTypeConverter converter;
|
||||
private final ISysDictTypeRepository repository;
|
||||
|
||||
public SysDictTypeService(SysDictTypeDao dao, SysDictTypeConverter converter) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
public SysDictTypeService(ISysDictTypeRepository repository) {
|
||||
this.repository = repository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysDictType> findAll() {
|
||||
return dao.findByDeletedAtIsNull()
|
||||
.map(converter::toDomain);
|
||||
return repository.findByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysDictType> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.map(converter::toDomain);
|
||||
return repository.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysDictType> findByDictType(String dictType) {
|
||||
return dao.findByDictTypeAndDeletedAtIsNull(dictType)
|
||||
.map(converter::toDomain);
|
||||
return repository.findByDictTypeAndDeletedAtIsNull(dictType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysDictType> save(SysDictType dictType) {
|
||||
return dao.save(converter.toEntity(dictType))
|
||||
.map(converter::toDomain);
|
||||
return repository.save(dictType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.deleteByIdAndDeletedAtIsNull(id);
|
||||
return repository.deleteByIdAndDeletedAtIsNull(id);
|
||||
}
|
||||
}
|
||||
|
||||
+15
-24
@@ -1,11 +1,10 @@
|
||||
package cn.novalon.manage.sys.core.service.impl;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysExceptionLog;
|
||||
import cn.novalon.manage.common.domain.SysExceptionLog;
|
||||
import cn.novalon.manage.db.repository.ISysExceptionLogRepository;
|
||||
import cn.novalon.manage.sys.core.service.ISysExceptionLogService;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.SysExceptionLogConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysExceptionLogDao;
|
||||
import cn.novalon.manage.sys.dto.request.PageRequest;
|
||||
import cn.novalon.manage.sys.dto.response.PageResponse;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageResponse;
|
||||
import org.springframework.stereotype.Service;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
@@ -16,48 +15,40 @@ import java.util.List;
|
||||
@Service
|
||||
public class SysExceptionLogService implements ISysExceptionLogService {
|
||||
|
||||
private final SysExceptionLogDao dao;
|
||||
private final SysExceptionLogConverter converter;
|
||||
private final ISysExceptionLogRepository repository;
|
||||
|
||||
public SysExceptionLogService(SysExceptionLogDao dao, SysExceptionLogConverter converter) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
public SysExceptionLogService(ISysExceptionLogRepository repository) {
|
||||
this.repository = repository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysExceptionLog> findAll() {
|
||||
return dao.findAllByOrderByCreateTimeDesc()
|
||||
.map(converter::toDomain);
|
||||
return repository.findAllByOrderByCreateTimeDesc();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysExceptionLog> findByUsername(String username) {
|
||||
return dao.findByUsernameOrderByCreateTimeDesc(username)
|
||||
.map(converter::toDomain);
|
||||
return repository.findByUsernameOrderByCreateTimeDesc(username);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysExceptionLog> findByCreateTimeBetween(LocalDateTime startTime, LocalDateTime endTime) {
|
||||
return dao.findByCreateTimeBetweenOrderByCreateTimeDesc(startTime, endTime)
|
||||
.map(converter::toDomain);
|
||||
return repository.findByCreateTimeBetweenOrderByCreateTimeDesc(startTime, endTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysExceptionLog> save(SysExceptionLog exceptionLog) {
|
||||
return dao.save(converter.toEntity(exceptionLog))
|
||||
.map(converter::toDomain);
|
||||
return repository.save(exceptionLog);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysExceptionLog> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.map(converter::toDomain);
|
||||
return repository.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<PageResponse<SysExceptionLog>> findExceptionLogsByPage(PageRequest pageRequest) {
|
||||
Flux<SysExceptionLog> allLogs = dao.findAllByOrderByCreateTimeDesc()
|
||||
.map(converter::toDomain);
|
||||
Flux<SysExceptionLog> allLogs = repository.findAllByOrderByCreateTimeDesc();
|
||||
|
||||
if (pageRequest.getKeyword() != null && !pageRequest.getKeyword().isEmpty()) {
|
||||
String keyword = pageRequest.getKeyword().toLowerCase();
|
||||
@@ -85,7 +76,7 @@ public class SysExceptionLogService implements ISysExceptionLogService {
|
||||
}
|
||||
return list;
|
||||
})
|
||||
.zipWith(dao.count())
|
||||
.zipWith(repository.count())
|
||||
.map(tuple -> {
|
||||
List<SysExceptionLog> all = tuple.getT1();
|
||||
long totalCount = tuple.getT2();
|
||||
@@ -129,6 +120,6 @@ public class SysExceptionLogService implements ISysExceptionLogService {
|
||||
|
||||
@Override
|
||||
public Mono<Long> count() {
|
||||
return dao.count();
|
||||
return repository.count();
|
||||
}
|
||||
}
|
||||
|
||||
+12
-21
@@ -1,9 +1,8 @@
|
||||
package cn.novalon.manage.sys.core.service.impl;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysFile;
|
||||
import cn.novalon.manage.common.domain.SysFile;
|
||||
import cn.novalon.manage.db.repository.ISysFileRepository;
|
||||
import cn.novalon.manage.sys.core.service.ISysFileService;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.SysFileConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysFileDao;
|
||||
import org.springframework.http.codec.multipart.FilePart;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@@ -19,37 +18,31 @@ import java.util.UUID;
|
||||
@Service
|
||||
public class SysFileService implements ISysFileService {
|
||||
|
||||
private final SysFileDao dao;
|
||||
private final SysFileConverter converter;
|
||||
private final ISysFileRepository repository;
|
||||
private final Path uploadPath = Paths.get("./uploads");
|
||||
|
||||
public SysFileService(SysFileDao dao, SysFileConverter converter) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
public SysFileService(ISysFileRepository repository) {
|
||||
this.repository = repository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysFile> findAll() {
|
||||
return dao.findByDeletedAtIsNullOrderByCreatedAtDesc()
|
||||
.map(converter::toDomain);
|
||||
return repository.findByDeletedAtIsNullOrderByCreatedAtDesc();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysFile> findByCreateBy(String createBy) {
|
||||
return dao.findByCreateByOrderByCreatedAtDesc(createBy)
|
||||
.map(converter::toDomain);
|
||||
return repository.findByCreateByOrderByCreatedAtDesc(createBy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysFile> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.map(converter::toDomain);
|
||||
return repository.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysFile> findByFileName(String fileName) {
|
||||
return dao.findByFilePathContaining(fileName)
|
||||
.map(converter::toDomain)
|
||||
return repository.findByFilePathContaining(fileName)
|
||||
.next();
|
||||
}
|
||||
|
||||
@@ -72,8 +65,7 @@ public class SysFileService implements ISysFileService {
|
||||
sysFile.setCreateBy(createBy);
|
||||
sysFile.setCreatedAt(LocalDateTime.now());
|
||||
|
||||
return dao.save(converter.toEntity(sysFile))
|
||||
.map(converter::toDomain);
|
||||
return repository.save(sysFile);
|
||||
} catch (Exception e) {
|
||||
return Mono.error(new RuntimeException("文件上传失败: " + e.getMessage()));
|
||||
}
|
||||
@@ -81,7 +73,7 @@ public class SysFileService implements ISysFileService {
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.deleteByIdAndDeletedAtIsNull(id);
|
||||
return repository.deleteByIdAndDeletedAtIsNull(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -105,8 +97,7 @@ public class SysFileService implements ISysFileService {
|
||||
sysFile.setCreatedAt(LocalDateTime.now());
|
||||
return sysFile;
|
||||
}))
|
||||
.flatMap(sysFile -> dao.save(converter.toEntity(sysFile)))
|
||||
.map(converter::toDomain);
|
||||
.flatMap(sysFile -> repository.save(sysFile));
|
||||
} catch (Exception e) {
|
||||
return Mono.error(new RuntimeException("文件上传失败: " + e.getMessage()));
|
||||
}
|
||||
|
||||
+15
-24
@@ -1,11 +1,10 @@
|
||||
package cn.novalon.manage.sys.core.service.impl;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysLoginLog;
|
||||
import cn.novalon.manage.common.domain.SysLoginLog;
|
||||
import cn.novalon.manage.db.repository.SysLoginLogRepository;
|
||||
import cn.novalon.manage.sys.core.service.ISysLoginLogService;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.SysLoginLogConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysLoginLogDao;
|
||||
import cn.novalon.manage.sys.dto.request.PageRequest;
|
||||
import cn.novalon.manage.sys.dto.response.PageResponse;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageResponse;
|
||||
import org.springframework.stereotype.Service;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
@@ -17,48 +16,40 @@ import java.util.List;
|
||||
@Service
|
||||
public class SysLoginLogService implements ISysLoginLogService {
|
||||
|
||||
private final SysLoginLogDao dao;
|
||||
private final SysLoginLogConverter converter;
|
||||
private final SysLoginLogRepository repository;
|
||||
|
||||
public SysLoginLogService(SysLoginLogDao dao, SysLoginLogConverter converter) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
public SysLoginLogService(SysLoginLogRepository repository) {
|
||||
this.repository = repository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysLoginLog> findAll() {
|
||||
return dao.findAllByOrderByLoginTimeDesc()
|
||||
.map(converter::toDomain);
|
||||
return repository.findAllByOrderByLoginTimeDesc();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysLoginLog> findByUsername(String username) {
|
||||
return dao.findByUsernameOrderByLoginTimeDesc(username)
|
||||
.map(converter::toDomain);
|
||||
return repository.findByUsernameOrderByLoginTimeDesc(username);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysLoginLog> findByLoginTimeBetween(LocalDateTime startTime, LocalDateTime endTime) {
|
||||
return dao.findByLoginTimeBetweenOrderByLoginTimeDesc(startTime, endTime)
|
||||
.map(converter::toDomain);
|
||||
return repository.findByLoginTimeBetweenOrderByLoginTimeDesc(startTime, endTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysLoginLog> save(SysLoginLog loginLog) {
|
||||
return dao.save(converter.toEntity(loginLog))
|
||||
.map(converter::toDomain);
|
||||
return repository.save(loginLog);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysLoginLog> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.map(converter::toDomain);
|
||||
return repository.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<PageResponse<SysLoginLog>> findLoginLogsByPage(PageRequest pageRequest) {
|
||||
Flux<SysLoginLog> allLogs = dao.findAllByOrderByLoginTimeDesc()
|
||||
.map(converter::toDomain);
|
||||
Flux<SysLoginLog> allLogs = repository.findAllByOrderByLoginTimeDesc();
|
||||
|
||||
if (pageRequest.getKeyword() != null && !pageRequest.getKeyword().isEmpty()) {
|
||||
String keyword = pageRequest.getKeyword().toLowerCase();
|
||||
@@ -90,7 +81,7 @@ public class SysLoginLogService implements ISysLoginLogService {
|
||||
|
||||
return Mono.just(sortedList);
|
||||
})
|
||||
.zipWith(dao.count())
|
||||
.zipWith(repository.count())
|
||||
.map(tuple -> {
|
||||
List<SysLoginLog> all = tuple.getT1();
|
||||
long totalCount = tuple.getT2();
|
||||
@@ -128,6 +119,6 @@ public class SysLoginLogService implements ISysLoginLogService {
|
||||
|
||||
@Override
|
||||
public Mono<Long> count() {
|
||||
return dao.count();
|
||||
return repository.count();
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package cn.novalon.manage.sys.core.service.impl;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysMenu;
|
||||
import cn.novalon.manage.sys.core.repository.ISysMenuRepository;
|
||||
import cn.novalon.manage.common.domain.SysMenu;
|
||||
import cn.novalon.manage.db.repository.ISysMenuRepository;
|
||||
import cn.novalon.manage.sys.core.service.ISysMenuService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import reactor.core.publisher.Flux;
|
||||
|
||||
+11
-19
@@ -1,10 +1,9 @@
|
||||
package cn.novalon.manage.sys.core.service.impl;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysNotice;
|
||||
import cn.novalon.manage.common.domain.SysNotice;
|
||||
import cn.novalon.manage.db.repository.ISysNoticeRepository;
|
||||
import cn.novalon.manage.sys.core.service.ISysNoticeService;
|
||||
import cn.novalon.manage.sys.core.service.IWebSocketService;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.SysNoticeConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysNoticeDao;
|
||||
import org.springframework.stereotype.Service;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
@@ -12,48 +11,41 @@ import reactor.core.publisher.Mono;
|
||||
@Service
|
||||
public class SysNoticeService implements ISysNoticeService {
|
||||
|
||||
private final SysNoticeDao dao;
|
||||
private final SysNoticeConverter converter;
|
||||
private final ISysNoticeRepository repository;
|
||||
private final IWebSocketService webSocketService;
|
||||
|
||||
public SysNoticeService(SysNoticeDao dao, SysNoticeConverter converter, IWebSocketService webSocketService) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
public SysNoticeService(ISysNoticeRepository repository, IWebSocketService webSocketService) {
|
||||
this.repository = repository;
|
||||
this.webSocketService = webSocketService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysNotice> findAll() {
|
||||
return dao.findByDeletedAtIsNull()
|
||||
.map(converter::toDomain);
|
||||
return repository.findByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysNotice> findByStatus(String status) {
|
||||
return dao.findByStatusAndDeletedAtIsNull(status)
|
||||
.map(converter::toDomain);
|
||||
return repository.findByStatusAndDeletedAtIsNull(status);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysNotice> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.map(converter::toDomain);
|
||||
return repository.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysNotice> save(SysNotice notice) {
|
||||
return dao.save(converter.toEntity(notice))
|
||||
.map(converter::toDomain)
|
||||
return repository.save(notice)
|
||||
.flatMap(savedNotice -> {
|
||||
return webSocketService.notifyNewNotice(
|
||||
savedNotice.getNoticeTitle(),
|
||||
savedNotice.getNoticeContent()
|
||||
).thenReturn(savedNotice);
|
||||
savedNotice.getNoticeContent()).thenReturn(savedNotice);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.deleteByIdAndDeletedAtIsNull(id);
|
||||
return repository.deleteByIdAndDeletedAtIsNull(id);
|
||||
}
|
||||
}
|
||||
|
||||
+12
-12
@@ -1,14 +1,14 @@
|
||||
package cn.novalon.manage.sys.core.service.impl;
|
||||
|
||||
import cn.novalon.manage.sys.core.constants.StatusConstants;
|
||||
import cn.novalon.manage.sys.core.domain.SysRole;
|
||||
import cn.novalon.manage.sys.core.domain.query.SysRoleQuery;
|
||||
import cn.novalon.manage.sys.core.repository.ISysRoleRepository;
|
||||
import cn.novalon.manage.common.util.StatusConstants;
|
||||
import cn.novalon.manage.common.domain.SysRole;
|
||||
import cn.novalon.manage.common.domain.query.SysRoleQuery;
|
||||
import cn.novalon.manage.db.repository.ISysRoleRepository;
|
||||
import cn.novalon.manage.sys.core.service.ISysRoleService;
|
||||
import cn.novalon.manage.sys.dto.request.PageRequest;
|
||||
import cn.novalon.manage.sys.dto.response.PageResponse;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.query.SysRoleQueryCriteria;
|
||||
import cn.novalon.manage.sys.infrastructure.db.utils.QueryUtil;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageResponse;
|
||||
import cn.novalon.manage.db.dao.QueryUtil;
|
||||
import cn.novalon.manage.db.entity.SysRoleQueryCriteria;
|
||||
import org.springframework.data.relational.core.query.Query;
|
||||
import org.springframework.stereotype.Service;
|
||||
import reactor.core.publisher.Flux;
|
||||
@@ -38,17 +38,17 @@ public class SysRoleService implements ISysRoleService {
|
||||
@Override
|
||||
public Mono<PageResponse<SysRole>> findRolesByPage(PageRequest pageRequest) {
|
||||
SysRoleQuery query = new SysRoleQuery();
|
||||
|
||||
|
||||
if (pageRequest.getKeyword() != null && !pageRequest.getKeyword().isEmpty()) {
|
||||
query.setRoleName(pageRequest.getKeyword());
|
||||
query.setRoleKey(pageRequest.getKeyword());
|
||||
}
|
||||
|
||||
|
||||
SysRoleQueryCriteria criteria = new SysRoleQueryCriteria();
|
||||
criteria.convert(query);
|
||||
|
||||
|
||||
Query queryObj = QueryUtil.getQuery(criteria);
|
||||
|
||||
|
||||
return roleRepository.findByQueryWithPagination(queryObj, pageRequest);
|
||||
}
|
||||
|
||||
|
||||
+12
-18
@@ -1,10 +1,9 @@
|
||||
package cn.novalon.manage.sys.core.service.impl;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysUserMessage;
|
||||
import cn.novalon.manage.common.domain.SysUserMessage;
|
||||
import cn.novalon.manage.db.repository.ISysUserMessageRepository;
|
||||
import cn.novalon.manage.sys.core.service.ISysUserMessageService;
|
||||
import cn.novalon.manage.sys.core.service.IWebSocketService;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.SysUserMessageConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysUserMessageDao;
|
||||
import org.springframework.stereotype.Service;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
@@ -12,38 +11,33 @@ import reactor.core.publisher.Mono;
|
||||
@Service
|
||||
public class SysUserMessageService implements ISysUserMessageService {
|
||||
|
||||
private final SysUserMessageDao dao;
|
||||
private final SysUserMessageConverter converter;
|
||||
private final ISysUserMessageRepository repository;
|
||||
private final IWebSocketService webSocketService;
|
||||
|
||||
public SysUserMessageService(SysUserMessageDao dao, SysUserMessageConverter converter,
|
||||
public SysUserMessageService(ISysUserMessageRepository repository,
|
||||
IWebSocketService webSocketService) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
this.repository = repository;
|
||||
this.webSocketService = webSocketService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysUserMessage> findByUserId(Long userId) {
|
||||
return dao.findByUserIdOrderByCreateTimeDesc(userId)
|
||||
.map(converter::toDomain);
|
||||
return repository.findByUserIdOrderByCreateTimeDesc(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysUserMessage> findByUserIdAndIsRead(Long userId, String isRead) {
|
||||
return dao.findByUserIdAndIsReadOrderByCreateTimeDesc(userId, isRead)
|
||||
.map(converter::toDomain);
|
||||
return repository.findByUserIdAndIsReadOrderByCreateTimeDesc(userId, isRead);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> countUnread(Long userId) {
|
||||
return dao.countByUserIdAndIsRead(userId, "0");
|
||||
return repository.countByUserIdAndIsRead(userId, "0");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysUserMessage> save(SysUserMessage message) {
|
||||
return dao.save(converter.toEntity(message))
|
||||
.map(converter::toDomain)
|
||||
return repository.save(message)
|
||||
.flatMap(savedMessage -> {
|
||||
return webSocketService.notifyNewMessage(
|
||||
savedMessage.getUserId(),
|
||||
@@ -54,16 +48,16 @@ public class SysUserMessageService implements ISysUserMessageService {
|
||||
|
||||
@Override
|
||||
public Mono<Void> markAsRead(Long id) {
|
||||
return dao.findById(id)
|
||||
return repository.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setIsRead("1");
|
||||
return dao.save(entity);
|
||||
return repository.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.deleteById(id);
|
||||
return repository.deleteById(id);
|
||||
}
|
||||
}
|
||||
|
||||
+8
-8
@@ -1,14 +1,14 @@
|
||||
package cn.novalon.manage.sys.core.service.impl;
|
||||
|
||||
import cn.novalon.manage.sys.core.constants.StatusConstants;
|
||||
import cn.novalon.manage.sys.core.domain.SysUser;
|
||||
import cn.novalon.manage.sys.core.domain.query.SysUserQuery;
|
||||
import cn.novalon.manage.sys.core.repository.ISysUserRepository;
|
||||
import cn.novalon.manage.common.util.StatusConstants;
|
||||
import cn.novalon.manage.common.domain.SysUser;
|
||||
import cn.novalon.manage.common.domain.query.SysUserQuery;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageResponse;
|
||||
import cn.novalon.manage.db.repository.ISysUserRepository;
|
||||
import cn.novalon.manage.db.dao.QueryUtil;
|
||||
import cn.novalon.manage.db.entity.SysUserQueryCriteria;
|
||||
import cn.novalon.manage.sys.core.service.ISysUserService;
|
||||
import cn.novalon.manage.sys.dto.request.PageRequest;
|
||||
import cn.novalon.manage.sys.dto.response.PageResponse;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.query.SysUserQueryCriteria;
|
||||
import cn.novalon.manage.sys.infrastructure.db.utils.QueryUtil;
|
||||
import org.springframework.data.relational.core.query.Query;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
+1
-1
@@ -68,7 +68,7 @@ public class UserResponse {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public static UserResponse fromDomain(cn.novalon.manage.sys.core.domain.SysUser user) {
|
||||
public static UserResponse fromDomain(cn.novalon.manage.common.domain.SysUser user) {
|
||||
UserResponse response = new UserResponse();
|
||||
response.setId(user.getId());
|
||||
response.setUsername(user.getUsername());
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.handler;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysExceptionLog;
|
||||
import cn.novalon.manage.common.domain.SysExceptionLog;
|
||||
import cn.novalon.manage.sys.core.exception.DictionaryAlreadyExistsException;
|
||||
import cn.novalon.manage.sys.core.service.ISysExceptionLogService;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ import cn.novalon.manage.sys.dto.request.LoginRequest;
|
||||
import cn.novalon.manage.sys.dto.request.UserRegisterRequest;
|
||||
import cn.novalon.manage.sys.dto.response.AuthResponse;
|
||||
import cn.novalon.manage.sys.security.JwtTokenProvider;
|
||||
import cn.novalon.manage.sys.core.domain.SysUser;
|
||||
import cn.novalon.manage.common.domain.SysUser;
|
||||
import cn.novalon.manage.sys.core.service.ISysUserService;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.handler.config;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysConfig;
|
||||
import cn.novalon.manage.common.domain.SysConfig;
|
||||
import cn.novalon.manage.sys.core.service.ISysConfigService;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package cn.novalon.manage.sys.handler.dict;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysDictType;
|
||||
import cn.novalon.manage.sys.core.domain.SysDictData;
|
||||
import cn.novalon.manage.common.domain.SysDictType;
|
||||
import cn.novalon.manage.common.domain.SysDictData;
|
||||
import cn.novalon.manage.sys.core.service.ISysDictTypeService;
|
||||
import cn.novalon.manage.sys.core.service.ISysDictDataService;
|
||||
import org.springframework.http.HttpStatus;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.handler.dictionary;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.Dictionary;
|
||||
import cn.novalon.manage.common.domain.Dictionary;
|
||||
import cn.novalon.manage.sys.core.service.IDictionaryService;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.handler.file;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysFile;
|
||||
import cn.novalon.manage.common.domain.SysFile;
|
||||
import cn.novalon.manage.sys.core.service.ISysFileService;
|
||||
import cn.novalon.manage.sys.dto.response.FilePreviewResponse;
|
||||
import org.springframework.core.io.Resource;
|
||||
|
||||
+3
-3
@@ -1,10 +1,10 @@
|
||||
package cn.novalon.manage.sys.handler.log;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysLoginLog;
|
||||
import cn.novalon.manage.sys.core.domain.SysExceptionLog;
|
||||
import cn.novalon.manage.common.domain.SysLoginLog;
|
||||
import cn.novalon.manage.common.domain.SysExceptionLog;
|
||||
import cn.novalon.manage.sys.core.service.ISysLoginLogService;
|
||||
import cn.novalon.manage.sys.core.service.ISysExceptionLogService;
|
||||
import cn.novalon.manage.sys.dto.request.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.reactive.function.server.ServerRequest;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.handler.message;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysUserMessage;
|
||||
import cn.novalon.manage.common.domain.SysUserMessage;
|
||||
import cn.novalon.manage.sys.core.service.ISysUserMessageService;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.handler.notice;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysNotice;
|
||||
import cn.novalon.manage.common.domain.SysNotice;
|
||||
import cn.novalon.manage.sys.core.service.ISysNoticeService;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
package cn.novalon.manage.sys.handler.role;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysRole;
|
||||
import cn.novalon.manage.common.domain.SysRole;
|
||||
import cn.novalon.manage.sys.core.service.ISysRoleService;
|
||||
import cn.novalon.manage.sys.dto.request.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.http.HttpStatus;
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
package cn.novalon.manage.sys.handler.user;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysUser;
|
||||
import cn.novalon.manage.common.domain.SysUser;
|
||||
import cn.novalon.manage.sys.core.service.ISysUserService;
|
||||
import cn.novalon.manage.sys.dto.request.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.sys.dto.request.PasswordChangeRequest;
|
||||
import cn.novalon.manage.sys.dto.request.UserUpdateRequest;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.mapper;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.Dictionary;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.DictionaryEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface DictionaryMapper {
|
||||
|
||||
Dictionary toDomain(DictionaryEntity entity);
|
||||
|
||||
DictionaryEntity toEntity(Dictionary domain);
|
||||
|
||||
List<Dictionary> toDomainList(List<DictionaryEntity> entities);
|
||||
|
||||
List<DictionaryEntity> toEntityList(List<Dictionary> domains);
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.mapper;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.OperationLog;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.OperationLogEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface OperationLogMapper {
|
||||
|
||||
OperationLog toDomain(OperationLogEntity entity);
|
||||
|
||||
OperationLogEntity toEntity(OperationLog domain);
|
||||
|
||||
List<OperationLog> toDomainList(List<OperationLogEntity> entities);
|
||||
|
||||
List<OperationLogEntity> toEntityList(List<OperationLog> domains);
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.mapper;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysConfig;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysConfigEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface SysConfigMapper {
|
||||
|
||||
SysConfig toDomain(SysConfigEntity entity);
|
||||
|
||||
SysConfigEntity toEntity(SysConfig domain);
|
||||
|
||||
List<SysConfig> toDomainList(List<SysConfigEntity> entities);
|
||||
|
||||
List<SysConfigEntity> toEntityList(List<SysConfig> domains);
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.mapper;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysDictData;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysDictDataEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface SysDictDataMapper {
|
||||
|
||||
SysDictData toDomain(SysDictDataEntity entity);
|
||||
|
||||
SysDictDataEntity toEntity(SysDictData domain);
|
||||
|
||||
List<SysDictData> toDomainList(List<SysDictDataEntity> entities);
|
||||
|
||||
List<SysDictDataEntity> toEntityList(List<SysDictData> domains);
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.mapper;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysDictType;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysDictTypeEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface SysDictTypeMapper {
|
||||
|
||||
SysDictType toDomain(SysDictTypeEntity entity);
|
||||
|
||||
SysDictTypeEntity toEntity(SysDictType domain);
|
||||
|
||||
List<SysDictType> toDomainList(List<SysDictTypeEntity> entities);
|
||||
|
||||
List<SysDictTypeEntity> toEntityList(List<SysDictType> domains);
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.mapper;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysExceptionLog;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysExceptionLogEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface SysExceptionLogMapper {
|
||||
|
||||
SysExceptionLog toDomain(SysExceptionLogEntity entity);
|
||||
|
||||
SysExceptionLogEntity toEntity(SysExceptionLog domain);
|
||||
|
||||
List<SysExceptionLog> toDomainList(List<SysExceptionLogEntity> entities);
|
||||
|
||||
List<SysExceptionLogEntity> toEntityList(List<SysExceptionLog> domains);
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.mapper;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysFile;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysFileEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface SysFileMapper {
|
||||
|
||||
SysFile toDomain(SysFileEntity entity);
|
||||
|
||||
SysFileEntity toEntity(SysFile domain);
|
||||
|
||||
List<SysFile> toDomainList(List<SysFileEntity> entities);
|
||||
|
||||
List<SysFileEntity> toEntityList(List<SysFile> domains);
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.mapper;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysLoginLog;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysLoginLogEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface SysLoginLogMapper {
|
||||
|
||||
SysLoginLog toDomain(SysLoginLogEntity entity);
|
||||
|
||||
SysLoginLogEntity toEntity(SysLoginLog domain);
|
||||
|
||||
List<SysLoginLog> toDomainList(List<SysLoginLogEntity> entities);
|
||||
|
||||
List<SysLoginLogEntity> toEntityList(List<SysLoginLog> domains);
|
||||
}
|
||||
-67
@@ -1,67 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.mapper;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysMenu;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysMenuEntity;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class SysMenuMapper {
|
||||
|
||||
private static final SysMenuMapper INSTANCE = new SysMenuMapper();
|
||||
|
||||
public static SysMenuMapper getInstance() {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
public SysMenu toDomain(SysMenuEntity entity) {
|
||||
if (entity == null) {
|
||||
return null;
|
||||
}
|
||||
SysMenu domain = new SysMenu();
|
||||
domain.setId(entity.getId());
|
||||
domain.setMenuName(entity.getMenuName());
|
||||
domain.setParentId(entity.getParentId());
|
||||
domain.setOrderNum(entity.getOrderNum());
|
||||
domain.setMenuType(entity.getMenuType());
|
||||
domain.setPerms(entity.getPerms());
|
||||
domain.setComponent(entity.getComponent());
|
||||
domain.setStatus(entity.getStatus());
|
||||
domain.setCreateBy(entity.getCreateBy());
|
||||
domain.setUpdateBy(entity.getUpdateBy());
|
||||
domain.setCreatedAt(entity.getCreatedAt());
|
||||
domain.setUpdatedAt(entity.getUpdatedAt());
|
||||
domain.setDeletedAt(entity.getDeletedAt());
|
||||
return domain;
|
||||
}
|
||||
|
||||
public SysMenuEntity toEntity(SysMenu domain) {
|
||||
if (domain == null) {
|
||||
return null;
|
||||
}
|
||||
SysMenuEntity entity = new SysMenuEntity();
|
||||
entity.setId(domain.getId());
|
||||
entity.setMenuName(domain.getMenuName());
|
||||
entity.setParentId(domain.getParentId());
|
||||
entity.setOrderNum(domain.getOrderNum());
|
||||
entity.setMenuType(domain.getMenuType());
|
||||
entity.setPerms(domain.getPerms());
|
||||
entity.setComponent(domain.getComponent());
|
||||
entity.setStatus(domain.getStatus());
|
||||
entity.setCreateBy(domain.getCreateBy());
|
||||
entity.setUpdateBy(domain.getUpdateBy());
|
||||
entity.setCreatedAt(domain.getCreatedAt());
|
||||
entity.setUpdatedAt(domain.getUpdatedAt());
|
||||
entity.setDeletedAt(domain.getDeletedAt());
|
||||
return entity;
|
||||
}
|
||||
|
||||
public List<SysMenu> toDomainList(List<SysMenuEntity> entities) {
|
||||
return entities.stream().map(this::toDomain).toList();
|
||||
}
|
||||
|
||||
public List<SysMenuEntity> toEntityList(List<SysMenu> domains) {
|
||||
return domains.stream().map(this::toEntity).toList();
|
||||
}
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.mapper;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysNotice;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysNoticeEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface SysNoticeMapper {
|
||||
|
||||
SysNotice toDomain(SysNoticeEntity entity);
|
||||
|
||||
SysNoticeEntity toEntity(SysNotice domain);
|
||||
|
||||
List<SysNotice> toDomainList(List<SysNoticeEntity> entities);
|
||||
|
||||
List<SysNoticeEntity> toEntityList(List<SysNotice> domains);
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.mapper;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysRole;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysRoleEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface SysRoleMapper {
|
||||
|
||||
SysRole toDomain(SysRoleEntity entity);
|
||||
|
||||
SysRoleEntity toEntity(SysRole domain);
|
||||
|
||||
List<SysRole> toDomainList(List<SysRoleEntity> entities);
|
||||
|
||||
List<SysRoleEntity> toEntityList(List<SysRole> domains);
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.mapper;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysUser;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysUserEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface SysUserMapper {
|
||||
|
||||
SysUser toDomain(SysUserEntity entity);
|
||||
|
||||
SysUserEntity toEntity(SysUser domain);
|
||||
|
||||
List<SysUser> toDomainList(List<SysUserEntity> entities);
|
||||
|
||||
List<SysUserEntity> toEntityList(List<SysUser> domains);
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.mapper;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysUserMessage;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysUserMessageEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(componentModel = "spring")
|
||||
public interface SysUserMessageMapper {
|
||||
|
||||
SysUserMessage toDomain(SysUserMessageEntity entity);
|
||||
|
||||
SysUserMessageEntity toEntity(SysUserMessage domain);
|
||||
|
||||
List<SysUserMessage> toDomainList(List<SysUserMessageEntity> entities);
|
||||
|
||||
List<SysUserMessageEntity> toEntityList(List<SysUserMessage> domains);
|
||||
}
|
||||
-49
@@ -1,49 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.repository;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.Dictionary;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.DictionaryDao;
|
||||
import cn.novalon.manage.sys.infrastructure.db.mapper.DictionaryMapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
@Repository
|
||||
public class DictionaryRepository {
|
||||
|
||||
private final DictionaryDao dao;
|
||||
private final DictionaryMapper mapper;
|
||||
|
||||
public DictionaryRepository(DictionaryDao dao, DictionaryMapper mapper) {
|
||||
this.dao = dao;
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
public Flux<Dictionary> findByType(String type) {
|
||||
return dao.findByType(type)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Dictionary> findByTypeAndCode(String type, String code) {
|
||||
return dao.findByTypeAndCode(type, code)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Flux<Dictionary> findAll() {
|
||||
return dao.findByDeletedAtIsNullOrderBySortAsc()
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Dictionary> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Dictionary> save(Dictionary dictionary) {
|
||||
return dao.save(mapper.toEntity(dictionary))
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.deleteByIdAndDeletedAtIsNull(id);
|
||||
}
|
||||
}
|
||||
-67
@@ -1,67 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.repository;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.OperationLog;
|
||||
import cn.novalon.manage.sys.core.repository.IOperationLogRepository;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.OperationLogConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.OperationLogDao;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Repository
|
||||
public class OperationLogRepository implements IOperationLogRepository {
|
||||
|
||||
private final OperationLogDao dao;
|
||||
private final OperationLogConverter converter;
|
||||
|
||||
public OperationLogRepository(OperationLogDao dao, OperationLogConverter converter) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<OperationLog> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<OperationLog> save(OperationLog operationLog) {
|
||||
return dao.save(converter.toEntity(operationLog))
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(LocalDateTime.now());
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<OperationLog> findAll() {
|
||||
return dao.findByDeletedAtIsNull()
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<OperationLog> findByUsername(String username) {
|
||||
return dao.findByUsernameAndDeletedAtIsNull(username)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> count() {
|
||||
return dao.countByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> countByCreatedAtAfter(LocalDateTime dateTime) {
|
||||
return dao.countByCreatedAtAfterAndDeletedAtIsNull(dateTime);
|
||||
}
|
||||
}
|
||||
-80
@@ -1,80 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.repository;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysConfig;
|
||||
import cn.novalon.manage.sys.infrastructure.db.mapper.SysConfigMapper;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysConfigDao;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Repository
|
||||
public class SysConfigRepository {
|
||||
|
||||
private final SysConfigDao dao;
|
||||
private final SysConfigMapper mapper;
|
||||
|
||||
public SysConfigRepository(SysConfigDao dao, SysConfigMapper mapper) {
|
||||
this.dao = dao;
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
public Mono<SysConfig> findByConfigKey(String configKey) {
|
||||
return dao.findByConfigKeyAndDeletedAtIsNull(configKey)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Mono<SysConfig> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.filter(entity -> entity.getDeletedAt() == null)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Mono<SysConfig> save(SysConfig sysConfig) {
|
||||
return dao.save(mapper.toEntity(sysConfig))
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(LocalDateTime.now());
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
public Flux<SysConfig> findAll() {
|
||||
return dao.findByDeletedAtIsNull()
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysConfig> findAll(Sort sort) {
|
||||
return dao.findByDeletedAtIsNull(sort)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Long> count() {
|
||||
return dao.countByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
public Mono<Void> logicalDeleteById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(LocalDateTime.now());
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
public Mono<Void> restoreById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(null);
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
}
|
||||
-85
@@ -1,85 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.repository;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysDictData;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.SysDictDataConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysDictDataDao;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Repository
|
||||
public class SysDictDataRepository {
|
||||
|
||||
private final SysDictDataDao dao;
|
||||
private final SysDictDataConverter converter;
|
||||
|
||||
public SysDictDataRepository(SysDictDataDao dao, SysDictDataConverter converter) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
}
|
||||
|
||||
public Mono<SysDictData> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.filter(entity -> entity.getDeletedAt() == null)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Mono<SysDictData> save(SysDictData sysDictData) {
|
||||
return dao.save(converter.toEntity(sysDictData))
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(LocalDateTime.now());
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
public Flux<SysDictData> findByDictType(String dictType) {
|
||||
return dao.findByDictTypeAndDeletedAtIsNull(dictType)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysDictData> findByDictType(String dictType, Sort sort) {
|
||||
return dao.findByDictTypeAndDeletedAtIsNull(dictType, sort)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysDictData> findAll() {
|
||||
return dao.findByDeletedAtIsNull()
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysDictData> findAll(Sort sort) {
|
||||
return dao.findByDeletedAtIsNull(sort)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Long> count() {
|
||||
return dao.countByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
public Mono<Void> logicalDeleteById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(LocalDateTime.now());
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
public Mono<Void> restoreById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(null);
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
}
|
||||
-80
@@ -1,80 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.repository;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysDictType;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.SysDictTypeConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysDictTypeDao;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Repository
|
||||
public class SysDictTypeRepository {
|
||||
|
||||
private final SysDictTypeDao dao;
|
||||
private final SysDictTypeConverter converter;
|
||||
|
||||
public SysDictTypeRepository(SysDictTypeDao dao, SysDictTypeConverter converter) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
}
|
||||
|
||||
public Mono<SysDictType> findByDictType(String dictType) {
|
||||
return dao.findByDictTypeAndDeletedAtIsNull(dictType)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Mono<SysDictType> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.filter(entity -> entity.getDeletedAt() == null)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Mono<SysDictType> save(SysDictType sysDictType) {
|
||||
return dao.save(converter.toEntity(sysDictType))
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(LocalDateTime.now());
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
public Flux<SysDictType> findAll() {
|
||||
return dao.findByDeletedAtIsNull()
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysDictType> findAll(Sort sort) {
|
||||
return dao.findByDeletedAtIsNull(sort)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Long> count() {
|
||||
return dao.countByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
public Mono<Void> logicalDeleteById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(LocalDateTime.now());
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
public Mono<Void> restoreById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(null);
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
}
|
||||
-69
@@ -1,69 +0,0 @@
|
||||
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 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();
|
||||
}
|
||||
}
|
||||
-95
@@ -1,95 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.repository;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysFile;
|
||||
import cn.novalon.manage.sys.infrastructure.db.mapper.SysFileMapper;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysFileDao;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Repository
|
||||
public class SysFileRepository {
|
||||
|
||||
private final SysFileDao dao;
|
||||
private final SysFileMapper mapper;
|
||||
|
||||
public SysFileRepository(SysFileDao dao, SysFileMapper mapper) {
|
||||
this.dao = dao;
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
public Mono<SysFile> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.filter(entity -> entity.getDeletedAt() == null)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Mono<SysFile> save(SysFile sysFile) {
|
||||
return dao.save(mapper.toEntity(sysFile))
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(LocalDateTime.now());
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
public Flux<SysFile> findByCreateBy(String createBy) {
|
||||
return dao.findByCreateBy(createBy)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysFile> findByCreateBy(String createBy, Sort sort) {
|
||||
return dao.findByCreateBy(createBy, sort)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysFile> findByCreateByOrderByCreatedAtDesc(String createBy) {
|
||||
return dao.findByCreateByOrderByCreatedAtDesc(createBy)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysFile> findAll() {
|
||||
return dao.findByDeletedAtIsNull()
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysFile> findAll(Sort sort) {
|
||||
return dao.findByDeletedAtIsNull(sort)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysFile> findAllByOrderByCreatedAtDesc() {
|
||||
return dao.findByDeletedAtIsNullOrderByCreatedAtDesc()
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Long> count() {
|
||||
return dao.countByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
public Mono<Void> logicalDeleteById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(LocalDateTime.now());
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
public Mono<Void> restoreById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(null);
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
}
|
||||
-69
@@ -1,69 +0,0 @@
|
||||
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 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();
|
||||
}
|
||||
}
|
||||
-57
@@ -1,57 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.repository;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysMenu;
|
||||
import cn.novalon.manage.sys.core.repository.ISysMenuRepository;
|
||||
import cn.novalon.manage.sys.infrastructure.db.converter.SysMenuConverter;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysMenuDao;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Repository
|
||||
public class SysMenuRepository implements ISysMenuRepository {
|
||||
|
||||
private final SysMenuDao dao;
|
||||
private final SysMenuConverter converter;
|
||||
|
||||
public SysMenuRepository(SysMenuDao dao, SysMenuConverter converter) {
|
||||
this.dao = dao;
|
||||
this.converter = converter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysMenu> findById(Long id) {
|
||||
return dao.findByIdAndDeletedAtIsNull(id)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysMenu> findAll() {
|
||||
return dao.findByDeletedAtIsNull()
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysMenu> findByParentId(Long parentId) {
|
||||
return dao.findByParentIdAndDeletedAtIsNull(parentId)
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysMenu> save(SysMenu sysMenu) {
|
||||
return dao.save(converter.toEntity(sysMenu))
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.findByIdAndDeletedAtIsNull(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(LocalDateTime.now());
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
}
|
||||
-85
@@ -1,85 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.repository;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysNotice;
|
||||
import cn.novalon.manage.sys.infrastructure.db.mapper.SysNoticeMapper;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysNoticeDao;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Repository
|
||||
public class SysNoticeRepository {
|
||||
|
||||
private final SysNoticeDao dao;
|
||||
private final SysNoticeMapper mapper;
|
||||
|
||||
public SysNoticeRepository(SysNoticeDao dao, SysNoticeMapper mapper) {
|
||||
this.dao = dao;
|
||||
this.mapper = mapper;
|
||||
}
|
||||
|
||||
public Mono<SysNotice> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.filter(entity -> entity.getDeletedAt() == null)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Mono<SysNotice> save(SysNotice sysNotice) {
|
||||
return dao.save(mapper.toEntity(sysNotice))
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(LocalDateTime.now());
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
public Flux<SysNotice> findByStatus(String status) {
|
||||
return dao.findByStatusAndDeletedAtIsNull(status)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysNotice> findByStatus(String status, Sort sort) {
|
||||
return dao.findByStatusAndDeletedAtIsNull(status, sort)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysNotice> findAll() {
|
||||
return dao.findByDeletedAtIsNull()
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Flux<SysNotice> findAll(Sort sort) {
|
||||
return dao.findByDeletedAtIsNull(sort)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Long> count() {
|
||||
return dao.countByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
public Mono<Void> logicalDeleteById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(LocalDateTime.now());
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
public Mono<Void> restoreById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(null);
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
}
|
||||
-133
@@ -1,133 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.repository;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysRole;
|
||||
import cn.novalon.manage.sys.core.repository.ISysRoleRepository;
|
||||
import cn.novalon.manage.sys.dto.request.PageRequest;
|
||||
import cn.novalon.manage.sys.dto.response.PageResponse;
|
||||
import cn.novalon.manage.sys.infrastructure.db.mapper.SysRoleMapper;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysRoleDao;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysRoleEntity;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.r2dbc.core.R2dbcEntityTemplate;
|
||||
import org.springframework.data.relational.core.query.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Repository
|
||||
public class SysRoleRepository implements ISysRoleRepository {
|
||||
|
||||
private final SysRoleDao dao;
|
||||
private final SysRoleMapper mapper;
|
||||
private final R2dbcEntityTemplate template;
|
||||
|
||||
public SysRoleRepository(SysRoleDao dao, SysRoleMapper mapper, R2dbcEntityTemplate template) {
|
||||
this.dao = dao;
|
||||
this.mapper = mapper;
|
||||
this.template = template;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysRole> findById(Long id) {
|
||||
return dao.findByIdAndDeletedAtIsNull(id)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysRole> findByIdIncludingDeleted(Long id) {
|
||||
return dao.findById(id)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysRole> save(SysRole sysRole) {
|
||||
return dao.save(mapper.toEntity(sysRole))
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(LocalDateTime.now());
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysRole> findAll() {
|
||||
return dao.findByDeletedAtIsNull()
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysRole> findAll(Sort sort) {
|
||||
return dao.findByDeletedAtIsNull(sort)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysRole> findByRoleNameLikeOrRoleKeyLike(String roleName, String roleKey, Sort sort) {
|
||||
return dao.findByRoleNameLikeAndRoleKeyLikeAndDeletedAtIsNull(roleName, roleKey, sort)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> count() {
|
||||
return dao.countByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> countByRoleNameLikeOrRoleKeyLike(String roleName, String roleKey) {
|
||||
return dao.countByRoleNameLikeAndRoleKeyLikeAndDeletedAtIsNull(roleName, roleKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<PageResponse<SysRole>> findByQueryWithPagination(Query query, PageRequest pageRequest) {
|
||||
Sort sort = Sort.by(
|
||||
pageRequest.getOrder().equalsIgnoreCase("desc") ? Sort.Direction.DESC : Sort.Direction.ASC,
|
||||
pageRequest.getSort());
|
||||
|
||||
org.springframework.data.domain.Pageable pageable = org.springframework.data.domain.PageRequest.of(
|
||||
pageRequest.getPage(),
|
||||
pageRequest.getSize(),
|
||||
sort);
|
||||
|
||||
return template.select(SysRoleEntity.class)
|
||||
.matching(query.with(pageable))
|
||||
.all()
|
||||
.collectList()
|
||||
.zipWith(template.count(query, SysRoleEntity.class))
|
||||
.map(tuple -> {
|
||||
long totalCount = tuple.getT2();
|
||||
int totalPages = (int) Math.ceil((double) totalCount / pageRequest.getSize());
|
||||
return new PageResponse<SysRole>(
|
||||
tuple.getT1().stream().map(mapper::toDomain).toList(),
|
||||
totalPages,
|
||||
totalCount,
|
||||
pageRequest.getPage(),
|
||||
pageRequest.getSize());
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysRole> findByRoleName(String roleName) {
|
||||
return dao.findByRoleNameAndDeletedAtIsNull(roleName)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Boolean> existsByRoleName(String roleName) {
|
||||
return dao.existsByRoleNameAndDeletedAtIsNull(roleName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysRole> updateRole(SysRole role) {
|
||||
SysRoleEntity entity = mapper.toEntity(role);
|
||||
return template.update(entity)
|
||||
.thenReturn(role);
|
||||
}
|
||||
}
|
||||
-57
@@ -1,57 +0,0 @@
|
||||
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 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.findAll()
|
||||
.map(converter::toDomain);
|
||||
}
|
||||
|
||||
public Mono<Long> countByUserIdAndIsRead(Long userId, String isRead) {
|
||||
return dao.countByUserIdAndIsRead(userId, isRead);
|
||||
}
|
||||
|
||||
public Mono<Long> count() {
|
||||
return dao.count();
|
||||
}
|
||||
}
|
||||
-184
@@ -1,184 +0,0 @@
|
||||
package cn.novalon.manage.sys.infrastructure.db.repository;
|
||||
|
||||
import cn.novalon.manage.sys.core.domain.SysUser;
|
||||
import cn.novalon.manage.sys.core.repository.ISysUserRepository;
|
||||
import cn.novalon.manage.sys.dto.request.PageRequest;
|
||||
import cn.novalon.manage.sys.dto.response.PageResponse;
|
||||
import cn.novalon.manage.sys.infrastructure.db.mapper.SysUserMapper;
|
||||
import cn.novalon.manage.sys.infrastructure.db.dao.SysUserDao;
|
||||
import cn.novalon.manage.sys.infrastructure.db.entity.SysUserEntity;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.r2dbc.core.R2dbcEntityTemplate;
|
||||
import org.springframework.data.relational.core.query.Query;
|
||||
import org.springframework.r2dbc.core.DatabaseClient;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
public class SysUserRepository implements ISysUserRepository {
|
||||
|
||||
private final SysUserDao dao;
|
||||
private final SysUserMapper mapper;
|
||||
private final R2dbcEntityTemplate template;
|
||||
private final DatabaseClient databaseClient;
|
||||
|
||||
public SysUserRepository(SysUserDao dao, SysUserMapper mapper,
|
||||
R2dbcEntityTemplate template, DatabaseClient databaseClient) {
|
||||
this.dao = dao;
|
||||
this.mapper = mapper;
|
||||
this.template = template;
|
||||
this.databaseClient = databaseClient;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysUser> findByUsername(String username) {
|
||||
return dao.findByUsernameAndDeletedAtIsNull(username)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysUser> findById(Long id) {
|
||||
return dao.findById(id)
|
||||
.filter(entity -> entity.getDeletedAt() == null)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysUser> findByIdIncludingDeleted(Long id) {
|
||||
return dao.findById(id)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysUser> save(SysUser sysUser) {
|
||||
return dao.save(mapper.toEntity(sysUser))
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(LocalDateTime.now());
|
||||
return dao.save(entity);
|
||||
})
|
||||
.then();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysUser> findAll() {
|
||||
return dao.findAll()
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysUser> findAll(Sort sort) {
|
||||
return dao.findAll(sort)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> count() {
|
||||
return dao.countByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<PageResponse<SysUser>> findByQueryWithPagination(Query query, PageRequest pageRequest) {
|
||||
Sort sort = Sort.by(
|
||||
pageRequest.getOrder().equalsIgnoreCase("desc") ? Sort.Direction.DESC : Sort.Direction.ASC,
|
||||
pageRequest.getSort());
|
||||
|
||||
org.springframework.data.domain.Pageable pageable = org.springframework.data.domain.PageRequest.of(
|
||||
pageRequest.getPage(),
|
||||
pageRequest.getSize(),
|
||||
sort);
|
||||
|
||||
return template.select(SysUserEntity.class)
|
||||
.matching(query.with(pageable))
|
||||
.all()
|
||||
.collectList()
|
||||
.zipWith(template.count(query, SysUserEntity.class))
|
||||
.map(tuple -> {
|
||||
long totalCount = tuple.getT2();
|
||||
int totalPages = (int) Math.ceil((double) totalCount / pageRequest.getSize());
|
||||
return new PageResponse<SysUser>(
|
||||
tuple.getT1().stream().map(mapper::toDomain).toList(),
|
||||
totalPages,
|
||||
totalCount,
|
||||
pageRequest.getPage(),
|
||||
pageRequest.getSize());
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysUser> findByDeletedAtIsNull() {
|
||||
return dao.findByDeletedAtIsNull()
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysUser> findByDeletedAtIsNull(Sort sort) {
|
||||
return dao.findByDeletedAtIsNull(sort)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysUser> findByEmail(String email) {
|
||||
return dao.findByEmailAndDeletedAtIsNull(email)
|
||||
.map(mapper::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Boolean> existsByUsername(String username) {
|
||||
return dao.findByUsernameAndDeletedAtIsNull(username)
|
||||
.map(user -> user != null)
|
||||
.defaultIfEmpty(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Boolean> existsByEmail(String email) {
|
||||
return dao.findByEmailAndDeletedAtIsNull(email)
|
||||
.map(user -> user != null)
|
||||
.defaultIfEmpty(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> logicalDeleteById(Long id) {
|
||||
return databaseClient.sql("UPDATE users SET deleted_at = CURRENT_TIMESTAMP WHERE id = $1")
|
||||
.bind("$1", id)
|
||||
.fetch()
|
||||
.rowsUpdated()
|
||||
.then();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> logicalDeleteByIds(List<Long> ids) {
|
||||
return databaseClient.sql("UPDATE users SET deleted_at = CURRENT_TIMESTAMP WHERE id = ANY($1)")
|
||||
.bind("$1", ids.toArray())
|
||||
.fetch()
|
||||
.rowsUpdated()
|
||||
.then();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> restoreById(Long id) {
|
||||
return databaseClient.sql("UPDATE users SET deleted_at = NULL WHERE id = $1")
|
||||
.bind("$1", id)
|
||||
.fetch()
|
||||
.rowsUpdated()
|
||||
.then();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> restoreByIds(List<Long> ids) {
|
||||
return databaseClient.sql("UPDATE users SET deleted_at = NULL WHERE id = ANY($1)")
|
||||
.bind("$1", ids.toArray())
|
||||
.fetch()
|
||||
.rowsUpdated()
|
||||
.then();
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.sys.security;
|
||||
|
||||
import cn.novalon.manage.sys.config.JwtProperties;
|
||||
import cn.novalon.manage.common.config.JwtProperties;
|
||||
import io.jsonwebtoken.Claims;
|
||||
import io.jsonwebtoken.Jwts;
|
||||
import io.jsonwebtoken.security.Keys;
|
||||
|
||||
Reference in New Issue
Block a user