refactor(domain): 将领域模型移动到common模块
重构项目结构,将分散在各模块的领域模型统一移动到manage-common模块 更新相关依赖和引用路径 调整docker-compose配置和测试标记 添加新的Playwright测试配置 优化Dockerfile构建过程
This commit is contained in:
@@ -5,8 +5,16 @@ WORKDIR /app
|
||||
COPY pom.xml .
|
||||
COPY manage-sys/pom.xml manage-sys/
|
||||
COPY manage-sys/src manage-sys/src
|
||||
COPY manage-sys/spotbugs-exclude.xml manage-sys/
|
||||
COPY manage-common/pom.xml manage-common/
|
||||
COPY manage-common/src manage-common/src
|
||||
COPY manage-db/pom.xml manage-db/
|
||||
COPY manage-db/src manage-db/src
|
||||
COPY manage-audit/pom.xml manage-audit/
|
||||
COPY manage-gateway/pom.xml manage-gateway/
|
||||
COPY manage-app/pom.xml manage-app/
|
||||
|
||||
RUN mvn clean package -DskipTests
|
||||
RUN mvn clean install -DskipTests -Ddependency-check.skip=true
|
||||
|
||||
FROM eclipse-temurin:21-jre-alpine
|
||||
|
||||
|
||||
+2
@@ -4,10 +4,12 @@ import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.data.r2dbc.repository.config.EnableR2dbcRepositories;
|
||||
|
||||
@SpringBootApplication
|
||||
@ConfigurationPropertiesScan(basePackages = "cn.novalon.manage")
|
||||
@ComponentScan(basePackages = "cn.novalon.manage")
|
||||
@EnableR2dbcRepositories(basePackages = "cn.novalon.manage.db.dao")
|
||||
public class ManageApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
server:
|
||||
port: 8081
|
||||
port: 8084
|
||||
|
||||
spring:
|
||||
application:
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db.domain;
|
||||
package cn.novalon.manage.common.domain;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db.domain;
|
||||
package cn.novalon.manage.common.domain;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db.domain;
|
||||
package cn.novalon.manage.common.domain;
|
||||
|
||||
public class OperationLog extends BaseDomain {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db.domain;
|
||||
package cn.novalon.manage.common.domain;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db.domain;
|
||||
package cn.novalon.manage.common.domain;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db.domain;
|
||||
package cn.novalon.manage.common.domain;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db.domain;
|
||||
package cn.novalon.manage.common.domain;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db.domain;
|
||||
package cn.novalon.manage.common.domain;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db.domain;
|
||||
package cn.novalon.manage.common.domain;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db.domain;
|
||||
package cn.novalon.manage.common.domain;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db.domain;
|
||||
package cn.novalon.manage.common.domain;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db.domain;
|
||||
package cn.novalon.manage.common.domain;
|
||||
|
||||
import cn.novalon.manage.common.util.SnowflakeId;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db.domain;
|
||||
package cn.novalon.manage.common.domain;
|
||||
|
||||
import cn.novalon.manage.common.util.SnowflakeId;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db.domain;
|
||||
package cn.novalon.manage.common.domain;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.common.domain.query;
|
||||
|
||||
/**
|
||||
* @author zhangxiang
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.common.domain.query;
|
||||
|
||||
/**
|
||||
* @author zhangxiang
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.common.domain.query;
|
||||
|
||||
/**
|
||||
* @author zhangxiang
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.converter;
|
||||
|
||||
import cn.novalon.manage.db.domain.Dictionary;
|
||||
import cn.novalon.manage.common.domain.Dictionary;
|
||||
import cn.novalon.manage.db.entity.DictionaryEntity;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.converter;
|
||||
|
||||
import cn.novalon.manage.db.domain.OperationLog;
|
||||
import cn.novalon.manage.common.domain.OperationLog;
|
||||
import cn.novalon.manage.db.entity.OperationLogEntity;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.converter;
|
||||
|
||||
import cn.novalon.manage.db.domain.SysConfig;
|
||||
import cn.novalon.manage.common.domain.SysConfig;
|
||||
import cn.novalon.manage.db.entity.SysConfigEntity;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.converter;
|
||||
|
||||
import cn.novalon.manage.db.domain.SysDictData;
|
||||
import cn.novalon.manage.common.domain.SysDictData;
|
||||
import cn.novalon.manage.db.entity.SysDictDataEntity;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.converter;
|
||||
|
||||
import cn.novalon.manage.db.domain.SysDictType;
|
||||
import cn.novalon.manage.common.domain.SysDictType;
|
||||
import cn.novalon.manage.db.entity.SysDictTypeEntity;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.converter;
|
||||
|
||||
import cn.novalon.manage.db.domain.SysExceptionLog;
|
||||
import cn.novalon.manage.common.domain.SysExceptionLog;
|
||||
import cn.novalon.manage.db.entity.SysExceptionLogEntity;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.converter;
|
||||
|
||||
import cn.novalon.manage.db.domain.SysFile;
|
||||
import cn.novalon.manage.common.domain.SysFile;
|
||||
import cn.novalon.manage.db.entity.SysFileEntity;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.converter;
|
||||
|
||||
import cn.novalon.manage.db.domain.SysLoginLog;
|
||||
import cn.novalon.manage.common.domain.SysLoginLog;
|
||||
import cn.novalon.manage.db.entity.SysLoginLogEntity;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.converter;
|
||||
|
||||
import cn.novalon.manage.db.domain.SysMenu;
|
||||
import cn.novalon.manage.common.domain.SysMenu;
|
||||
import cn.novalon.manage.db.entity.SysMenuEntity;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.converter;
|
||||
|
||||
import cn.novalon.manage.db.domain.SysNotice;
|
||||
import cn.novalon.manage.common.domain.SysNotice;
|
||||
import cn.novalon.manage.db.entity.SysNoticeEntity;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.converter;
|
||||
|
||||
import cn.novalon.manage.db.domain.SysRole;
|
||||
import cn.novalon.manage.common.domain.SysRole;
|
||||
import cn.novalon.manage.db.entity.SysRoleEntity;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.converter;
|
||||
|
||||
import cn.novalon.manage.db.domain.SysUser;
|
||||
import cn.novalon.manage.common.domain.SysUser;
|
||||
import cn.novalon.manage.db.entity.SysUserEntity;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.converter;
|
||||
|
||||
import cn.novalon.manage.db.domain.SysUserMessage;
|
||||
import cn.novalon.manage.common.domain.SysUserMessage;
|
||||
import cn.novalon.manage.db.entity.SysUserMessageEntity;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
+3
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import cn.novalon.manage.db.entity.DictionaryEntity;
|
||||
import org.springframework.data.r2dbc.repository.R2dbcRepository;
|
||||
@@ -13,6 +13,8 @@ public interface DictionaryDao extends R2dbcRepository<DictionaryEntity, Long> {
|
||||
|
||||
Mono<DictionaryEntity> findByTypeAndCode(String type, String code);
|
||||
|
||||
Mono<DictionaryEntity> findByTypeAndCodeAndDeletedAtIsNull(String type, String code);
|
||||
|
||||
Flux<DictionaryEntity> findByDeletedAtIsNull();
|
||||
|
||||
Flux<DictionaryEntity> findByDeletedAtIsNullOrderBySortAsc();
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import cn.novalon.manage.db.entity.OperationLogEntity;
|
||||
import org.springframework.data.r2dbc.repository.R2dbcRepository;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import cn.novalon.manage.db.entity.SysConfigEntity;
|
||||
import org.springframework.data.domain.Sort;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import cn.novalon.manage.db.entity.SysDictDataEntity;
|
||||
import org.springframework.data.domain.Sort;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import cn.novalon.manage.db.entity.SysDictTypeEntity;
|
||||
import org.springframework.data.domain.Sort;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import cn.novalon.manage.db.entity.SysExceptionLogEntity;
|
||||
import org.springframework.data.r2dbc.repository.R2dbcRepository;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import cn.novalon.manage.db.entity.SysFileEntity;
|
||||
import org.springframework.data.domain.Sort;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import cn.novalon.manage.db.entity.SysLoginLogEntity;
|
||||
import org.springframework.data.r2dbc.repository.R2dbcRepository;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import cn.novalon.manage.db.entity.SysMenuEntity;
|
||||
import org.springframework.data.r2dbc.repository.R2dbcRepository;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import cn.novalon.manage.db.entity.SysNoticeEntity;
|
||||
import org.springframework.data.domain.Sort;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import cn.novalon.manage.db.entity.SysRoleEntity;
|
||||
import org.springframework.data.domain.Sort;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import cn.novalon.manage.db.entity.SysUserEntity;
|
||||
import org.springframework.data.domain.Sort;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package cn.novalon.manage.db;
|
||||
package cn.novalon.manage.db.dao;
|
||||
|
||||
import cn.novalon.manage.db.entity.SysUserMessageEntity;
|
||||
import org.springframework.data.r2dbc.repository.R2dbcRepository;
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package cn.novalon.manage.db.entity;
|
||||
|
||||
import cn.novalon.manage.db.SysMenuQuery;
|
||||
import cn.novalon.manage.db.QueryField;
|
||||
import cn.novalon.manage.common.domain.query.SysMenuQuery;
|
||||
import cn.novalon.manage.db.dao.QueryField;
|
||||
|
||||
/**
|
||||
* @author zhangxiang
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package cn.novalon.manage.db.entity;
|
||||
|
||||
import cn.novalon.manage.db.SysRoleQuery;
|
||||
import cn.novalon.manage.db.QueryField;
|
||||
import cn.novalon.manage.common.domain.query.SysRoleQuery;
|
||||
import cn.novalon.manage.db.dao.QueryField;
|
||||
|
||||
/**
|
||||
* @author zhangxiang
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package cn.novalon.manage.db.entity;
|
||||
|
||||
import cn.novalon.manage.db.SysUserQuery;
|
||||
import cn.novalon.manage.db.QueryField;
|
||||
import cn.novalon.manage.common.domain.query.SysUserQuery;
|
||||
import cn.novalon.manage.db.dao.QueryField;
|
||||
|
||||
/**
|
||||
* @author zhangxiang
|
||||
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.Dictionary;
|
||||
import cn.novalon.manage.db.converter.DictionaryConverter;
|
||||
import cn.novalon.manage.db.dao.DictionaryDao;
|
||||
import cn.novalon.manage.db.entity.DictionaryEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
@Repository
|
||||
public class DictionaryRepository implements IDictionaryRepository {
|
||||
|
||||
@Autowired
|
||||
private DictionaryDao dictionaryDao;
|
||||
|
||||
@Autowired
|
||||
private DictionaryConverter dictionaryConverter;
|
||||
|
||||
@Override
|
||||
public Flux<Dictionary> findAll() {
|
||||
return dictionaryDao.findByDeletedAtIsNullOrderBySortAsc()
|
||||
.map(dictionaryConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<Dictionary> findByDeletedAtIsNullOrderBySortAsc() {
|
||||
return dictionaryDao.findByDeletedAtIsNullOrderBySortAsc()
|
||||
.map(dictionaryConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Dictionary> findById(Long id) {
|
||||
return dictionaryDao.findById(id)
|
||||
.map(dictionaryConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<Dictionary> findByType(String type) {
|
||||
return dictionaryDao.findByType(type)
|
||||
.map(dictionaryConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Dictionary> findByTypeAndCode(String type, String code) {
|
||||
return dictionaryDao.findByTypeAndCodeAndDeletedAtIsNull(type, code)
|
||||
.map(dictionaryConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Boolean> existsByTypeAndCode(String type, String code) {
|
||||
return dictionaryDao.findByTypeAndCodeAndDeletedAtIsNull(type, code)
|
||||
.map(entity -> true)
|
||||
.defaultIfEmpty(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Dictionary> save(Dictionary dictionary) {
|
||||
DictionaryEntity entity = dictionaryConverter.toEntity(dictionary);
|
||||
return dictionaryDao.save(entity)
|
||||
.map(dictionaryConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return dictionaryDao.deleteByIdAndDeletedAtIsNull(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteByIdAndDeletedAtIsNull(Long id) {
|
||||
return dictionaryDao.deleteByIdAndDeletedAtIsNull(id);
|
||||
}
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.Dictionary;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
public interface IDictionaryRepository {
|
||||
|
||||
Flux<Dictionary> findAll();
|
||||
|
||||
Flux<Dictionary> findByDeletedAtIsNullOrderBySortAsc();
|
||||
|
||||
Mono<Dictionary> findById(Long id);
|
||||
|
||||
Flux<Dictionary> findByType(String type);
|
||||
|
||||
Mono<Dictionary> findByTypeAndCode(String type, String code);
|
||||
|
||||
Mono<Boolean> existsByTypeAndCode(String type, String code);
|
||||
|
||||
Mono<Dictionary> save(Dictionary dictionary);
|
||||
|
||||
Mono<Void> deleteById(Long id);
|
||||
|
||||
Mono<Void> deleteByIdAndDeletedAtIsNull(Long id);
|
||||
}
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.db.domain.OperationLog;
|
||||
import cn.novalon.manage.common.domain.OperationLog;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
@@ -21,4 +21,4 @@ public interface IOperationLogRepository {
|
||||
Mono<Long> count();
|
||||
|
||||
Mono<Long> countByCreatedAtAfter(LocalDateTime dateTime);
|
||||
}
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysConfig;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
public interface ISysConfigRepository {
|
||||
|
||||
Mono<SysConfig> findById(Long id);
|
||||
|
||||
Mono<SysConfig> findByConfigKeyAndDeletedAtIsNull(String configKey);
|
||||
|
||||
Flux<SysConfig> findByDeletedAtIsNull();
|
||||
|
||||
Flux<SysConfig> findAll();
|
||||
|
||||
Flux<SysConfig> findAll(Sort sort);
|
||||
|
||||
Mono<SysConfig> save(SysConfig config);
|
||||
|
||||
Mono<Void> deleteByIdAndDeletedAtIsNull(Long id);
|
||||
|
||||
Mono<Long> count();
|
||||
|
||||
Mono<Boolean> existsByConfigKey(String configKey);
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysDictData;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
public interface ISysDictDataRepository {
|
||||
|
||||
Flux<SysDictData> findByDeletedAtIsNull();
|
||||
|
||||
Flux<SysDictData> findByDictTypeAndDeletedAtIsNull(String dictType);
|
||||
|
||||
Flux<SysDictData> findByDictTypeAndStatusAndDeletedAtIsNull(String dictType, String status);
|
||||
|
||||
Mono<SysDictData> findById(Long id);
|
||||
|
||||
Mono<SysDictData> save(SysDictData dictData);
|
||||
|
||||
Mono<Void> deleteByIdAndDeletedAtIsNull(Long id);
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysDictType;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
public interface ISysDictTypeRepository {
|
||||
|
||||
Flux<SysDictType> findByDeletedAtIsNull();
|
||||
|
||||
Mono<SysDictType> findById(Long id);
|
||||
|
||||
Mono<SysDictType> findByDictTypeAndDeletedAtIsNull(String dictType);
|
||||
|
||||
Mono<SysDictType> save(SysDictType dictType);
|
||||
|
||||
Mono<Void> deleteByIdAndDeletedAtIsNull(Long id);
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysExceptionLog;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
public interface ISysExceptionLogRepository {
|
||||
|
||||
Flux<SysExceptionLog> findAllByOrderByCreateTimeDesc();
|
||||
|
||||
Flux<SysExceptionLog> findByUsernameOrderByCreateTimeDesc(String username);
|
||||
|
||||
Flux<SysExceptionLog> findByCreateTimeBetweenOrderByCreateTimeDesc(LocalDateTime startTime, LocalDateTime endTime);
|
||||
|
||||
Mono<SysExceptionLog> save(SysExceptionLog exceptionLog);
|
||||
|
||||
Mono<SysExceptionLog> findById(Long id);
|
||||
|
||||
Mono<Long> count();
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysFile;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
public interface ISysFileRepository {
|
||||
|
||||
Flux<SysFile> findByDeletedAtIsNullOrderByCreatedAtDesc();
|
||||
|
||||
Flux<SysFile> findByCreateByOrderByCreatedAtDesc(String createBy);
|
||||
|
||||
Mono<SysFile> findById(Long id);
|
||||
|
||||
Flux<SysFile> findByFilePathContaining(String fileName);
|
||||
|
||||
Mono<SysFile> save(SysFile sysFile);
|
||||
|
||||
Mono<Void> deleteByIdAndDeletedAtIsNull(Long id);
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysLoginLog;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
public interface ISysLoginLogRepository {
|
||||
|
||||
Flux<SysLoginLog> findAllByOrderByLoginTimeDesc();
|
||||
|
||||
Flux<SysLoginLog> findByUsernameOrderByLoginTimeDesc(String username);
|
||||
|
||||
Flux<SysLoginLog> findByLoginTimeBetweenOrderByLoginTimeDesc(LocalDateTime startTime, LocalDateTime endTime);
|
||||
|
||||
Mono<SysLoginLog> save(SysLoginLog loginLog);
|
||||
|
||||
Mono<SysLoginLog> findById(Long id);
|
||||
|
||||
Mono<Long> count();
|
||||
}
|
||||
+22
-6
@@ -1,18 +1,34 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.db.domain.SysMenu;
|
||||
import cn.novalon.manage.common.domain.SysMenu;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageResponse;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.relational.core.query.Query;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ISysMenuRepository {
|
||||
|
||||
Mono<SysMenu> findById(Long id);
|
||||
|
||||
Flux<SysMenu> findAll();
|
||||
|
||||
Flux<SysMenu> findByParentId(Long parentId);
|
||||
|
||||
Flux<SysMenu> findByParentIdOrderBySort(Long parentId, Sort sort);
|
||||
|
||||
Mono<SysMenu> findById(Long id);
|
||||
|
||||
Mono<SysMenu> save(SysMenu sysMenu);
|
||||
|
||||
Mono<Void> deleteById(Long id);
|
||||
}
|
||||
|
||||
Flux<SysMenu> findAll();
|
||||
|
||||
Flux<SysMenu> findAll(Sort sort);
|
||||
|
||||
Mono<Long> count();
|
||||
|
||||
Mono<PageResponse<SysMenu>> findByQueryWithPagination(Query query, PageRequest pageRequest);
|
||||
|
||||
Flux<SysMenu> findByStatus(String status);
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysNotice;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
public interface ISysNoticeRepository {
|
||||
|
||||
Flux<SysNotice> findByDeletedAtIsNull();
|
||||
|
||||
Flux<SysNotice> findByStatusAndDeletedAtIsNull(String status);
|
||||
|
||||
Mono<SysNotice> findById(Long id);
|
||||
|
||||
Mono<SysNotice> save(SysNotice notice);
|
||||
|
||||
Mono<Void> deleteByIdAndDeletedAtIsNull(Long id);
|
||||
}
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.db.domain.SysRole;
|
||||
import cn.novalon.manage.common.domain.SysRole;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageResponse;
|
||||
import org.springframework.data.domain.Sort;
|
||||
@@ -35,4 +35,4 @@ public interface ISysRoleRepository {
|
||||
Mono<Boolean> existsByRoleName(String roleName);
|
||||
|
||||
Mono<SysRole> updateRole(SysRole role);
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysUserMessage;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
public interface ISysUserMessageRepository {
|
||||
|
||||
Flux<SysUserMessage> findByUserIdOrderByCreateTimeDesc(Long userId);
|
||||
|
||||
Flux<SysUserMessage> findByUserIdAndIsReadOrderByCreateTimeDesc(Long userId, String isRead);
|
||||
|
||||
Mono<Long> countByUserIdAndIsRead(Long userId, String isRead);
|
||||
|
||||
Mono<SysUserMessage> save(SysUserMessage message);
|
||||
|
||||
Mono<SysUserMessage> findById(Long id);
|
||||
|
||||
Mono<Void> deleteById(Long id);
|
||||
}
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.db.domain.SysUser;
|
||||
import cn.novalon.manage.common.domain.SysUser;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageResponse;
|
||||
import org.springframework.data.domain.Sort;
|
||||
@@ -47,4 +47,4 @@ public interface ISysUserRepository {
|
||||
Mono<Void> restoreById(Long id);
|
||||
|
||||
Mono<Void> restoreByIds(List<Long> ids);
|
||||
}
|
||||
}
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.OperationLog;
|
||||
import cn.novalon.manage.db.converter.OperationLogConverter;
|
||||
import cn.novalon.manage.db.entity.OperationLogEntity;
|
||||
import cn.novalon.manage.db.dao.OperationLogDao;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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 {
|
||||
|
||||
@Autowired
|
||||
private OperationLogDao operationLogDao;
|
||||
|
||||
@Autowired
|
||||
private OperationLogConverter operationLogConverter;
|
||||
|
||||
@Override
|
||||
public Mono<OperationLog> findById(Long id) {
|
||||
return operationLogDao.findById(id)
|
||||
.map(operationLogConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<OperationLog> save(OperationLog operationLog) {
|
||||
OperationLogEntity entity = operationLogConverter.toEntity(operationLog);
|
||||
return operationLogDao.save(entity)
|
||||
.map(operationLogConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return operationLogDao.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<OperationLog> findAll() {
|
||||
return operationLogDao.findAll()
|
||||
.map(operationLogConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<OperationLog> findByUsername(String username) {
|
||||
return operationLogDao.findByUsernameAndDeletedAtIsNull(username)
|
||||
.map(operationLogConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> count() {
|
||||
return operationLogDao.countByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> countByCreatedAtAfter(LocalDateTime dateTime) {
|
||||
return operationLogDao.countByCreatedAtAfterAndDeletedAtIsNull(dateTime);
|
||||
}
|
||||
}
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.db.converter.SysConfigConverter;
|
||||
import cn.novalon.manage.db.dao.SysConfigDao;
|
||||
import cn.novalon.manage.db.entity.SysConfigEntity;
|
||||
import cn.novalon.manage.common.domain.SysConfig;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
@Repository
|
||||
public class SysConfigRepository implements ISysConfigRepository {
|
||||
|
||||
@Autowired
|
||||
private SysConfigDao sysConfigDao;
|
||||
|
||||
@Autowired
|
||||
private SysConfigConverter sysConfigConverter;
|
||||
|
||||
@Override
|
||||
public Mono<SysConfig> findById(Long id) {
|
||||
return sysConfigDao.findById(id)
|
||||
.map(sysConfigConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysConfig> findByConfigKeyAndDeletedAtIsNull(String configKey) {
|
||||
return sysConfigDao.findByConfigKeyAndDeletedAtIsNull(configKey)
|
||||
.map(sysConfigConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysConfig> findByDeletedAtIsNull() {
|
||||
return sysConfigDao.findByDeletedAtIsNull()
|
||||
.map(sysConfigConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysConfig> findAll() {
|
||||
return sysConfigDao.findByDeletedAtIsNull()
|
||||
.map(sysConfigConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysConfig> findAll(Sort sort) {
|
||||
return sysConfigDao.findByDeletedAtIsNull(sort)
|
||||
.map(sysConfigConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysConfig> save(SysConfig config) {
|
||||
SysConfigEntity entity = sysConfigConverter.toEntity(config);
|
||||
return sysConfigDao.save(entity)
|
||||
.map(sysConfigConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteByIdAndDeletedAtIsNull(Long id) {
|
||||
return sysConfigDao.deleteByIdAndDeletedAtIsNull(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> count() {
|
||||
return sysConfigDao.countByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Boolean> existsByConfigKey(String configKey) {
|
||||
return sysConfigDao.findByConfigKeyAndDeletedAtIsNull(configKey)
|
||||
.map(config -> true)
|
||||
.defaultIfEmpty(false);
|
||||
}
|
||||
}
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysDictData;
|
||||
import cn.novalon.manage.db.converter.SysDictDataConverter;
|
||||
import cn.novalon.manage.db.dao.SysDictDataDao;
|
||||
import cn.novalon.manage.db.entity.SysDictDataEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
@Repository
|
||||
public class SysDictDataRepository implements ISysDictDataRepository {
|
||||
|
||||
@Autowired
|
||||
private SysDictDataDao sysDictDataDao;
|
||||
|
||||
@Autowired
|
||||
private SysDictDataConverter sysDictDataConverter;
|
||||
|
||||
@Override
|
||||
public Flux<SysDictData> findByDeletedAtIsNull() {
|
||||
return sysDictDataDao.findByDeletedAtIsNull()
|
||||
.map(sysDictDataConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysDictData> findByDictTypeAndDeletedAtIsNull(String dictType) {
|
||||
return sysDictDataDao.findByDictTypeAndDeletedAtIsNull(dictType)
|
||||
.map(sysDictDataConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysDictData> findByDictTypeAndStatusAndDeletedAtIsNull(String dictType, String status) {
|
||||
return sysDictDataDao.findByDictTypeAndStatusAndDeletedAtIsNull(dictType, status)
|
||||
.map(sysDictDataConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysDictData> findById(Long id) {
|
||||
return sysDictDataDao.findById(id)
|
||||
.map(sysDictDataConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysDictData> save(SysDictData dictData) {
|
||||
SysDictDataEntity entity = sysDictDataConverter.toEntity(dictData);
|
||||
return sysDictDataDao.save(entity)
|
||||
.map(sysDictDataConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteByIdAndDeletedAtIsNull(Long id) {
|
||||
return sysDictDataDao.deleteByIdAndDeletedAtIsNull(id);
|
||||
}
|
||||
}
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysDictType;
|
||||
import cn.novalon.manage.db.converter.SysDictTypeConverter;
|
||||
import cn.novalon.manage.db.dao.SysDictTypeDao;
|
||||
import cn.novalon.manage.db.entity.SysDictTypeEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
@Repository
|
||||
public class SysDictTypeRepository implements ISysDictTypeRepository {
|
||||
|
||||
@Autowired
|
||||
private SysDictTypeDao sysDictTypeDao;
|
||||
|
||||
@Autowired
|
||||
private SysDictTypeConverter sysDictTypeConverter;
|
||||
|
||||
@Override
|
||||
public Flux<SysDictType> findByDeletedAtIsNull() {
|
||||
return sysDictTypeDao.findByDeletedAtIsNull()
|
||||
.map(sysDictTypeConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysDictType> findById(Long id) {
|
||||
return sysDictTypeDao.findById(id)
|
||||
.map(sysDictTypeConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysDictType> findByDictTypeAndDeletedAtIsNull(String dictType) {
|
||||
return sysDictTypeDao.findByDictTypeAndDeletedAtIsNull(dictType)
|
||||
.map(sysDictTypeConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysDictType> save(SysDictType dictType) {
|
||||
SysDictTypeEntity entity = sysDictTypeConverter.toEntity(dictType);
|
||||
return sysDictTypeDao.save(entity)
|
||||
.map(sysDictTypeConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteByIdAndDeletedAtIsNull(Long id) {
|
||||
return sysDictTypeDao.deleteByIdAndDeletedAtIsNull(id);
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysExceptionLog;
|
||||
import cn.novalon.manage.db.converter.SysExceptionLogConverter;
|
||||
import cn.novalon.manage.db.dao.SysExceptionLogDao;
|
||||
import cn.novalon.manage.db.entity.SysExceptionLogEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Repository
|
||||
public class SysExceptionLogRepository implements ISysExceptionLogRepository {
|
||||
|
||||
@Autowired
|
||||
private SysExceptionLogDao sysExceptionLogDao;
|
||||
|
||||
@Autowired
|
||||
private SysExceptionLogConverter sysExceptionLogConverter;
|
||||
|
||||
@Override
|
||||
public Flux<SysExceptionLog> findAllByOrderByCreateTimeDesc() {
|
||||
return sysExceptionLogDao.findAllByOrderByCreateTimeDesc()
|
||||
.map(sysExceptionLogConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysExceptionLog> findByUsernameOrderByCreateTimeDesc(String username) {
|
||||
return sysExceptionLogDao.findByUsernameOrderByCreateTimeDesc(username)
|
||||
.map(sysExceptionLogConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysExceptionLog> findByCreateTimeBetweenOrderByCreateTimeDesc(LocalDateTime startTime,
|
||||
LocalDateTime endTime) {
|
||||
return sysExceptionLogDao.findByCreateTimeBetweenOrderByCreateTimeDesc(startTime, endTime)
|
||||
.map(sysExceptionLogConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysExceptionLog> save(SysExceptionLog exceptionLog) {
|
||||
SysExceptionLogEntity entity = sysExceptionLogConverter.toEntity(exceptionLog);
|
||||
return sysExceptionLogDao.save(entity)
|
||||
.map(sysExceptionLogConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysExceptionLog> findById(Long id) {
|
||||
return sysExceptionLogDao.findById(id)
|
||||
.map(sysExceptionLogConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> count() {
|
||||
return sysExceptionLogDao.count();
|
||||
}
|
||||
}
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysFile;
|
||||
import cn.novalon.manage.db.converter.SysFileConverter;
|
||||
import cn.novalon.manage.db.dao.SysFileDao;
|
||||
import cn.novalon.manage.db.entity.SysFileEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
@Repository
|
||||
public class SysFileRepository implements ISysFileRepository {
|
||||
|
||||
@Autowired
|
||||
private SysFileDao sysFileDao;
|
||||
|
||||
@Autowired
|
||||
private SysFileConverter sysFileConverter;
|
||||
|
||||
@Override
|
||||
public Flux<SysFile> findByDeletedAtIsNullOrderByCreatedAtDesc() {
|
||||
return sysFileDao.findByDeletedAtIsNullOrderByCreatedAtDesc()
|
||||
.map(sysFileConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysFile> findByCreateByOrderByCreatedAtDesc(String createBy) {
|
||||
return sysFileDao.findByCreateByOrderByCreatedAtDesc(createBy)
|
||||
.map(sysFileConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysFile> findById(Long id) {
|
||||
return sysFileDao.findById(id)
|
||||
.map(sysFileConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysFile> findByFilePathContaining(String fileName) {
|
||||
return sysFileDao.findByFilePathContaining(fileName)
|
||||
.map(sysFileConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysFile> save(SysFile sysFile) {
|
||||
SysFileEntity entity = sysFileConverter.toEntity(sysFile);
|
||||
return sysFileDao.save(entity)
|
||||
.map(sysFileConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteByIdAndDeletedAtIsNull(Long id) {
|
||||
return sysFileDao.deleteByIdAndDeletedAtIsNull(id);
|
||||
}
|
||||
}
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysLoginLog;
|
||||
import cn.novalon.manage.db.converter.SysLoginLogConverter;
|
||||
import cn.novalon.manage.db.dao.SysLoginLogDao;
|
||||
import cn.novalon.manage.db.entity.SysLoginLogEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Repository
|
||||
public class SysLoginLogRepository implements ISysLoginLogRepository {
|
||||
|
||||
@Autowired
|
||||
private SysLoginLogDao sysLoginLogDao;
|
||||
|
||||
@Autowired
|
||||
private SysLoginLogConverter sysLoginLogConverter;
|
||||
|
||||
@Override
|
||||
public Flux<SysLoginLog> findAllByOrderByLoginTimeDesc() {
|
||||
return sysLoginLogDao.findAllByOrderByLoginTimeDesc()
|
||||
.map(sysLoginLogConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysLoginLog> findByUsernameOrderByLoginTimeDesc(String username) {
|
||||
return sysLoginLogDao.findByUsernameOrderByLoginTimeDesc(username)
|
||||
.map(sysLoginLogConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysLoginLog> findByLoginTimeBetweenOrderByLoginTimeDesc(LocalDateTime startTime, LocalDateTime endTime) {
|
||||
return sysLoginLogDao.findByLoginTimeBetweenOrderByLoginTimeDesc(startTime, endTime)
|
||||
.map(sysLoginLogConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysLoginLog> save(SysLoginLog loginLog) {
|
||||
SysLoginLogEntity entity = sysLoginLogConverter.toEntity(loginLog);
|
||||
return sysLoginLogDao.save(entity)
|
||||
.map(sysLoginLogConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysLoginLog> findById(Long id) {
|
||||
return sysLoginLogDao.findById(id)
|
||||
.map(sysLoginLogConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> count() {
|
||||
return sysLoginLogDao.count();
|
||||
}
|
||||
}
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysMenu;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageResponse;
|
||||
import cn.novalon.manage.db.converter.SysMenuConverter;
|
||||
import cn.novalon.manage.db.dao.SysMenuDao;
|
||||
import cn.novalon.manage.db.entity.SysMenuEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Sort;
|
||||
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.util.List;
|
||||
|
||||
@Repository
|
||||
public class SysMenuRepository implements ISysMenuRepository {
|
||||
|
||||
@Autowired
|
||||
private SysMenuDao sysMenuDao;
|
||||
|
||||
@Autowired
|
||||
private SysMenuConverter sysMenuConverter;
|
||||
|
||||
@Override
|
||||
public Flux<SysMenu> findByParentId(Long parentId) {
|
||||
return sysMenuDao.findByParentIdAndDeletedAtIsNull(parentId)
|
||||
.map(sysMenuConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysMenu> findByParentIdOrderBySort(Long parentId, Sort sort) {
|
||||
return sysMenuDao.findByParentIdAndDeletedAtIsNull(parentId)
|
||||
.map(sysMenuConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysMenu> findById(Long id) {
|
||||
return sysMenuDao.findByIdAndDeletedAtIsNull(id)
|
||||
.map(sysMenuConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysMenu> save(SysMenu sysMenu) {
|
||||
SysMenuEntity entity = sysMenuConverter.toEntity(sysMenu);
|
||||
return sysMenuDao.save(entity)
|
||||
.map(sysMenuConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return sysMenuDao.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysMenu> findAll() {
|
||||
return sysMenuDao.findByDeletedAtIsNull()
|
||||
.map(sysMenuConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysMenu> findAll(Sort sort) {
|
||||
return sysMenuDao.findByDeletedAtIsNull()
|
||||
.map(sysMenuConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> count() {
|
||||
return sysMenuDao.count();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<PageResponse<SysMenu>> findByQueryWithPagination(Query query, PageRequest pageRequest) {
|
||||
return Mono.just(new PageResponse<>());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysMenu> findByStatus(String status) {
|
||||
return sysMenuDao.findByDeletedAtIsNull()
|
||||
.map(sysMenuConverter::toDomain);
|
||||
}
|
||||
}
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysNotice;
|
||||
import cn.novalon.manage.db.converter.SysNoticeConverter;
|
||||
import cn.novalon.manage.db.dao.SysNoticeDao;
|
||||
import cn.novalon.manage.db.entity.SysNoticeEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
@Repository
|
||||
public class SysNoticeRepository implements ISysNoticeRepository {
|
||||
|
||||
@Autowired
|
||||
private SysNoticeDao sysNoticeDao;
|
||||
|
||||
@Autowired
|
||||
private SysNoticeConverter sysNoticeConverter;
|
||||
|
||||
@Override
|
||||
public Flux<SysNotice> findByDeletedAtIsNull() {
|
||||
return sysNoticeDao.findByDeletedAtIsNull()
|
||||
.map(sysNoticeConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysNotice> findByStatusAndDeletedAtIsNull(String status) {
|
||||
return sysNoticeDao.findByStatusAndDeletedAtIsNull(status)
|
||||
.map(sysNoticeConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysNotice> findById(Long id) {
|
||||
return sysNoticeDao.findById(id)
|
||||
.map(sysNoticeConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysNotice> save(SysNotice notice) {
|
||||
SysNoticeEntity entity = sysNoticeConverter.toEntity(notice);
|
||||
return sysNoticeDao.save(entity)
|
||||
.map(sysNoticeConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteByIdAndDeletedAtIsNull(Long id) {
|
||||
return sysNoticeDao.deleteByIdAndDeletedAtIsNull(id);
|
||||
}
|
||||
}
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysRole;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageResponse;
|
||||
import cn.novalon.manage.db.converter.SysRoleConverter;
|
||||
import cn.novalon.manage.db.dao.SysRoleDao;
|
||||
import cn.novalon.manage.db.entity.SysRoleEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.relational.core.query.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
@Repository
|
||||
public class SysRoleRepository implements ISysRoleRepository {
|
||||
|
||||
@Autowired
|
||||
private SysRoleDao sysRoleDao;
|
||||
|
||||
@Autowired
|
||||
private SysRoleConverter sysRoleConverter;
|
||||
|
||||
@Override
|
||||
public Mono<SysRole> findById(Long id) {
|
||||
return sysRoleDao.findByIdAndDeletedAtIsNull(id)
|
||||
.map(sysRoleConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysRole> findByIdIncludingDeleted(Long id) {
|
||||
return sysRoleDao.findById(id)
|
||||
.map(sysRoleConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysRole> save(SysRole sysRole) {
|
||||
SysRoleEntity entity = sysRoleConverter.toEntity(sysRole);
|
||||
return sysRoleDao.save(entity)
|
||||
.map(sysRoleConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return sysRoleDao.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysRole> findAll() {
|
||||
return sysRoleDao.findByDeletedAtIsNull()
|
||||
.map(sysRoleConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysRole> findAll(Sort sort) {
|
||||
return sysRoleDao.findByDeletedAtIsNull(sort)
|
||||
.map(sysRoleConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysRole> findByRoleNameLikeOrRoleKeyLike(String roleName, String roleKey, Sort sort) {
|
||||
return sysRoleDao.findByRoleNameLikeAndRoleKeyLikeAndDeletedAtIsNull(roleName, roleKey, sort)
|
||||
.map(sysRoleConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> count() {
|
||||
return sysRoleDao.countByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> countByRoleNameLikeOrRoleKeyLike(String roleName, String roleKey) {
|
||||
return sysRoleDao.countByRoleNameLikeAndRoleKeyLikeAndDeletedAtIsNull(roleName, roleKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<PageResponse<SysRole>> findByQueryWithPagination(Query query, PageRequest pageRequest) {
|
||||
return Mono.just(new PageResponse<>());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysRole> findByRoleName(String roleName) {
|
||||
return sysRoleDao.findByRoleNameAndDeletedAtIsNull(roleName)
|
||||
.map(sysRoleConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Boolean> existsByRoleName(String roleName) {
|
||||
return sysRoleDao.existsByRoleNameAndDeletedAtIsNull(roleName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysRole> updateRole(SysRole role) {
|
||||
SysRoleEntity entity = sysRoleConverter.toEntity(role);
|
||||
return sysRoleDao.save(entity)
|
||||
.map(sysRoleConverter::toDomain);
|
||||
}
|
||||
}
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.common.domain.SysUserMessage;
|
||||
import cn.novalon.manage.db.converter.SysUserMessageConverter;
|
||||
import cn.novalon.manage.db.entity.SysUserMessageEntity;
|
||||
import cn.novalon.manage.db.dao.SysUserMessageDao;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
@Repository
|
||||
public class SysUserMessageRepository implements ISysUserMessageRepository {
|
||||
|
||||
@Autowired
|
||||
private SysUserMessageDao sysUserMessageDao;
|
||||
|
||||
@Autowired
|
||||
private SysUserMessageConverter sysUserMessageConverter;
|
||||
|
||||
@Override
|
||||
public Flux<SysUserMessage> findByUserIdOrderByCreateTimeDesc(Long userId) {
|
||||
return sysUserMessageDao.findByUserIdOrderByCreateTimeDesc(userId)
|
||||
.map(sysUserMessageConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysUserMessage> findByUserIdAndIsReadOrderByCreateTimeDesc(Long userId, String isRead) {
|
||||
return sysUserMessageDao.findByUserIdAndIsReadOrderByCreateTimeDesc(userId, isRead)
|
||||
.map(sysUserMessageConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> countByUserIdAndIsRead(Long userId, String isRead) {
|
||||
return sysUserMessageDao.countByUserIdAndIsRead(userId, isRead);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysUserMessage> save(SysUserMessage message) {
|
||||
SysUserMessageEntity entity = sysUserMessageConverter.toEntity(message);
|
||||
return sysUserMessageDao.save(entity)
|
||||
.map(sysUserMessageConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysUserMessage> findById(Long id) {
|
||||
return sysUserMessageDao.findById(id)
|
||||
.map(sysUserMessageConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return sysUserMessageDao.deleteById(id);
|
||||
}
|
||||
}
|
||||
+142
@@ -0,0 +1,142 @@
|
||||
package cn.novalon.manage.db.repository;
|
||||
|
||||
import cn.novalon.manage.db.converter.SysUserConverter;
|
||||
import cn.novalon.manage.db.dao.SysUserDao;
|
||||
import cn.novalon.manage.db.entity.SysUserEntity;
|
||||
import cn.novalon.manage.common.domain.SysUser;
|
||||
import cn.novalon.manage.common.dto.PageRequest;
|
||||
import cn.novalon.manage.common.dto.PageResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Sort;
|
||||
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.util.List;
|
||||
|
||||
@Repository
|
||||
public class SysUserRepository implements ISysUserRepository {
|
||||
|
||||
@Autowired
|
||||
private SysUserDao sysUserDao;
|
||||
|
||||
@Autowired
|
||||
private SysUserConverter sysUserConverter;
|
||||
|
||||
@Override
|
||||
public Mono<SysUser> findByUsername(String username) {
|
||||
return sysUserDao.findByUsernameAndDeletedAtIsNull(username)
|
||||
.map(sysUserConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysUser> findByEmail(String email) {
|
||||
return sysUserDao.findByEmailAndDeletedAtIsNull(email)
|
||||
.map(sysUserConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysUser> findById(Long id) {
|
||||
return sysUserDao.findById(id)
|
||||
.map(sysUserConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysUser> findByIdIncludingDeleted(Long id) {
|
||||
return sysUserDao.findById(id)
|
||||
.map(sysUserConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<SysUser> save(SysUser sysUser) {
|
||||
SysUserEntity entity = sysUserConverter.toEntity(sysUser);
|
||||
return sysUserDao.save(entity)
|
||||
.map(sysUserConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteById(Long id) {
|
||||
return sysUserDao.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysUser> findAll() {
|
||||
return sysUserDao.findAll()
|
||||
.map(sysUserConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysUser> findAll(Sort sort) {
|
||||
return sysUserDao.findAll(sort)
|
||||
.map(sysUserConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysUser> findByDeletedAtIsNull() {
|
||||
return sysUserDao.findByDeletedAtIsNull()
|
||||
.map(sysUserConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<SysUser> findByDeletedAtIsNull(Sort sort) {
|
||||
return sysUserDao.findByDeletedAtIsNull(sort)
|
||||
.map(sysUserConverter::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Long> count() {
|
||||
return sysUserDao.countByDeletedAtIsNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<PageResponse<SysUser>> findByQueryWithPagination(Query query, PageRequest pageRequest) {
|
||||
return Mono.just(new PageResponse<>());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Boolean> existsByUsername(String username) {
|
||||
return sysUserDao.findByUsernameAndDeletedAtIsNull(username)
|
||||
.map(user -> true)
|
||||
.defaultIfEmpty(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Boolean> existsByEmail(String email) {
|
||||
return sysUserDao.findByEmailAndDeletedAtIsNull(email)
|
||||
.map(user -> true)
|
||||
.defaultIfEmpty(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> logicalDeleteById(Long id) {
|
||||
return sysUserDao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(java.time.LocalDateTime.now());
|
||||
return sysUserDao.save(entity).then();
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> logicalDeleteByIds(List<Long> ids) {
|
||||
return Flux.fromIterable(ids)
|
||||
.flatMap(id -> logicalDeleteById(id))
|
||||
.then();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> restoreById(Long id) {
|
||||
return sysUserDao.findById(id)
|
||||
.flatMap(entity -> {
|
||||
entity.setDeletedAt(null);
|
||||
return sysUserDao.save(entity).then();
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> restoreByIds(List<Long> ids) {
|
||||
return Flux.fromIterable(ids)
|
||||
.flatMap(id -> restoreById(id))
|
||||
.then();
|
||||
}
|
||||
}
|
||||
@@ -17,95 +17,31 @@
|
||||
<description>System Management Module</description>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>cn.novalon.manage</groupId>
|
||||
<artifactId>manage-common</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.novalon.manage</groupId>
|
||||
<artifactId>manage-db</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-webflux</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-r2dbc</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-validation</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-security</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.security</groupId>
|
||||
<artifactId>spring-security-config</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.ben-manes.caffeine</groupId>
|
||||
<artifactId>caffeine</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-cache</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-collections4</artifactId>
|
||||
<version>4.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.jsonwebtoken</groupId>
|
||||
<artifactId>jjwt-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.jsonwebtoken</groupId>
|
||||
<artifactId>jjwt-impl</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.jsonwebtoken</groupId>
|
||||
<artifactId>jjwt-jackson</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>r2dbc-postgresql</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.flywaydb</groupId>
|
||||
<artifactId>flyway-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.flywaydb</groupId>
|
||||
<artifactId>flyway-database-postgresql</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springdoc</groupId>
|
||||
<artifactId>springdoc-openapi-starter-webflux-ui</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mapstruct</groupId>
|
||||
<artifactId>mapstruct</artifactId>
|
||||
<version>1.5.5.Final</version>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-security</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mapstruct</groupId>
|
||||
<artifactId>mapstruct-processor</artifactId>
|
||||
<version>1.5.5.Final</version>
|
||||
<scope>provided</scope>
|
||||
<groupId>org.springframework.data</groupId>
|
||||
<artifactId>spring-data-commons</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
||||
+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();
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user