Bläddra i källkod

Merge pull request #101 from hs-web/3.0.x

3.0.x
zhōuhào 6 år sedan
förälder
incheckning
e8dc76c06b
100 ändrade filer med 332 tillägg och 163 borttagningar
  1. 1 1
      hsweb-authorization/hsweb-authorization-api/pom.xml
  2. 1 1
      hsweb-authorization/hsweb-authorization-basic/pom.xml
  3. 1 1
      hsweb-authorization/hsweb-authorization-jwt/pom.xml
  4. 1 1
      hsweb-authorization/hsweb-authorization-oauth2/hsweb-authorization-oauth2-auth-server/pom.xml
  5. 1 1
      hsweb-authorization/hsweb-authorization-oauth2/hsweb-authorization-oauth2-client/pom.xml
  6. 1 1
      hsweb-authorization/hsweb-authorization-oauth2/hsweb-authorization-oauth2-core/pom.xml
  7. 1 1
      hsweb-authorization/hsweb-authorization-oauth2/pom.xml
  8. 1 1
      hsweb-authorization/pom.xml
  9. 1 1
      hsweb-boost/hsweb-boost-aop/pom.xml
  10. 1 1
      hsweb-boost/hsweb-boost-excel/pom.xml
  11. 1 1
      hsweb-boost/hsweb-boost-ftp/pom.xml
  12. 1 1
      hsweb-boost/pom.xml
  13. 1 1
      hsweb-commons/hsweb-commons-bean/pom.xml
  14. 1 1
      hsweb-commons/hsweb-commons-controller/pom.xml
  15. 1 1
      hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-api/pom.xml
  16. 1 1
      hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/pom.xml
  17. 1 6
      hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/MyBatisAutoConfiguration.java
  18. 11 12
      hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/builder/EasyOrmSqlBuilder.java
  19. 38 0
      hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/builder/TypeUtils.java
  20. 22 6
      hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/builder/jpa/JpaAnnotationParser.java
  21. 15 4
      hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/test/java/org/hswebframework/web/dao/mybatis/builder/SqlParamParserTest.java
  22. 1 1
      hsweb-commons/hsweb-commons-dao/pom.xml
  23. 1 1
      hsweb-commons/hsweb-commons-entity/pom.xml
  24. 1 1
      hsweb-commons/hsweb-commons-model/pom.xml
  25. 1 1
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-api/pom.xml
  26. 1 1
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/pom.xml
  27. 1 1
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-simple/pom.xml
  28. 1 1
      hsweb-commons/hsweb-commons-service/pom.xml
  29. 1 1
      hsweb-commons/hsweb-commons-utils/pom.xml
  30. 1 1
      hsweb-commons/pom.xml
  31. 1 1
      hsweb-concurrent/hsweb-concurrent-async-job/pom.xml
  32. 1 1
      hsweb-concurrent/hsweb-concurrent-cache/pom.xml
  33. 1 1
      hsweb-concurrent/hsweb-concurrent-counter/hsweb-concurrent-counter-api/pom.xml
  34. 1 1
      hsweb-concurrent/hsweb-concurrent-counter/hsweb-concurrent-counter-redis/pom.xml
  35. 1 1
      hsweb-concurrent/hsweb-concurrent-counter/pom.xml
  36. 1 1
      hsweb-concurrent/hsweb-concurrent-lock/hsweb-concurrent-lock-api/pom.xml
  37. 1 1
      hsweb-concurrent/hsweb-concurrent-lock/hsweb-concurrent-lock-redis/pom.xml
  38. 1 1
      hsweb-concurrent/hsweb-concurrent-lock/hsweb-concurrent-lock-starter/pom.xml
  39. 1 1
      hsweb-concurrent/hsweb-concurrent-lock/pom.xml
  40. 1 1
      hsweb-concurrent/pom.xml
  41. 20 1
      hsweb-core/pom.xml
  42. 1 7
      hsweb-core/src/main/java/org/hswebframework/web/bean/FastBeanCopier.java
  43. 10 6
      hsweb-core/src/main/java/org/hswebframework/web/validate/SimpleValidateResults.java
  44. 1 1
      hsweb-datasource/hsweb-datasource-api/pom.xml
  45. 1 1
      hsweb-datasource/hsweb-datasource-jta/pom.xml
  46. 1 1
      hsweb-datasource/hsweb-datasource-web/pom.xml
  47. 1 1
      hsweb-datasource/pom.xml
  48. 1 1
      hsweb-logging/hsweb-access-logging-aop/pom.xml
  49. 1 1
      hsweb-logging/hsweb-access-logging-api/pom.xml
  50. 1 1
      hsweb-logging/pom.xml
  51. 1 1
      hsweb-message/hsweb-message-api/pom.xml
  52. 1 1
      hsweb-message/hsweb-message-jms/pom.xml
  53. 1 1
      hsweb-message/hsweb-message-redis/pom.xml
  54. 1 1
      hsweb-message/hsweb-message-websocket/pom.xml
  55. 1 1
      hsweb-message/pom.xml
  56. 1 1
      hsweb-starter/hsweb-spring-boot-starter/pom.xml
  57. 75 20
      hsweb-starter/hsweb-spring-boot-starter/src/main/java/org/hswebframework/web/starter/RestControllerExceptionTranslator.java
  58. 1 1
      hsweb-starter/pom.xml
  59. 1 1
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-api/pom.xml
  60. 17 4
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-api/src/main/java/org/hswebframework/web/service/authorization/AuthorizationSettingService.java
  61. 1 1
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-local/pom.xml
  62. 34 9
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-local/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleAuthorizationSettingService.java
  63. 1 1
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-starter/pom.xml
  64. 1 1
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-web/pom.xml
  65. 1 1
      hsweb-system/hsweb-system-authorization/pom.xml
  66. 1 1
      hsweb-system/hsweb-system-config/hsweb-system-config-api/pom.xml
  67. 1 1
      hsweb-system/hsweb-system-config/hsweb-system-config-local/pom.xml
  68. 1 1
      hsweb-system/hsweb-system-config/hsweb-system-config-starter/pom.xml
  69. 1 1
      hsweb-system/hsweb-system-config/hsweb-system-config-web/pom.xml
  70. 1 1
      hsweb-system/hsweb-system-config/pom.xml
  71. 1 1
      hsweb-system/hsweb-system-dashboard/hsweb-system-dashboard-api/pom.xml
  72. 1 1
      hsweb-system/hsweb-system-dashboard/hsweb-system-dashboard-local/pom.xml
  73. 1 1
      hsweb-system/hsweb-system-dashboard/hsweb-system-dashboard-starter/pom.xml
  74. 1 1
      hsweb-system/hsweb-system-dashboard/hsweb-system-dashboard-web/pom.xml
  75. 1 1
      hsweb-system/hsweb-system-dashboard/pom.xml
  76. 1 1
      hsweb-system/hsweb-system-database-manager/hsweb-system-database-manager-api/pom.xml
  77. 1 1
      hsweb-system/hsweb-system-database-manager/hsweb-system-database-manager-local/pom.xml
  78. 1 1
      hsweb-system/hsweb-system-database-manager/hsweb-system-database-manager-starter/pom.xml
  79. 1 1
      hsweb-system/hsweb-system-database-manager/hsweb-system-database-manager-web/pom.xml
  80. 1 1
      hsweb-system/hsweb-system-database-manager/pom.xml
  81. 1 1
      hsweb-system/hsweb-system-datasource/hsweb-system-datasource-api/pom.xml
  82. 1 1
      hsweb-system/hsweb-system-datasource/hsweb-system-datasource-local/pom.xml
  83. 1 1
      hsweb-system/hsweb-system-datasource/hsweb-system-datasource-starter/pom.xml
  84. 1 1
      hsweb-system/hsweb-system-datasource/hsweb-system-datasource-web/pom.xml
  85. 1 1
      hsweb-system/hsweb-system-datasource/pom.xml
  86. 1 1
      hsweb-system/hsweb-system-dev-tools/pom.xml
  87. 1 1
      hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-api/pom.xml
  88. 1 1
      hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-local/pom.xml
  89. 1 1
      hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-starter/pom.xml
  90. 1 1
      hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-web/pom.xml
  91. 1 1
      hsweb-system/hsweb-system-dictionary/pom.xml
  92. 1 1
      hsweb-system/hsweb-system-dynamic-form/hsweb-system-dynamic-form-api/pom.xml
  93. 1 1
      hsweb-system/hsweb-system-dynamic-form/hsweb-system-dynamic-form-local/pom.xml
  94. 1 1
      hsweb-system/hsweb-system-dynamic-form/hsweb-system-dynamic-form-starter/pom.xml
  95. 1 1
      hsweb-system/hsweb-system-dynamic-form/hsweb-system-dynamic-form-web/pom.xml
  96. 1 1
      hsweb-system/hsweb-system-dynamic-form/pom.xml
  97. 1 1
      hsweb-system/hsweb-system-file/hsweb-system-file-api/pom.xml
  98. 1 1
      hsweb-system/hsweb-system-file/hsweb-system-file-local/pom.xml
  99. 1 1
      hsweb-system/hsweb-system-file/hsweb-system-file-oauth2/pom.xml
  100. 0 0
      hsweb-system/hsweb-system-file/hsweb-system-file-starter/pom.xml

