Browse Source

优化配置

zhou-hao 5 years ago
parent
commit
8fb932da85

+ 4 - 0
hsweb-datasource/hsweb-datasource-api/pom.xml

@@ -51,5 +51,9 @@
             <groupId>org.springframework</groupId>
             <artifactId>spring-jdbc</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.r2dbc</groupId>
+            <artifactId>r2dbc-spi</artifactId>
+        </dependency>
     </dependencies>
 </project>

+ 26 - 10
hsweb-starter/hsweb-spring-boot-starter/src/main/java/org/hswebframework/web/starter/easyorm/EasyOrmConfiguration.java

@@ -14,6 +14,8 @@ import org.hswebframework.ezorm.rdb.operator.DatabaseOperator;
 import org.hswebframework.ezorm.rdb.operator.DefaultDatabaseOperator;
 import org.hswebframework.web.commons.entity.factory.EntityFactory;
 import org.hswebframework.web.datasource.DefaultJdbcExecutor;
+import org.hswebframework.web.starter.easyorm.generator.MD5Generator;
+import org.hswebframework.web.starter.easyorm.generator.SnowFlakeStringIdGenerator;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.config.BeanPostProcessor;
@@ -74,26 +76,29 @@ public class EasyOrmConfiguration {
 
     @Bean
     @ConditionalOnMissingBean
-    public EntityTableMetadataParser jpaEntityTableMetadataParser(DatabaseOperator operator) {
+    public EntityTableMetadataParser jpaEntityTableMetadataParser(RDBDatabaseMetadata metadata) {
         JpaEntityTableMetadataParser parser = new JpaEntityTableMetadataParser();
-        parser.setDatabaseMetadata(operator.getMetadata());
-//
-//        resolver.ifPresent(parser::setDataTypeResolver);
-//        codecResolver.ifPresent(parser::setValueCodecResolver);
-
+        parser.setDatabaseMetadata(metadata);
         return parser;
     }
 
     @Bean
     @ConditionalOnMissingBean
-    public DatabaseOperator databaseOperator(SyncSqlExecutor executor) {
+    public RDBDatabaseMetadata databaseMetadata(SyncSqlExecutor syncSqlExecutor) {
         RDBDatabaseMetadata metadata = properties.createDatabaseMetadata();
-        metadata.addFeature(executor);
+        metadata.addFeature(syncSqlExecutor);
+        return metadata;
+    }
+
+    @Bean
+    @ConditionalOnMissingBean
+    public DatabaseOperator databaseOperator(RDBDatabaseMetadata metadata) {
+
         return DefaultDatabaseOperator.of(metadata);
     }
 
     @Bean
-    public BeanPostProcessor autoRegisterFeature(DatabaseOperator operator) {
+    public BeanPostProcessor autoRegisterFeature(RDBDatabaseMetadata metadata) {
         return new BeanPostProcessor() {
             @Override
             public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
@@ -103,11 +108,22 @@ public class EasyOrmConfiguration {
             @Override
             public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
                 if (bean instanceof Feature) {
-                    operator.getMetadata().addFeature(((Feature) bean));
+                    metadata.addFeature(((Feature) bean));
                 }
                 return bean;
             }
         };
     }
 
+    @Bean
+    public MD5Generator md5Generator() {
+        return new MD5Generator();
+    }
+
+    @Bean
+    public SnowFlakeStringIdGenerator snowFlakeStringIdGenerator() {
+        return new SnowFlakeStringIdGenerator();
+    }
+
+
 }

+ 22 - 0
hsweb-starter/hsweb-spring-boot-starter/src/main/java/org/hswebframework/web/starter/easyorm/generator/MD5Generator.java

@@ -0,0 +1,22 @@
+package org.hswebframework.web.starter.easyorm.generator;
+
+import org.hswebframework.ezorm.core.DefaultValueGenerator;
+import org.hswebframework.ezorm.core.RuntimeDefaultValue;
+import org.hswebframework.web.id.IDGenerator;
+
+public class MD5Generator implements DefaultValueGenerator {
+    @Override
+    public String getSortId() {
+        return "md5";
+    }
+
+    @Override
+    public RuntimeDefaultValue generate() {
+        return IDGenerator.MD5::generate;
+    }
+
+    @Override
+    public String getName() {
+        return "MD5";
+    }
+}

+ 22 - 0
hsweb-starter/hsweb-spring-boot-starter/src/main/java/org/hswebframework/web/starter/easyorm/generator/SnowFlakeStringIdGenerator.java

@@ -0,0 +1,22 @@
+package org.hswebframework.web.starter.easyorm.generator;
+
+import org.hswebframework.ezorm.core.DefaultValueGenerator;
+import org.hswebframework.ezorm.core.RuntimeDefaultValue;
+import org.hswebframework.web.id.IDGenerator;
+
+public class SnowFlakeStringIdGenerator implements DefaultValueGenerator {
+    @Override
+    public String getSortId() {
+        return "snow_flake";
+    }
+
+    @Override
+    public RuntimeDefaultValue generate() {
+        return IDGenerator.SNOW_FLAKE_STRING::generate;
+    }
+
+    @Override
+    public String getName() {
+        return "SnowFlake";
+    }
+}

+ 1 - 1
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-local/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleUserService.java

@@ -201,7 +201,7 @@ public class SimpleUserService extends AbstractService<UserEntity, String>
         }
         //修改数据
         createUpdate(getDao(), userEntity)
-                .excludes(excludeProperties.toArray(new String[excludeProperties.size()]))
+                .excludes(excludeProperties.toArray(new String[0]))
                 .where(GenericEntity.id, userEntity.getId())
                 .execute();
         if (userEntity instanceof BindRoleUserEntity) {

+ 1 - 0
pom.xml

@@ -312,6 +312,7 @@
 
     <dependencyManagement>
         <dependencies>
+
             <dependency>
                 <groupId>io.projectreactor</groupId>
                 <artifactId>reactor-core</artifactId>