From b83b7edaa35483dc8c025ca524a8886c0d9a7af3 Mon Sep 17 00:00:00 2001
From: wangyu <727842003@qq.com>
Date: Tue, 7 Dec 2021 17:02:56 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=A1=86=E6=9E=B6=E4=BB=A3=E7=A0=81?=
=?UTF-8?q?=E5=85=A8=E9=9D=A2=E5=8D=87=E7=BA=A7webflux=EF=BC=8C=E5=85=BC?=
=?UTF-8?q?=E5=AE=B9=E5=8E=9F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
flyfish-data/pom.xml | 5 +
.../annotations/EnableMongoRepo.java | 2 +-
.../annotations/EnableReactiveMongoRepo.java | 29 +++
.../repository/DefaultReactiveRepository.java | 2 +-
.../repository/QueryModelExecutor.java | 2 +-
.../ReactiveQueryModelExecutor.java | 16 +-
.../DefaultReactiveRepositoryFactory.java | 26 +++
.../DefaultReactiveRepositoryFactoryBean.java | 26 +++
.../DefaultRepositoryFactory.java | 11 +-
.../DefaultRepositoryFactoryBean.java | 6 +-
.../impl/DefaultReactiveRepositoryImpl.java | 178 +++++++++++++++++-
.../impl/DefaultRepositoryImpl.java | 85 +++------
.../repository/impl/QueryBuildUtils.java | 43 +++++
.../impl/ReactivePageableExecutionUtils.java | 69 +++++++
.../dict/config/DictionaryProcessor.java | 4 +-
.../controller/AutoCompleteController.java | 4 +-
.../dict/controller/DictionaryController.java | 4 +-
.../repository/AutoCompleteRepository.java | 4 +-
.../dict/repository/DictionaryRepository.java | 4 +-
.../dict/service/AutoCompleteService.java | 4 +-
.../dict/service/DictionaryService.java | 5 +-
.../file/controller/AttachmentController.java | 4 +-
.../AttachmentUploadController.java | 2 +-
.../file/repository/AttachmentRepository.java | 4 +-
.../file/service/AttachmentService.java | 6 +-
.../form/controller/OnlineFormController.java | 4 +-
.../form/repository/OnlineFormRepository.java | 4 +-
.../form/service/OnlineFormService.java | 4 +-
.../logging/controller/LogController.java | 4 +-
.../logging/repository/LogRepository.java | 4 +-
.../framework/logging/service/LogService.java | 4 +-
.../service/SimpleAuthenticationLogger.java | 32 ++--
.../annotations/EnableAutoSecurity.java | 2 +-
.../config/AuthenticationAuditorImpl.java | 46 +++--
.../framework/config/WebSecurityConfig.java | 14 +-
.../config/audit/ReactiveUserAuditor.java | 33 ++++
.../framework/config/audit}/UserAuditor.java | 2 +-
.../framework/controller/RoleController.java | 2 +-
.../framework/controller/UserController.java | 20 +-
.../repository/DepartmentRepository.java | 2 +-
.../repository/PermissionRepository.java | 2 +-
.../framework/repository/RoleRepository.java | 2 +-
.../framework/service/DepartmentService.java | 4 +-
.../service/MongoUserDetailsServiceImpl.java | 2 +-
.../framework/service/PermissionService.java | 4 +-
.../service/ReactiveUserService.java | 3 +-
.../framework/service/RoleService.java | 42 +++--
.../framework/service/UserService.java | 16 +-
.../beans/excel/ExcelMappingController.java | 3 +-
.../beans/excel/ExcelMappingRepository.java | 4 +-
.../beans/excel/ExcelMappingService.java | 4 +-
.../framework/beans/meta/RestBean.java | 14 +-
.../framework/controller/BaseController.java | 39 ----
.../controller/ReactiveBaseController.java | 103 ++++++++++
.../service/AuthenticationLogger.java | 11 +-
.../service/BaseReactiveService.java | 64 ++++++-
.../framework/service/UserFindService.java | 3 +-
.../service/impl/BaseReactiveServiceImpl.java | 149 ++++++++++++---
.../service/impl/BaseServiceImpl.java | 9 +-
.../framework/utils/RedisOperations.java | 9 +-
pom.xml | 4 +-
61 files changed, 918 insertions(+), 295 deletions(-)
create mode 100644 flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableReactiveMongoRepo.java
create mode 100644 flyfish-data/src/main/java/com/flyfish/framework/repository/factory/DefaultReactiveRepositoryFactory.java
create mode 100644 flyfish-data/src/main/java/com/flyfish/framework/repository/factory/DefaultReactiveRepositoryFactoryBean.java
rename flyfish-data/src/main/java/com/flyfish/framework/repository/{impl => factory}/DefaultRepositoryFactory.java (61%)
rename flyfish-data/src/main/java/com/flyfish/framework/repository/{impl => factory}/DefaultRepositoryFactoryBean.java (80%)
create mode 100644 flyfish-data/src/main/java/com/flyfish/framework/repository/impl/QueryBuildUtils.java
create mode 100644 flyfish-data/src/main/java/com/flyfish/framework/repository/impl/ReactivePageableExecutionUtils.java
create mode 100644 flyfish-user/src/main/java/com/flyfish/framework/config/audit/ReactiveUserAuditor.java
rename {flyfish-data/src/main/java/com/flyfish/framework/auditor => flyfish-user/src/main/java/com/flyfish/framework/config/audit}/UserAuditor.java (94%)
create mode 100644 flyfish-web/src/main/java/com/flyfish/framework/controller/ReactiveBaseController.java
diff --git a/flyfish-data/pom.xml b/flyfish-data/pom.xml
index 8efde45..288685e 100644
--- a/flyfish-data/pom.xml
+++ b/flyfish-data/pom.xml
@@ -23,6 +23,11 @@
spring-data-mongodb
+
+ org.springframework.security
+ spring-security-core
+
+
org.springframework.boot
spring-boot-starter-data-mongodb-reactive
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableMongoRepo.java b/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableMongoRepo.java
index ce23b87..ce3d182 100644
--- a/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableMongoRepo.java
+++ b/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableMongoRepo.java
@@ -1,6 +1,6 @@
package com.flyfish.framework.annotations;
-import com.flyfish.framework.repository.impl.DefaultRepositoryFactoryBean;
+import com.flyfish.framework.repository.factory.DefaultRepositoryFactoryBean;
import com.flyfish.framework.repository.impl.DefaultRepositoryImpl;
import org.springframework.core.annotation.AliasFor;
import org.springframework.data.mongodb.config.EnableMongoAuditing;
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableReactiveMongoRepo.java b/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableReactiveMongoRepo.java
new file mode 100644
index 0000000..87f9024
--- /dev/null
+++ b/flyfish-data/src/main/java/com/flyfish/framework/annotations/EnableReactiveMongoRepo.java
@@ -0,0 +1,29 @@
+package com.flyfish.framework.annotations;
+
+import com.flyfish.framework.repository.factory.DefaultReactiveRepositoryFactoryBean;
+import com.flyfish.framework.repository.impl.DefaultReactiveRepositoryImpl;
+import org.springframework.core.annotation.AliasFor;
+import org.springframework.data.mongodb.config.EnableReactiveMongoAuditing;
+import org.springframework.data.mongodb.repository.config.EnableReactiveMongoRepositories;
+
+import java.lang.annotation.*;
+
+@EnableReactiveMongoRepositories(
+ repositoryFactoryBeanClass = DefaultReactiveRepositoryFactoryBean.class,
+ repositoryBaseClass = DefaultReactiveRepositoryImpl.class
+)
+@EnableReactiveMongoAuditing
+@Target({ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+@Inherited
+public @interface EnableReactiveMongoRepo {
+
+ /**
+ * 扫描的基本路径
+ *
+ * @return 结果
+ */
+ @AliasFor(annotation = EnableReactiveMongoRepositories.class)
+ String[] basePackages() default "com.flyfish.framework";
+}
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/DefaultReactiveRepository.java b/flyfish-data/src/main/java/com/flyfish/framework/repository/DefaultReactiveRepository.java
index 5a66618..ed11f2d 100644
--- a/flyfish-data/src/main/java/com/flyfish/framework/repository/DefaultReactiveRepository.java
+++ b/flyfish-data/src/main/java/com/flyfish/framework/repository/DefaultReactiveRepository.java
@@ -10,6 +10,6 @@ import org.springframework.data.repository.NoRepositoryBean;
* @param 泛型
*/
@NoRepositoryBean
-public interface DefaultReactiveRepository extends ReactiveMongoRepository {
+public interface DefaultReactiveRepository extends ReactiveMongoRepository, ReactiveQueryModelExecutor {
}
diff --git a/flyfish-data/src/main/java/com/flyfish/framework/repository/QueryModelExecutor.java b/flyfish-data/src/main/java/com/flyfish/framework/repository/QueryModelExecutor.java
index 438328a..0f5b7c8 100644
--- a/flyfish-data/src/main/java/com/flyfish/framework/repository/QueryModelExecutor.java
+++ b/flyfish-data/src/main/java/com/flyfish/framework/repository/QueryModelExecutor.java
@@ -80,7 +80,7 @@ public interface QueryModelExecutor {
* @param values 集合
* @return 结果
*/
- List findAllByValues(String key, List