+ 1 - 1
hsweb-authorization/hsweb-authorization-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-authorization</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-authorization/hsweb-authorization-basic/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-authorization</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-authorization/hsweb-authorization-jwt/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-authorization</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-authorization/hsweb-authorization-oauth2/hsweb-authorization-oauth2-auth-server/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-authorization-oauth2</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-authorization/hsweb-authorization-oauth2/hsweb-authorization-oauth2-client/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-authorization-oauth2</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-authorization/hsweb-authorization-oauth2/hsweb-authorization-oauth2-core/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-authorization-oauth2</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <!--<relativePath>../../pom.xml</relativePath>-->
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-authorization/hsweb-authorization-oauth2/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-authorization</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-authorization/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-framework</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-boost/hsweb-boost-aop/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-boost</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-boost/hsweb-boost-excel/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-boost</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-boost/hsweb-boost-ftp/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-boost</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-boost/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-framework</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-commons/hsweb-commons-bean/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-commons</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-commons/hsweb-commons-controller/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-commons</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-api/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-commons-dao</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-commons-dao</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 6
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/MyBatisAutoConfiguration.java

@@ -31,9 +31,6 @@ import org.mybatis.spring.SqlSessionFactoryBean;
 import org.mybatis.spring.boot.autoconfigure.SpringBootVFS;
 import org.mybatis.spring.transaction.SpringManagedTransactionFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.boot.autoconfigure.AutoConfigureAfter;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.context.annotation.Bean;
@@ -109,7 +106,7 @@ public class MyBatisAutoConfiguration {
         factory.setMapperLocations(mybatisProperties.resolveMapperLocations());
 
         SqlSessionFactory sqlSessionFactory = factory.getObject();
-        MybatisUtils.sqlSession=sqlSessionFactory;
+        MybatisUtils.sqlSession = sqlSessionFactory;
 
         EnumDictHandlerRegister.typeHandlerRegistry = sqlSessionFactory.getConfiguration().getTypeHandlerRegistry();
         EnumDictHandlerRegister.register("org.hswebframework.web;" + mybatisProperties.getTypeHandlersPackage());
@@ -121,8 +118,6 @@ public class MyBatisAutoConfiguration {
         }
         EasyOrmSqlBuilder.getInstance().entityFactory = entityFactory;
 
-        sqlSessionFactory.getConfiguration().getTypeAliasRegistry();
-
         return sqlSessionFactory;
     }
 

+ 11 - 12
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/builder/EasyOrmSqlBuilder.java

@@ -175,20 +175,19 @@ public class EasyOrmSqlBuilder {
                 }
                 column.setJavaType(resultMapping.getJavaType());
                 column.setProperty("resultMapping", resultMapping);
-                ValueConverter dateConvert = new DateTimeConverter("yyyy-MM-dd HH:mm:ss", column.getJavaType()) {
-                    @Override
-                    public Object getData(Object value) {
-                        if (value instanceof Number) {
-                            return new Date(((Number) value).longValue());
+                //时间
+                if (column.getJdbcType() == JDBCType.DATE || column.getJdbcType() == JDBCType.TIMESTAMP) {
+                    ValueConverter dateConvert = new DateTimeConverter("yyyy-MM-dd HH:mm:ss", column.getJavaType()) {
+                        @Override
+                        public Object getData(Object value) {
+                            if (value instanceof Number) {
+                                return new Date(((Number) value).longValue());
+                            }
+                            return super.getData(value);
                         }
-                        return super.getData(value);
-                    }
-                };
-                if (column.getJdbcType() == JDBCType.DATE) {
-                    column.setValueConverter(dateConvert);
-                } else if (column.getJdbcType() == JDBCType.TIMESTAMP) {
+                    };
                     column.setValueConverter(dateConvert);
-                } else if (column.getJdbcType() == JDBCType.NUMERIC) {
+                } else if (TypeUtils.isNumberType(column)) { //数字
                     column.setValueConverter(new NumberValueConverter(column.getJavaType()));
                 }
                 rdbTableMetaData.addColumn(column);

+ 38 - 0
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/builder/TypeUtils.java

@@ -0,0 +1,38 @@
+package org.hswebframework.web.dao.mybatis.builder;
+
+import org.hswebframework.ezorm.rdb.meta.RDBColumnMetaData;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.sql.JDBCType;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author zhouhao
+ * @since 3.0.3
+ */
+public class TypeUtils {
+    private static final List<Class> numberType = Arrays.asList(
+            byte.class, Byte.class
+            , short.class, Short.class
+            , int.class, Integer.class
+            , float.class, Float.class
+            , double.class, Double.class
+            , long.class, Long.class
+            , BigDecimal.class, BigInteger.class
+    );
+
+    private static final List<JDBCType> numberJdbcType = Arrays.asList(
+            JDBCType.TINYINT, JDBCType.DECIMAL, JDBCType.NUMERIC,
+            JDBCType.BIGINT, JDBCType.SMALLINT, JDBCType.INTEGER,
+            JDBCType.DECIMAL, JDBCType.BIT
+    );
+
+    public static boolean isNumberType(RDBColumnMetaData columnMetaData) {
+        return numberType.contains(columnMetaData.getJavaType())
+                || Number.class.isAssignableFrom(columnMetaData.getJavaType())
+                || numberJdbcType.contains(columnMetaData.getJdbcType());
+    }
+
+}

+ 22 - 6
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/builder/jpa/JpaAnnotationParser.java

@@ -8,6 +8,7 @@ import org.hswebframework.ezorm.rdb.meta.RDBTableMetaData;
 import org.hswebframework.ezorm.rdb.meta.converter.DateTimeConverter;
 import org.hswebframework.ezorm.rdb.meta.converter.NumberValueConverter;
 import org.hswebframework.utils.ClassUtils;
+import org.hswebframework.web.dao.mybatis.builder.TypeUtils;
 import org.hswebframework.web.dict.EnumDict;
 import org.springframework.core.annotation.AnnotationUtils;
 
@@ -25,6 +26,7 @@ import java.sql.JDBCType;
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.BiFunction;
+import java.util.function.Function;
 
 /**
  * jpa 注解解析器
@@ -34,8 +36,6 @@ import java.util.function.BiFunction;
  */
 public class JpaAnnotationParser {
 
-    private static final Map<Class, RDBTableMetaData> metaDataCache = new ConcurrentHashMap<>(256);
-
     private static final Map<Class, JDBCType> jdbcTypeMapping = new HashMap<>();
 
     private static final List<BiFunction<Class, PropertyDescriptor, JDBCType>> jdbcTypeConvert = new ArrayList<>();
@@ -43,12 +43,27 @@ public class JpaAnnotationParser {
     static {
         jdbcTypeMapping.put(String.class, JDBCType.VARCHAR);
 
+        jdbcTypeMapping.put(Byte.class, JDBCType.TINYINT);
+        jdbcTypeMapping.put(byte.class, JDBCType.TINYINT);
+
+        jdbcTypeMapping.put(Short.class, JDBCType.INTEGER);
+        jdbcTypeMapping.put(short.class, JDBCType.INTEGER);
+
         jdbcTypeMapping.put(Integer.class, JDBCType.INTEGER);
         jdbcTypeMapping.put(int.class, JDBCType.INTEGER);
+
+        jdbcTypeMapping.put(Character.class, JDBCType.CHAR);
+        jdbcTypeMapping.put(char.class, JDBCType.CHAR);
+
+        jdbcTypeMapping.put(Long.class, JDBCType.BIGINT);
+        jdbcTypeMapping.put(long.class, JDBCType.BIGINT);
+
         jdbcTypeMapping.put(Double.class, JDBCType.DECIMAL);
         jdbcTypeMapping.put(double.class, JDBCType.DECIMAL);
+
         jdbcTypeMapping.put(Float.class, JDBCType.DECIMAL);
         jdbcTypeMapping.put(float.class, JDBCType.DECIMAL);
+
         jdbcTypeMapping.put(Boolean.class, JDBCType.BIT);
         jdbcTypeMapping.put(boolean.class, JDBCType.BIT);
 
@@ -89,6 +104,7 @@ public class JpaAnnotationParser {
         });
     }
 
+
     public static RDBTableMetaData parseMetaDataFromEntity(Class entityClass) {
         Table table = AnnotationUtils.findAnnotation(entityClass, Table.class);
         if (table == null) {
@@ -133,11 +149,10 @@ public class JpaAnnotationParser {
                 }
             };
 
-            if (columnMetaData.getJdbcType() == JDBCType.DATE) {
+            if (columnMetaData.getJdbcType() == JDBCType.DATE
+                    || columnMetaData.getJdbcType() == JDBCType.TIMESTAMP) {
                 columnMetaData.setValueConverter(dateConvert);
-            } else if (columnMetaData.getJdbcType() == JDBCType.TIMESTAMP) {
-                columnMetaData.setValueConverter(dateConvert);
-            } else if (columnMetaData.getJdbcType() == JDBCType.NUMERIC) {
+            } else if (TypeUtils.isNumberType(columnMetaData)) {
                 columnMetaData.setValueConverter(new NumberValueConverter(columnMetaData.getJavaType()));
             }
 
@@ -147,6 +162,7 @@ public class JpaAnnotationParser {
         return tableMetaData;
     }
 
+
     private static <T extends Annotation> T getAnnotation(Class entityClass, PropertyDescriptor descriptor, Class<T> type) {
         T ann = null;
         try {

+ 15 - 4
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/test/java/org/hswebframework/web/dao/mybatis/builder/SqlParamParserTest.java

@@ -2,19 +2,19 @@ package org.hswebframework.web.dao.mybatis.builder;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.serializer.SerializerFeature;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
+import lombok.*;
 import org.hswebframework.ezorm.core.param.Term;
 import org.hswebframework.web.commons.entity.QueryEntity;
 import org.hswebframework.web.commons.entity.param.QueryParamEntity;
 import org.junit.Assert;
 import org.junit.Test;
+import org.springframework.asm.ClassReader;
 
+import java.lang.invoke.LambdaMetafactory;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
+import java.util.function.Function;
 
 import static org.junit.Assert.*;
 
@@ -23,6 +23,17 @@ import static org.junit.Assert.*;
  * @since 1.0
  */
 public class SqlParamParserTest {
+    @SneakyThrows
+    public static <T> void test(Function<T, Object> function) {
+        Class t=function.getClass();
+
+        System.out.println(t);
+    }
+
+    public static void main(String[] args) {
+        test(TestQueryEntity::getName$like);
+    }
+
 
     @Test
     public void testParseQueryParam() {

+ 1 - 1
hsweb-commons/hsweb-commons-dao/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-commons</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-commons/hsweb-commons-entity/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-commons</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-commons/hsweb-commons-model/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-commons</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-commons/hsweb-commons-service/hsweb-commons-service-api/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-commons-service</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-commons-service</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
 
         <relativePath>../pom.xml</relativePath>
     </parent>

+ 1 - 1
hsweb-commons/hsweb-commons-service/hsweb-commons-service-simple/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-commons-service</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
 
     </parent>

+ 1 - 1
hsweb-commons/hsweb-commons-service/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-commons</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
 
         <relativePath>../pom.xml</relativePath>
     </parent>

+ 1 - 1
hsweb-commons/hsweb-commons-utils/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-commons</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-commons/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-framework</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-concurrent/hsweb-concurrent-async-job/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-concurrent</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-concurrent/hsweb-concurrent-cache/pom.xml

@@ -22,7 +22,7 @@
     <parent>
         <artifactId>hsweb-concurrent</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-concurrent/hsweb-concurrent-counter/hsweb-concurrent-counter-api/pom.xml

@@ -22,7 +22,7 @@
     <parent>
         <artifactId>hsweb-concurrent-counter</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-concurrent/hsweb-concurrent-counter/hsweb-concurrent-counter-redis/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-concurrent-counter</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-concurrent/hsweb-concurrent-counter/pom.xml

@@ -22,7 +22,7 @@
     <parent>
         <artifactId>hsweb-concurrent</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-concurrent/hsweb-concurrent-lock/hsweb-concurrent-lock-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-concurrent-lock</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-concurrent/hsweb-concurrent-lock/hsweb-concurrent-lock-redis/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-concurrent-lock</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-concurrent/hsweb-concurrent-lock/hsweb-concurrent-lock-starter/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-concurrent-lock</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-concurrent/hsweb-concurrent-lock/pom.xml

@@ -22,7 +22,7 @@
     <parent>
         <artifactId>hsweb-concurrent</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-concurrent/pom.xml

@@ -22,7 +22,7 @@
     <parent>
         <artifactId>hsweb-framework</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 20 - 1
hsweb-core/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-framework</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
@@ -36,9 +36,28 @@
             <groupId>commons-beanutils</groupId>
             <artifactId>commons-beanutils</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-validator</artifactId>
+        </dependency>
         <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>fastjson</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.spockframework</groupId>
+            <artifactId>spock-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.groovy</groupId>
+            <artifactId>groovy-all</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish</groupId>
+            <artifactId>javax.el</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>

+ 1 - 7
hsweb-core/src/main/java/org/hswebframework/web/bean/FastBeanCopier.java

@@ -37,13 +37,7 @@ public final class FastBeanCopier {
     @SuppressWarnings("all")
     public static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
 
-    private static BeanFactory BEAN_FACTORY = new BeanFactory() {
-        @Override
-        @SneakyThrows
-        public <T> T newInstance(Class<T> beanType) {
-            return beanType == Map.class ? (T) new HashMap<>() : beanType.newInstance();
-        }
-    };
+    private static BeanFactory BEAN_FACTORY;
 
     public static final DefaultConverter DEFAULT_CONVERT;
 

+ 10 - 6
hsweb-core/src/main/java/org/hswebframework/web/validate/SimpleValidateResults.java

@@ -22,19 +22,23 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
- *
  * @author zhouhao
  */
 public class SimpleValidateResults implements ValidateResults {
 
-    private static final long serialVersionUID = -3355828475840578917L;
-    private List<ValidateResults.Result> results = new ArrayList<>();
+    private static final long                         serialVersionUID = -3355828475840578917L;
+    private              List<ValidateResults.Result> results          = new ArrayList<>();
 
     public SimpleValidateResults addResult(String field, String message) {
         results.add(new Result(field, message));
         return this;
     }
 
+    public SimpleValidateResults addResult(ValidateResults.Result result) {
+        results.add(result);
+        return this;
+    }
+
     @Override
     public boolean isSuccess() {
         return results == null || results.isEmpty();
@@ -46,9 +50,9 @@ public class SimpleValidateResults implements ValidateResults {
     }
 
     class Result implements ValidateResults.Result {
-        private static final long serialVersionUID = -4717219071013488363L;
-        private String field;
-        private String message;
+        private static final long   serialVersionUID = -4717219071013488363L;
+        private              String field;
+        private              String message;
 
         public Result(String field, String message) {
             this.field = field;

+ 1 - 1
hsweb-datasource/hsweb-datasource-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-datasource</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
 
         <relativePath>../pom.xml</relativePath>
     </parent>

+ 1 - 1
hsweb-datasource/hsweb-datasource-jta/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-datasource</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
 
     </parent>

+ 1 - 1
hsweb-datasource/hsweb-datasource-web/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-datasource</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
 
         <relativePath>../pom.xml</relativePath>
     </parent>

+ 1 - 1
hsweb-datasource/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-framework</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
 
         <relativePath>../pom.xml</relativePath>
     </parent>

+ 1 - 1
hsweb-logging/hsweb-access-logging-aop/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-logging</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-logging/hsweb-access-logging-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-logging</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-logging/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-framework</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-message/hsweb-message-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-message</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-message/hsweb-message-jms/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-message</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-message/hsweb-message-redis/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-message</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-message/hsweb-message-websocket/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-message</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-message/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-framework</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-starter/hsweb-spring-boot-starter/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-starter</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 75 - 20
hsweb-starter/hsweb-spring-boot-starter/src/main/java/org/hswebframework/web/starter/RestControllerExceptionTranslator.java

@@ -28,7 +28,10 @@ import org.hswebframework.web.validate.ValidateResults;
 import org.hswebframework.web.validate.ValidationException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.dao.DuplicateKeyException;
 import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.validation.BindException;
 import org.springframework.validation.FieldError;
 import org.springframework.web.HttpMediaTypeNotSupportedException;
 import org.springframework.web.HttpRequestMethodNotSupportedException;
@@ -41,8 +44,14 @@ import org.springframework.web.servlet.NoHandlerFoundException;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import javax.validation.ConstraintViolation;
+import javax.validation.ConstraintViolationException;
 import java.sql.SQLException;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.stream.Collectors;
 
 @RestControllerAdvice
 public class RestControllerExceptionTranslator {
@@ -52,8 +61,8 @@ public class RestControllerExceptionTranslator {
     @ExceptionHandler(JSONException.class)
     @ResponseStatus(HttpStatus.BAD_REQUEST)
     ResponseMessage handleException(JSONException exception) {
-        logger.error("json error", exception);
-        return ResponseMessage.error(400, exception.getMessage());
+        logger.error(exception.getMessage(), exception);
+        return ResponseMessage.error(400, "解析JSON失败");
     }
 
     @ExceptionHandler(org.hswebframework.ezorm.rdb.exception.ValidationException.class)
@@ -97,6 +106,32 @@ public class RestControllerExceptionTranslator {
         return ResponseMessage.error(404, exception.getMessage());
     }
 
+    @ExceptionHandler(ConstraintViolationException.class)
+    @ResponseStatus(HttpStatus.BAD_REQUEST)
+    ResponseMessage handleConstraintViolationException(ConstraintViolationException e) {
+        SimpleValidateResults results = new SimpleValidateResults();
+        for (ConstraintViolation<?> violation : e.getConstraintViolations()) {
+            results.addResult(violation.getPropertyPath().toString(), violation.getMessage());
+        }
+        List<ValidateResults.Result> errorResults = results.getResults();
+        return ResponseMessage
+                .error(400, errorResults.isEmpty() ? "" : errorResults.get(0).getMessage())
+                .result(errorResults);
+    }
+
+    @ExceptionHandler(BindException.class)
+    @ResponseStatus(HttpStatus.BAD_REQUEST)
+    ResponseMessage handleException(BindException e) {
+        SimpleValidateResults results = new SimpleValidateResults();
+        e.getBindingResult().getAllErrors()
+                .stream()
+                .filter(FieldError.class::isInstance)
+                .map(FieldError.class::cast)
+                .forEach(fieldError -> results.addResult(fieldError.getField(), fieldError.getDefaultMessage()));
+
+        return ResponseMessage.error(400, results.getResults().isEmpty() ? e.getMessage() : results.getResults().get(0).getMessage()).result(results.getResults());
+    }
+
     @ExceptionHandler(MethodArgumentNotValidException.class)
     @ResponseStatus(HttpStatus.BAD_REQUEST)
     ResponseMessage handleException(MethodArgumentNotValidException e) {
@@ -113,15 +148,27 @@ public class RestControllerExceptionTranslator {
     @ExceptionHandler(RuntimeException.class)
     @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
     ResponseMessage handleException(RuntimeException exception) {
+        String msg = Optional.ofNullable(exception.getMessage())
+                .orElse("服务器内部错误");
+        logger.error(exception.getMessage(), exception);
+        return ResponseMessage.error(500, msg);
+    }
+
+    @ExceptionHandler(DuplicateKeyException.class)
+    @ResponseStatus(HttpStatus.BAD_REQUEST)
+    ResponseMessage handleException(DuplicateKeyException exception) {
         logger.error(exception.getMessage(), exception);
-        return ResponseMessage.error(500, exception.getMessage());
+        return ResponseMessage.error(400, "重复的请求");
     }
 
+
     @ExceptionHandler(NullPointerException.class)
     @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
     ResponseMessage handleException(NullPointerException exception) {
+        String msg = Optional.ofNullable(exception.getMessage())
+                .orElse("服务器内部错误");
         logger.error(exception.getMessage(), exception);
-        return ResponseMessage.error(500, "服务器内部错误");
+        return ResponseMessage.error(500, msg);
     }
 
     @ExceptionHandler(SQLException.class)
@@ -134,8 +181,11 @@ public class RestControllerExceptionTranslator {
     @ExceptionHandler(IllegalArgumentException.class)
     @ResponseStatus(HttpStatus.BAD_REQUEST)
     ResponseMessage handleException(IllegalArgumentException exception) {
-        logger.error(exception.getMessage(), exception);
-        return ResponseMessage.error(400, "参数错误:" + exception.getMessage());
+        String msg = exception.getMessage();
+        if (null == msg) {
+            logger.error(msg = "参数错误", exception);
+        }
+        return ResponseMessage.error(400, msg);
     }
 
     /**
@@ -145,26 +195,29 @@ public class RestControllerExceptionTranslator {
     @ExceptionHandler(HttpRequestMethodNotSupportedException.class)
     @ResponseStatus(HttpStatus.METHOD_NOT_ALLOWED)
     ResponseMessage handleException(HttpRequestMethodNotSupportedException exception) {
-        logger.error(exception.getMessage(), exception);
-        return ResponseMessage.error(HttpStatus.METHOD_NOT_ALLOWED.value(), "请求API的方式不支持").result(exception.getSupportedHttpMethods());
+        return ResponseMessage
+                .error(HttpStatus.METHOD_NOT_ALLOWED.value(), "不支持的请求方式")
+                .result(exception.getSupportedHttpMethods());
     }
 
     /**
      * 404异常,Spring MVC DispatcherServlet 当没找到 Handler处理请求时,
      * 如果配置了 throwExceptionIfNoHandlerFound 为 true时,会抛出此异常
-     *
+     * <p>
      * 在配置文件中使用:
-     *  spring:
-     *       mvc:
-     *         throw-exception-if-no-handler-found: true
+     * spring:
+     * mvc:
+     * throw-exception-if-no-handler-found: true
      *
      * @see org.springframework.web.servlet.DispatcherServlet#noHandlerFound(HttpServletRequest, HttpServletResponse)
      */
     @ExceptionHandler(NoHandlerFoundException.class)
     @ResponseStatus(HttpStatus.NOT_FOUND)
     ResponseMessage handleException(NoHandlerFoundException exception) {
-        logger.error(exception.getMessage(), exception);
-        return ResponseMessage.error(HttpStatus.NOT_FOUND.value(), "请求URL不存在");
+        Map<String, Object> result = new HashMap<>();
+        result.put("url", exception.getRequestURL());
+        result.put("method", exception.getHttpMethod());
+        return ResponseMessage.error(HttpStatus.NOT_FOUND.value(), "请求地址不存在.");
     }
 
     /**
@@ -174,8 +227,12 @@ public class RestControllerExceptionTranslator {
     @ExceptionHandler(HttpMediaTypeNotSupportedException.class)
     @ResponseStatus(HttpStatus.UNSUPPORTED_MEDIA_TYPE)
     ResponseMessage handleException(HttpMediaTypeNotSupportedException exception) {
-        logger.error(exception.getMessage(), exception);
-        return ResponseMessage.error(HttpStatus.UNSUPPORTED_MEDIA_TYPE.value(), "请求URL不存在");
+        return ResponseMessage.error(HttpStatus.UNSUPPORTED_MEDIA_TYPE.value(),
+                "不支持的请求类型:" + exception.getContentType().toString())
+                .result(exception.getSupportedMediaTypes()
+                        .stream()
+                        .map(MediaType::toString)
+                        .collect(Collectors.toList()));
     }
 
     /**
@@ -184,10 +241,8 @@ public class RestControllerExceptionTranslator {
     @ExceptionHandler(MissingServletRequestParameterException.class)
     @ResponseStatus(HttpStatus.BAD_REQUEST)
     ResponseMessage handleException(MissingServletRequestParameterException exception) {
-        logger.error(exception.getMessage(), exception);
-        return ResponseMessage.error(HttpStatus.BAD_REQUEST.value(), "请求缺失参数:" + exception.getMessage());
+        return ResponseMessage
+                .error(HttpStatus.BAD_REQUEST.value(), "参数[" + exception.getParameterName() + "]不能为空");
     }
 
-
-
 }

+ 1 - 1
hsweb-starter/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-framework</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-authorization</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 17 - 4
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-api/src/main/java/org/hswebframework/web/service/authorization/AuthorizationSettingService.java

@@ -1,24 +1,27 @@
 /*
  *  Copyright 2016 http://www.hswebframework.org
- *  
+ *
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
  *  You may obtain a copy of the License at
  *
  *        http://www.apache.org/licenses/LICENSE-2.0
- *  
+ *
  *  Unless required by applicable law or agreed to in writing, software
  *  distributed under the License is distributed on an "AS IS" BASIS,
  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
- *  
+ *
  */
 package org.hswebframework.web.service.authorization;
 
+import org.hswebframework.web.authorization.Permission;
 import org.hswebframework.web.entity.authorization.AuthorizationSettingEntity;
 import org.hswebframework.web.service.CrudService;
 
+import java.util.List;
+
 /**
  * 权限设置 服务类,提供通用的权限设置. 通过此服务,可实现对用户权限的多维度,自定义,可拓展的权限设置.<br>
  * 例如: 可对用户自身设置权限信息,可对角色设置权限信息,可对机构,部门设置权限信息。各个维度的权限使用{@link AuthorizationSettingTypeSupplier}进行绑定.
@@ -26,7 +29,6 @@ import org.hswebframework.web.service.CrudService;
  * @author zhouhao
  * @see AuthorizationSettingTypeSupplier
  * @see org.hswebframework.web.authorization.AuthenticationInitializeService
- *
  * @since 3.0
  */
 public interface AuthorizationSettingService extends CrudService<AuthorizationSettingEntity, String> {
@@ -38,4 +40,15 @@ public interface AuthorizationSettingService extends CrudService<AuthorizationSe
      * @return 设置内容, 不存在时返回 <code>null</code>
      */
     AuthorizationSettingEntity select(String type, String settingFor);
+
+    /**
+     * 根据类型和被设置者初始化对应的权限信息
+     *
+     * @param type       设置类型 {@link AuthorizationSettingEntity#getType()}
+     * @param settingFor {@link AuthorizationSettingEntity#getSettingFor()}
+     * @return 权限信息, 如果没有设置则返回<code>new java.util.ArrayList</code>
+     * @see Permission
+     * @since 3.0.3
+     */
+    List<Permission> initPermission(String type, String settingFor);
 }

+ 1 - 1
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-local/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-authorization</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 34 - 9
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-local/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleAuthorizationSettingService.java

@@ -1,18 +1,18 @@
 /*
  *  Copyright 2016 http://www.hswebframework.org
- *  
+ *
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
  *  You may obtain a copy of the License at
  *
  *        http://www.apache.org/licenses/LICENSE-2.0
- *  
+ *
  *  Unless required by applicable law or agreed to in writing, software
  *  distributed under the License is distributed on an "AS IS" BASIS,
  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
- *  
+ *
  */
 package org.hswebframework.web.service.authorization.simple;
 
@@ -42,6 +42,7 @@ import org.springframework.cache.annotation.Cacheable;
 import org.springframework.cache.annotation.Caching;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.event.TransactionalEventListener;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
 import java.util.*;
@@ -177,6 +178,7 @@ public class SimpleAuthorizationSettingService extends GenericEntityService<Auth
         return super.deleteByPk(id);
     }
 
+
     private List<AuthorizationSettingEntity> getUserSetting(String userId) {
         Map<String, List<SettingInfo>> settingInfo =
                 authorizationSettingTypeSuppliers.stream()
@@ -273,10 +275,10 @@ public class SimpleAuthorizationSettingService extends GenericEntityService<Auth
     }
 
     @TransactionalEventListener(condition = "#event.all")
-   @Caching(evict = {
-           @CacheEvict(cacheNames = USER_MENU_CACHE_NAME, allEntries = true),
-           @CacheEvict(cacheNames = USER_AUTH_CACHE_NAME, allEntries = true)
-   })
+    @Caching(evict = {
+            @CacheEvict(cacheNames = USER_MENU_CACHE_NAME, allEntries = true),
+            @CacheEvict(cacheNames = USER_AUTH_CACHE_NAME, allEntries = true)
+    })
     public void clearAllUserCache(ClearUserAuthorizationCacheEvent event) {
         logger.debug("clear all user authorization cache");
     }
@@ -333,6 +335,30 @@ public class SimpleAuthorizationSettingService extends GenericEntityService<Auth
                 .where(status, STATE_OK)
                 .and().in(settingId, settingIdList)
                 .listNoPaging();
+
+        authentication.setPermissions(initPermission(detailList));
+
+        return authentication;
+    }
+
+    @Override
+    public List<Permission> initPermission(String type, String settingFor) {
+        AuthorizationSettingEntity entity = select(type, settingFor);
+        if (entity == null) {
+            return new ArrayList<>();
+        }
+        List<AuthorizationSettingDetailEntity> detailList = DefaultDSLQueryService
+                .createQuery(authorizationSettingDetailDao)
+                .where(status, STATE_OK)
+                .and().is(settingId, entity.getId())
+                .listNoPaging();
+        if (CollectionUtils.isEmpty(detailList)) {
+            return new ArrayList<>();
+        }
+        return initPermission(detailList);
+    }
+
+    private List<Permission> initPermission(List<AuthorizationSettingDetailEntity> detailList) {
         //权限id集合
         List<String> permissionIds = detailList.stream()
                 .map(AuthorizationSettingDetailEntity::getPermissionId)
@@ -438,8 +464,7 @@ public class SimpleAuthorizationSettingService extends GenericEntityService<Auth
                     .collect(Collectors.toSet()));
             permissions.add(permission);
         });
-        authentication.setPermissions(permissions);
-        return authentication;
+        return permissions;
     }
 
 

+ 1 - 1
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-starter/pom.xml

@@ -22,7 +22,7 @@
     <parent>
         <artifactId>hsweb-system-authorization</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-web/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-authorization</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-authorization/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-config/hsweb-system-config-api/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-system-config</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
 
         <relativePath>../pom.xml</relativePath>
     </parent>

+ 1 - 1
hsweb-system/hsweb-system-config/hsweb-system-config-local/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-system-config</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-system/hsweb-system-config/hsweb-system-config-starter/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-config</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-system/hsweb-system-config/hsweb-system-config-web/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-system-config</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-system/hsweb-system-config/pom.xml

@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hsweb-system</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-dashboard/hsweb-system-dashboard-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-dashboard</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-dashboard/hsweb-system-dashboard-local/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-dashboard</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-dashboard/hsweb-system-dashboard-starter/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-dashboard</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-dashboard/hsweb-system-dashboard-web/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-dashboard</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-dashboard/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-database-manager/hsweb-system-database-manager-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-database-manager</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-database-manager/hsweb-system-database-manager-local/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-database-manager</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-database-manager/hsweb-system-database-manager-starter/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-database-manager</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-database-manager/hsweb-system-database-manager-web/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-database-manager</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-database-manager/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-datasource/hsweb-system-datasource-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-datasource</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-system/hsweb-system-datasource/hsweb-system-datasource-local/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-datasource</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-system/hsweb-system-datasource/hsweb-system-datasource-starter/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-datasource</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-system/hsweb-system-datasource/hsweb-system-datasource-web/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-datasource</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-system/hsweb-system-datasource/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 

+ 1 - 1
hsweb-system/hsweb-system-dev-tools/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-dictionary</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-local/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-dictionary</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-starter/pom.xml

@@ -22,7 +22,7 @@
     <parent>
         <artifactId>hsweb-system-dictionary</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-web/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-dictionary</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-dictionary/pom.xml

@@ -22,7 +22,7 @@
     <parent>
         <artifactId>hsweb-system</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
hsweb-system/hsweb-system-dynamic-form/hsweb-system-dynamic-form-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-dynamic-form</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-system/hsweb-system-dynamic-form/hsweb-system-dynamic-form-local/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-dynamic-form</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-system/hsweb-system-dynamic-form/hsweb-system-dynamic-form-starter/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-dynamic-form</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-system/hsweb-system-dynamic-form/hsweb-system-dynamic-form-web/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-dynamic-form</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-system/hsweb-system-dynamic-form/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-system/hsweb-system-file/hsweb-system-file-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-file</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-system/hsweb-system-file/hsweb-system-file-local/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-file</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 1 - 1
hsweb-system/hsweb-system-file/hsweb-system-file-oauth2/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>hsweb-system-file</artifactId>
         <groupId>org.hswebframework.web</groupId>
-        <version>3.0.2</version>
+        <version>3.0.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

+ 0 - 0
hsweb-system/hsweb-system-file/hsweb-system-file-starter/pom.xml


Vissa filer visades inte eftersom för många filer har ändrats