Browse Source

update 统一格式化代码结构

疯狂的狮子li 3 years ago
parent
commit
336adbd056
54 changed files with 831 additions and 1012 deletions
  1. 1 1
      pom.xml
  2. 8 13
      ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataScope.java
  3. 6 11
      ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataSource.java
  4. 12 12
      ruoyi-common/src/main/java/com/ruoyi/common/annotation/ExcelDictFormat.java
  5. 11 16
      ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java
  6. 9 13
      ruoyi-common/src/main/java/com/ruoyi/common/annotation/RateLimiter.java
  7. 6 11
      ruoyi-common/src/main/java/com/ruoyi/common/annotation/RepeatSubmit.java
  8. 9 10
      ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
  9. 132 63
      ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java
  10. 53 19
      ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java
  11. 13 28
      ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
  12. 2 4
      ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessStatus.java
  13. 3 4
      ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java
  14. 10 10
      ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSourceType.java
  15. 7 11
      ruoyi-common/src/main/java/com/ruoyi/common/enums/HttpMethod.java
  16. 1 2
      ruoyi-common/src/main/java/com/ruoyi/common/enums/LimitType.java
  17. 2 3
      ruoyi-common/src/main/java/com/ruoyi/common/enums/OperatorType.java
  18. 5 9
      ruoyi-common/src/main/java/com/ruoyi/common/enums/UserStatus.java
  19. 3 5
      ruoyi-common/src/main/java/com/ruoyi/common/exception/DemoModeException.java
  20. 10 16
      ruoyi-common/src/main/java/com/ruoyi/common/exception/GlobalException.java
  21. 12 20
      ruoyi-common/src/main/java/com/ruoyi/common/exception/ServiceException.java
  22. 5 9
      ruoyi-common/src/main/java/com/ruoyi/common/exception/UtilException.java
  23. 13 37
      ruoyi-common/src/main/java/com/ruoyi/common/exception/base/BaseException.java
  24. 2 4
      ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileException.java
  25. 4 6
      ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileNameLengthLimitExceededException.java
  26. 4 6
      ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileSizeLimitExceededException.java
  27. 17 37
      ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java
  28. 3 5
      ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaException.java
  29. 3 5
      ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaExpireException.java
  30. 2 4
      ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserException.java
  31. 3 5
      ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserPasswordNotMatchException.java
  32. 7 15
      ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java
  33. 10 20
      ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatedlyRequestWrapper.java
  34. 9 18
      ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java
  35. 15 30
      ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java
  36. 45 45
      ruoyi-common/src/main/java/com/ruoyi/common/utils/BeanCopyUtils.java
  37. 28 47
      ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
  38. 32 58
      ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java
  39. 17 16
      ruoyi-common/src/main/java/com/ruoyi/common/utils/JsonUtils.java
  40. 4 6
      ruoyi-common/src/main/java/com/ruoyi/common/utils/MessageUtils.java
  41. 7 5
      ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java
  42. 21 41
      ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
  43. 98 97
      ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java
  44. 1 1
      ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java
  45. 21 47
      ruoyi-common/src/main/java/com/ruoyi/common/utils/Threads.java
  46. 5 8
      ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
  47. 35 35
      ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java
  48. 1 3
      ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
  49. 36 36
      ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java
  50. 44 44
      ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java
  51. 4 8
      ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java
  52. 3 4
      ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java
  53. 3 5
      ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java
  54. 14 24
      ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java

+ 1 - 1
pom.xml

@@ -36,7 +36,7 @@
         <redisson.version>3.16.3</redisson.version>
         <redisson.version>3.16.3</redisson.version>
         <lock4j.version>2.2.1</lock4j.version>
         <lock4j.version>2.2.1</lock4j.version>
         <dynamic-ds.version>3.4.1</dynamic-ds.version>
         <dynamic-ds.version>3.4.1</dynamic-ds.version>
-        <tlog.version>1.3.2</tlog.version>
+        <tlog.version>1.3.3</tlog.version>
         <xxl-job.version>2.3.0</xxl-job.version>
         <xxl-job.version>2.3.0</xxl-job.version>
 
 
         <!-- jdk11 缺失依赖 jaxb-->
         <!-- jdk11 缺失依赖 jaxb-->

+ 8 - 13
ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataScope.java

@@ -1,10 +1,6 @@
 package com.ruoyi.common.annotation;
 package com.ruoyi.common.annotation;
 
 
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
+import java.lang.annotation.*;
 
 
 /**
 /**
  * 数据权限过滤注解
  * 数据权限过滤注解
@@ -14,20 +10,19 @@ import java.lang.annotation.Target;
 @Target(ElementType.METHOD)
 @Target(ElementType.METHOD)
 @Retention(RetentionPolicy.RUNTIME)
 @Retention(RetentionPolicy.RUNTIME)
 @Documented
 @Documented
-public @interface DataScope
-{
+public @interface DataScope {
     /**
     /**
      * 部门表的别名
      * 部门表的别名
      */
      */
-    public String deptAlias() default "";
+    String deptAlias() default "";
 
 
     /**
     /**
      * 用户表的别名
      * 用户表的别名
      */
      */
-    public String userAlias() default "";
+    String userAlias() default "";
 
 
-	/**
-	 * 是否过滤用户权限
-	 */
-	public boolean isUser() default false;
+    /**
+     * 是否过滤用户权限
+     */
+    boolean isUser() default false;
 }
 }

+ 6 - 11
ruoyi-common/src/main/java/com/ruoyi/common/annotation/DataSource.java

@@ -1,28 +1,23 @@
 package com.ruoyi.common.annotation;
 package com.ruoyi.common.annotation;
 
 
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
 import com.ruoyi.common.enums.DataSourceType;
 import com.ruoyi.common.enums.DataSourceType;
 
 
+import java.lang.annotation.*;
+
 /**
 /**
  * 自定义多数据源切换注解
  * 自定义多数据源切换注解
- *
+ * <p>
  * 优先级:先方法,后类,如果方法覆盖了类上的数据源类型,以方法的为准,否则以类上的为准
  * 优先级:先方法,后类,如果方法覆盖了类上的数据源类型,以方法的为准,否则以类上的为准
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-@Target({ ElementType.METHOD, ElementType.TYPE })
+@Target({ElementType.METHOD, ElementType.TYPE})
 @Retention(RetentionPolicy.RUNTIME)
 @Retention(RetentionPolicy.RUNTIME)
 @Documented
 @Documented
 @Inherited
 @Inherited
-public @interface DataSource
-{
+public @interface DataSource {
     /**
     /**
      * 切换数据源名称
      * 切换数据源名称
      */
      */
-    public DataSourceType value() default DataSourceType.MASTER;
+    DataSourceType value() default DataSourceType.MASTER;
 }
 }

+ 12 - 12
ruoyi-common/src/main/java/com/ruoyi/common/annotation/ExcelDictFormat.java

@@ -12,19 +12,19 @@ import java.lang.annotation.*;
 @Inherited
 @Inherited
 public @interface ExcelDictFormat {
 public @interface ExcelDictFormat {
 
 
-	/**
-	 * 如果是字典类型,请设置字典的type值 (如: sys_user_sex)
-	 */
-	String dictType() default "";
+    /**
+     * 如果是字典类型,请设置字典的type值 (如: sys_user_sex)
+     */
+    String dictType() default "";
 
 
-	/**
-	 * 读取内容转表达式 (如: 0=男,1=女,2=未知)
-	 */
-	String readConverterExp() default "";
+    /**
+     * 读取内容转表达式 (如: 0=男,1=女,2=未知)
+     */
+    String readConverterExp() default "";
 
 
-	/**
-	 * 分隔符,读取字符串组内容
-	 */
-	String separator() default ",";
+    /**
+     * 分隔符,读取字符串组内容
+     */
+    String separator() default ",";
 
 
 }
 }

+ 11 - 16
ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java

@@ -1,46 +1,41 @@
 package com.ruoyi.common.annotation;
 package com.ruoyi.common.annotation;
 
 
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.enums.OperatorType;
 import com.ruoyi.common.enums.OperatorType;
 
 
+import java.lang.annotation.*;
+
 /**
 /**
  * 自定义操作日志记录注解
  * 自定义操作日志记录注解
- * 
- * @author ruoyi
  *
  *
+ * @author ruoyi
  */
  */
-@Target({ ElementType.PARAMETER, ElementType.METHOD })
+@Target({ElementType.PARAMETER, ElementType.METHOD})
 @Retention(RetentionPolicy.RUNTIME)
 @Retention(RetentionPolicy.RUNTIME)
 @Documented
 @Documented
-public @interface Log
-{
+public @interface Log {
     /**
     /**
-     * 模块 
+     * 模块
      */
      */
-    public String title() default "";
+    String title() default "";
 
 
     /**
     /**
      * 功能
      * 功能
      */
      */
-    public BusinessType businessType() default BusinessType.OTHER;
+    BusinessType businessType() default BusinessType.OTHER;
 
 
     /**
     /**
      * 操作人类别
      * 操作人类别
      */
      */
-    public OperatorType operatorType() default OperatorType.MANAGE;
+    OperatorType operatorType() default OperatorType.MANAGE;
 
 
     /**
     /**
      * 是否保存请求的参数
      * 是否保存请求的参数
      */
      */
-    public boolean isSaveRequestData() default true;
+    boolean isSaveRequestData() default true;
 
 
     /**
     /**
      * 是否保存响应的参数
      * 是否保存响应的参数
      */
      */
-    public boolean isSaveResponseData() default true;
+    boolean isSaveResponseData() default true;
 }
 }

+ 9 - 13
ruoyi-common/src/main/java/com/ruoyi/common/annotation/RateLimiter.java

@@ -1,40 +1,36 @@
 package com.ruoyi.common.annotation;
 package com.ruoyi.common.annotation;
 
 
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.enums.LimitType;
 import com.ruoyi.common.enums.LimitType;
 
 
+import java.lang.annotation.*;
+
 /**
 /**
  * 限流注解
  * 限流注解
- * 
- * @author ruoyi
+ *
+ * @author Lion Li
  */
  */
 @Target(ElementType.METHOD)
 @Target(ElementType.METHOD)
 @Retention(RetentionPolicy.RUNTIME)
 @Retention(RetentionPolicy.RUNTIME)
 @Documented
 @Documented
-public @interface RateLimiter
-{
+public @interface RateLimiter {
     /**
     /**
      * 限流key
      * 限流key
      */
      */
-    public String key() default Constants.RATE_LIMIT_KEY;
+    String key() default Constants.RATE_LIMIT_KEY;
 
 
     /**
     /**
      * 限流时间,单位秒
      * 限流时间,单位秒
      */
      */
-    public int time() default 60;
+    int time() default 60;
 
 
     /**
     /**
      * 限流次数
      * 限流次数
      */
      */
-    public int count() default 100;
+    int count() default 100;
 
 
     /**
     /**
      * 限流类型
      * 限流类型
      */
      */
-    public LimitType limitType() default LimitType.DEFAULT;
+    LimitType limitType() default LimitType.DEFAULT;
 }
 }

+ 6 - 11
ruoyi-common/src/main/java/com/ruoyi/common/annotation/RepeatSubmit.java

@@ -1,11 +1,6 @@
 package com.ruoyi.common.annotation;
 package com.ruoyi.common.annotation;
 
 
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
+import java.lang.annotation.*;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeUnit;
 
 
 /**
 /**
@@ -19,12 +14,12 @@ import java.util.concurrent.TimeUnit;
 @Documented
 @Documented
 public @interface RepeatSubmit {
 public @interface RepeatSubmit {
 
 
-	/**
-	 * 间隔时间(ms),小于此时间视为重复提交
-	 */
-	int interval() default 5000;
+    /**
+     * 间隔时间(ms),小于此时间视为重复提交
+     */
+    int interval() default 5000;
 
 
-	TimeUnit timeUnit() default TimeUnit.MILLISECONDS;
+    TimeUnit timeUnit() default TimeUnit.MILLISECONDS;
 
 
     /**
     /**
      * 提示消息
      * 提示消息

+ 9 - 10
ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java

@@ -7,8 +7,7 @@ import io.jsonwebtoken.Claims;
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class Constants
-{
+public class Constants {
     /**
     /**
      * UTF-8 字符集
      * UTF-8 字符集
      */
      */
@@ -134,13 +133,13 @@ public class Constants
      */
      */
     public static final String SYS_DICT_KEY = "sys_dict:";
     public static final String SYS_DICT_KEY = "sys_dict:";
 
 
-	/**
-	 * RMI 远程方法调用
-	 */
-	public static final String LOOKUP_RMI = "rmi://";
+    /**
+     * RMI 远程方法调用
+     */
+    public static final String LOOKUP_RMI = "rmi://";
 
 
-	/**
-	 * LDAP 远程方法调用
-	 */
-	public static final String LOOKUP_LDAP = "ldap://";
+    /**
+     * LDAP 远程方法调用
+     */
+    public static final String LOOKUP_LDAP = "ldap://";
 }
 }

+ 132 - 63
ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java

@@ -2,118 +2,187 @@ package com.ruoyi.common.constant;
 
 
 /**
 /**
  * 代码生成通用常量
  * 代码生成通用常量
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class GenConstants
-{
-    /** 单表(增删改查) */
+public class GenConstants {
+    /**
+     * 单表(增删改查)
+     */
     public static final String TPL_CRUD = "crud";
     public static final String TPL_CRUD = "crud";
 
 
-    /** 树表(增删改查) */
+    /**
+     * 树表(增删改查)
+     */
     public static final String TPL_TREE = "tree";
     public static final String TPL_TREE = "tree";
 
 
-    /** 主子表(增删改查) */
+    /**
+     * 主子表(增删改查)
+     */
     public static final String TPL_SUB = "sub";
     public static final String TPL_SUB = "sub";
 
 
-    /** 树编码字段 */
+    /**
+     * 树编码字段
+     */
     public static final String TREE_CODE = "treeCode";
     public static final String TREE_CODE = "treeCode";
 
 
-    /** 树父编码字段 */
+    /**
+     * 树父编码字段
+     */
     public static final String TREE_PARENT_CODE = "treeParentCode";
     public static final String TREE_PARENT_CODE = "treeParentCode";
 
 
-    /** 树名称字段 */
+    /**
+     * 树名称字段
+     */
     public static final String TREE_NAME = "treeName";
     public static final String TREE_NAME = "treeName";
 
 
-    /** 上级菜单ID字段 */
+    /**
+     * 上级菜单ID字段
+     */
     public static final String PARENT_MENU_ID = "parentMenuId";
     public static final String PARENT_MENU_ID = "parentMenuId";
 
 
-    /** 上级菜单名称字段 */
+    /**
+     * 上级菜单名称字段
+     */
     public static final String PARENT_MENU_NAME = "parentMenuName";
     public static final String PARENT_MENU_NAME = "parentMenuName";
 
 
-    /** 数据库字符串类型 */
-    public static final String[] COLUMNTYPE_STR = { "char", "varchar", "nvarchar", "varchar2" };
-
-    /** 数据库文本类型 */
-    public static final String[] COLUMNTYPE_TEXT = { "tinytext", "text", "mediumtext", "longtext" };
-
-    /** 数据库时间类型 */
-    public static final String[] COLUMNTYPE_TIME = { "datetime", "time", "date", "timestamp" };
-
-    /** 数据库数字类型 */
-    public static final String[] COLUMNTYPE_NUMBER = { "tinyint", "smallint", "mediumint", "int", "number", "integer",
-            "bit", "bigint", "float", "double", "decimal" };
-
-    /** BO对象 不需要添加字段 */
-    public static final String[] COLUMNNAME_NOT_ADD = { "create_by", "create_time", "del_flag", "update_by",
-            "update_time", "version" };
-
-    /** BO对象 不需要编辑字段 */
-    public static final String[] COLUMNNAME_NOT_EDIT = { "create_by", "create_time", "del_flag", "update_by",
-            "update_time", "version" };
-
-    /** VO对象 不需要返回字段 */
-    public static final String[] COLUMNNAME_NOT_LIST = { "create_by", "create_time", "del_flag", "update_by",
-            "update_time", "version" };
-
-    /** BO对象 不需要查询字段 */
-    public static final String[] COLUMNNAME_NOT_QUERY = { "id", "create_by", "create_time", "del_flag", "update_by",
-            "update_time", "remark", "version" };
-
-    /** Entity基类字段 */
-    public static final String[] BASE_ENTITY = { "createBy", "createTime", "updateBy", "updateTime" };
-
-    /** Tree基类字段 */
-    public static final String[] TREE_ENTITY = { "parentName", "parentId", "children" };
-
-    /** 文本框 */
+    /**
+     * 数据库字符串类型
+     */
+    public static final String[] COLUMNTYPE_STR = {"char", "varchar", "nvarchar", "varchar2"};
+
+    /**
+     * 数据库文本类型
+     */
+    public static final String[] COLUMNTYPE_TEXT = {"tinytext", "text", "mediumtext", "longtext"};
+
+    /**
+     * 数据库时间类型
+     */
+    public static final String[] COLUMNTYPE_TIME = {"datetime", "time", "date", "timestamp"};
+
+    /**
+     * 数据库数字类型
+     */
+    public static final String[] COLUMNTYPE_NUMBER = {"tinyint", "smallint", "mediumint", "int", "number", "integer",
+            "bit", "bigint", "float", "double", "decimal"};
+
+    /**
+     * BO对象 不需要添加字段
+     */
+    public static final String[] COLUMNNAME_NOT_ADD = {"create_by", "create_time", "del_flag", "update_by",
+            "update_time", "version"};
+
+    /**
+     * BO对象 不需要编辑字段
+     */
+    public static final String[] COLUMNNAME_NOT_EDIT = {"create_by", "create_time", "del_flag", "update_by",
+            "update_time", "version"};
+
+    /**
+     * VO对象 不需要返回字段
+     */
+    public static final String[] COLUMNNAME_NOT_LIST = {"create_by", "create_time", "del_flag", "update_by",
+            "update_time", "version"};
+
+    /**
+     * BO对象 不需要查询字段
+     */
+    public static final String[] COLUMNNAME_NOT_QUERY = {"id", "create_by", "create_time", "del_flag", "update_by",
+            "update_time", "remark", "version"};
+
+    /**
+     * Entity基类字段
+     */
+    public static final String[] BASE_ENTITY = {"createBy", "createTime", "updateBy", "updateTime"};
+
+    /**
+     * Tree基类字段
+     */
+    public static final String[] TREE_ENTITY = {"parentName", "parentId", "children"};
+
+    /**
+     * 文本框
+     */
     public static final String HTML_INPUT = "input";
     public static final String HTML_INPUT = "input";
 
 
-    /** 文本域 */
+    /**
+     * 文本域
+     */
     public static final String HTML_TEXTAREA = "textarea";
     public static final String HTML_TEXTAREA = "textarea";
 
 
-    /** 下拉框 */
+    /**
+     * 下拉框
+     */
     public static final String HTML_SELECT = "select";
     public static final String HTML_SELECT = "select";
 
 
-    /** 单选框 */
+    /**
+     * 单选框
+     */
     public static final String HTML_RADIO = "radio";
     public static final String HTML_RADIO = "radio";
 
 
-    /** 复选框 */
+    /**
+     * 复选框
+     */
     public static final String HTML_CHECKBOX = "checkbox";
     public static final String HTML_CHECKBOX = "checkbox";
 
 
-    /** 日期控件 */
+    /**
+     * 日期控件
+     */
     public static final String HTML_DATETIME = "datetime";
     public static final String HTML_DATETIME = "datetime";
 
 
-    /** 图片上传控件 */
+    /**
+     * 图片上传控件
+     */
     public static final String HTML_IMAGE_UPLOAD = "imageUpload";
     public static final String HTML_IMAGE_UPLOAD = "imageUpload";
 
 
-    /** 文件上传控件 */
+    /**
+     * 文件上传控件
+     */
     public static final String HTML_FILE_UPLOAD = "fileUpload";
     public static final String HTML_FILE_UPLOAD = "fileUpload";
 
 
-    /** 富文本控件 */
+    /**
+     * 富文本控件
+     */
     public static final String HTML_EDITOR = "editor";
     public static final String HTML_EDITOR = "editor";
 
 
-    /** 字符串类型 */
+    /**
+     * 字符串类型
+     */
     public static final String TYPE_STRING = "String";
     public static final String TYPE_STRING = "String";
 
 
-    /** 整型 */
+    /**
+     * 整型
+     */
     public static final String TYPE_INTEGER = "Integer";
     public static final String TYPE_INTEGER = "Integer";
 
 
-    /** 长整型 */
+    /**
+     * 长整型
+     */
     public static final String TYPE_LONG = "Long";
     public static final String TYPE_LONG = "Long";
 
 
-    /** 浮点型 */
+    /**
+     * 浮点型
+     */
     public static final String TYPE_DOUBLE = "Double";
     public static final String TYPE_DOUBLE = "Double";
 
 
-    /** 高精度计算类型 */
+    /**
+     * 高精度计算类型
+     */
     public static final String TYPE_BIGDECIMAL = "BigDecimal";
     public static final String TYPE_BIGDECIMAL = "BigDecimal";
 
 
-    /** 时间类型 */
+    /**
+     * 时间类型
+     */
     public static final String TYPE_DATE = "Date";
     public static final String TYPE_DATE = "Date";
 
 
-    /** 模糊查询 */
+    /**
+     * 模糊查询
+     */
     public static final String QUERY_LIKE = "LIKE";
     public static final String QUERY_LIKE = "LIKE";
 
 
-    /** 需要 */
+    /**
+     * 需要
+     */
     public static final String REQUIRE = "1";
     public static final String REQUIRE = "1";
 }
 }

+ 53 - 19
ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java

@@ -5,62 +5,96 @@ package com.ruoyi.common.constant;
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class UserConstants
-{
+public class UserConstants {
+
     /**
     /**
      * 平台内系统用户的唯一标志
      * 平台内系统用户的唯一标志
      */
      */
     public static final String SYS_USER = "SYS_USER";
     public static final String SYS_USER = "SYS_USER";
 
 
-    /** 正常状态 */
+    /**
+     * 正常状态
+     */
     public static final String NORMAL = "0";
     public static final String NORMAL = "0";
 
 
-    /** 异常状态 */
+    /**
+     * 异常状态
+     */
     public static final String EXCEPTION = "1";
     public static final String EXCEPTION = "1";
 
 
-    /** 用户封禁状态 */
+    /**
+     * 用户封禁状态
+     */
     public static final String USER_DISABLE = "1";
     public static final String USER_DISABLE = "1";
 
 
-    /** 角色封禁状态 */
+    /**
+     * 角色封禁状态
+     */
     public static final String ROLE_DISABLE = "1";
     public static final String ROLE_DISABLE = "1";
 
 
-    /** 部门正常状态 */
+    /**
+     * 部门正常状态
+     */
     public static final String DEPT_NORMAL = "0";
     public static final String DEPT_NORMAL = "0";
 
 
-    /** 部门停用状态 */
+    /**
+     * 部门停用状态
+     */
     public static final String DEPT_DISABLE = "1";
     public static final String DEPT_DISABLE = "1";
 
 
-    /** 字典正常状态 */
+    /**
+     * 字典正常状态
+     */
     public static final String DICT_NORMAL = "0";
     public static final String DICT_NORMAL = "0";
 
 
-    /** 是否为系统默认(是) */
+    /**
+     * 是否为系统默认(是)
+     */
     public static final String YES = "Y";
     public static final String YES = "Y";
 
 
-    /** 是否菜单外链(是) */
+    /**
+     * 是否菜单外链(是)
+     */
     public static final String YES_FRAME = "0";
     public static final String YES_FRAME = "0";
 
 
-    /** 是否菜单外链(否) */
+    /**
+     * 是否菜单外链(否)
+     */
     public static final String NO_FRAME = "1";
     public static final String NO_FRAME = "1";
 
 
-    /** 菜单类型(目录) */
+    /**
+     * 菜单类型(目录)
+     */
     public static final String TYPE_DIR = "M";
     public static final String TYPE_DIR = "M";
 
 
-    /** 菜单类型(菜单) */
+    /**
+     * 菜单类型(菜单)
+     */
     public static final String TYPE_MENU = "C";
     public static final String TYPE_MENU = "C";
 
 
-    /** 菜单类型(按钮) */
+    /**
+     * 菜单类型(按钮)
+     */
     public static final String TYPE_BUTTON = "F";
     public static final String TYPE_BUTTON = "F";
 
 
-    /** Layout组件标识 */
+    /**
+     * Layout组件标识
+     */
     public final static String LAYOUT = "Layout";
     public final static String LAYOUT = "Layout";
 
 
-    /** ParentView组件标识 */
+    /**
+     * ParentView组件标识
+     */
     public final static String PARENT_VIEW = "ParentView";
     public final static String PARENT_VIEW = "ParentView";
 
 
-    /** InnerLink组件标识 */
+    /**
+     * InnerLink组件标识
+     */
     public final static String INNER_LINK = "InnerLink";
     public final static String INNER_LINK = "InnerLink";
 
 
-    /** 校验返回结果码 */
+    /**
+     * 校验返回结果码
+     */
     public final static String UNIQUE = "0";
     public final static String UNIQUE = "0";
     public final static String NOT_UNIQUE = "1";
     public final static String NOT_UNIQUE = "1";
 
 

+ 13 - 28
ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java

@@ -4,58 +4,49 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 
 /**
 /**
  * web层通用数据处理
  * web层通用数据处理
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class BaseController
-{
-    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
+public class BaseController {
 
 
     /**
     /**
      * 返回成功
      * 返回成功
      */
      */
-    public AjaxResult<Void> success()
-    {
+    public AjaxResult<Void> success() {
         return AjaxResult.success();
         return AjaxResult.success();
     }
     }
 
 
     /**
     /**
      * 返回失败消息
      * 返回失败消息
      */
      */
-    public AjaxResult<Void> error()
-    {
+    public AjaxResult<Void> error() {
         return AjaxResult.error();
         return AjaxResult.error();
     }
     }
 
 
     /**
     /**
      * 返回成功消息
      * 返回成功消息
      */
      */
-    public AjaxResult<Void> success(String message)
-    {
+    public AjaxResult<Void> success(String message) {
         return AjaxResult.success(message);
         return AjaxResult.success(message);
     }
     }
 
 
     /**
     /**
      * 返回失败消息
      * 返回失败消息
      */
      */
-    public AjaxResult<Void> error(String message)
-    {
+    public AjaxResult<Void> error(String message) {
         return AjaxResult.error(message);
         return AjaxResult.error(message);
     }
     }
 
 
     /**
     /**
      * 响应返回结果
      * 响应返回结果
-     * 
+     *
      * @param rows 影响行数
      * @param rows 影响行数
      * @return 操作结果
      * @return 操作结果
      */
      */
-    protected AjaxResult<Void> toAjax(int rows)
-    {
+    protected AjaxResult<Void> toAjax(int rows) {
         return rows > 0 ? AjaxResult.success() : AjaxResult.error();
         return rows > 0 ? AjaxResult.success() : AjaxResult.error();
     }
     }
 
 
@@ -65,48 +56,42 @@ public class BaseController
      * @param result 结果
      * @param result 结果
      * @return 操作结果
      * @return 操作结果
      */
      */
-    protected AjaxResult<Void> toAjax(boolean result)
-    {
+    protected AjaxResult<Void> toAjax(boolean result) {
         return result ? success() : error();
         return result ? success() : error();
     }
     }
 
 
     /**
     /**
      * 页面跳转
      * 页面跳转
      */
      */
-    public String redirect(String url)
-    {
+    public String redirect(String url) {
         return StringUtils.format("redirect:{}", url);
         return StringUtils.format("redirect:{}", url);
     }
     }
 
 
     /**
     /**
      * 获取用户缓存信息
      * 获取用户缓存信息
      */
      */
-    public LoginUser getLoginUser()
-    {
+    public LoginUser getLoginUser() {
         return SecurityUtils.getLoginUser();
         return SecurityUtils.getLoginUser();
     }
     }
 
 
     /**
     /**
      * 获取登录用户id
      * 获取登录用户id
      */
      */
-    public Long getUserId()
-    {
+    public Long getUserId() {
         return getLoginUser().getUserId();
         return getLoginUser().getUserId();
     }
     }
 
 
     /**
     /**
      * 获取登录部门id
      * 获取登录部门id
      */
      */
-    public Long getDeptId()
-    {
+    public Long getDeptId() {
         return getLoginUser().getDeptId();
         return getLoginUser().getDeptId();
     }
     }
 
 
     /**
     /**
      * 获取登录用户名
      * 获取登录用户名
      */
      */
-    public String getUsername()
-    {
+    public String getUsername() {
         return getLoginUser().getUsername();
         return getLoginUser().getUsername();
     }
     }
 }
 }

+ 2 - 4
ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessStatus.java

@@ -2,12 +2,10 @@ package com.ruoyi.common.enums;
 
 
 /**
 /**
  * 操作状态
  * 操作状态
- * 
- * @author ruoyi
  *
  *
+ * @author ruoyi
  */
  */
-public enum BusinessStatus
-{
+public enum BusinessStatus {
     /**
     /**
      * 成功
      * 成功
      */
      */

+ 3 - 4
ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java

@@ -2,11 +2,10 @@ package com.ruoyi.common.enums;
 
 
 /**
 /**
  * 业务操作类型
  * 业务操作类型
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public enum BusinessType
-{
+public enum BusinessType {
     /**
     /**
      * 其它
      * 其它
      */
      */
@@ -51,7 +50,7 @@ public enum BusinessType
      * 生成代码
      * 生成代码
      */
      */
     GENCODE,
     GENCODE,
-    
+
     /**
     /**
      * 清空数据
      * 清空数据
      */
      */

+ 10 - 10
ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSourceType.java

@@ -10,16 +10,16 @@ import lombok.Getter;
  */
  */
 @AllArgsConstructor
 @AllArgsConstructor
 public enum DataSourceType {
 public enum DataSourceType {
-	/**
-	 * 主库
-	 */
-	MASTER("master"),
+    /**
+     * 主库
+     */
+    MASTER("master"),
 
 
-	/**
-	 * 从库
-	 */
-	SLAVE("slave");
+    /**
+     * 从库
+     */
+    SLAVE("slave");
 
 
-	@Getter
-	private final String source;
+    @Getter
+    private final String source;
 }
 }

+ 7 - 11
ruoyi-common/src/main/java/com/ruoyi/common/enums/HttpMethod.java

@@ -1,36 +1,32 @@
 package com.ruoyi.common.enums;
 package com.ruoyi.common.enums;
 
 
+import org.springframework.lang.Nullable;
+
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map;
-import org.springframework.lang.Nullable;
 
 
 /**
 /**
  * 请求方式
  * 请求方式
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public enum HttpMethod
-{
+public enum HttpMethod {
     GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE;
     GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE;
 
 
     private static final Map<String, HttpMethod> mappings = new HashMap<>(16);
     private static final Map<String, HttpMethod> mappings = new HashMap<>(16);
 
 
-    static
-    {
-        for (HttpMethod httpMethod : values())
-        {
+    static {
+        for (HttpMethod httpMethod : values()) {
             mappings.put(httpMethod.name(), httpMethod);
             mappings.put(httpMethod.name(), httpMethod);
         }
         }
     }
     }
 
 
     @Nullable
     @Nullable
-    public static HttpMethod resolve(@Nullable String method)
-    {
+    public static HttpMethod resolve(@Nullable String method) {
         return (method != null ? mappings.get(method) : null);
         return (method != null ? mappings.get(method) : null);
     }
     }
 
 
-    public boolean matches(String method)
-    {
+    public boolean matches(String method) {
         return (this == resolve(method));
         return (this == resolve(method));
     }
     }
 }
 }

+ 1 - 2
ruoyi-common/src/main/java/com/ruoyi/common/enums/LimitType.java

@@ -6,8 +6,7 @@ package com.ruoyi.common.enums;
  * @author ruoyi
  * @author ruoyi
  */
  */
 
 
-public enum LimitType
-{
+public enum LimitType {
     /**
     /**
      * 默认策略全局限流
      * 默认策略全局限流
      */
      */

+ 2 - 3
ruoyi-common/src/main/java/com/ruoyi/common/enums/OperatorType.java

@@ -2,11 +2,10 @@ package com.ruoyi.common.enums;
 
 
 /**
 /**
  * 操作人类别
  * 操作人类别
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public enum OperatorType
-{
+public enum OperatorType {
     /**
     /**
      * 其它
      * 其它
      */
      */

+ 5 - 9
ruoyi-common/src/main/java/com/ruoyi/common/enums/UserStatus.java

@@ -2,29 +2,25 @@ package com.ruoyi.common.enums;
 
 
 /**
 /**
  * 用户状态
  * 用户状态
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public enum UserStatus
-{
+public enum UserStatus {
     OK("0", "正常"), DISABLE("1", "停用"), DELETED("2", "删除");
     OK("0", "正常"), DISABLE("1", "停用"), DELETED("2", "删除");
 
 
     private final String code;
     private final String code;
     private final String info;
     private final String info;
 
 
-    UserStatus(String code, String info)
-    {
+    UserStatus(String code, String info) {
         this.code = code;
         this.code = code;
         this.info = info;
         this.info = info;
     }
     }
 
 
-    public String getCode()
-    {
+    public String getCode() {
         return code;
         return code;
     }
     }
 
 
-    public String getInfo()
-    {
+    public String getInfo() {
         return info;
         return info;
     }
     }
 }
 }

+ 3 - 5
ruoyi-common/src/main/java/com/ruoyi/common/exception/DemoModeException.java

@@ -2,14 +2,12 @@ package com.ruoyi.common.exception;
 
 
 /**
 /**
  * 演示模式异常
  * 演示模式异常
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class DemoModeException extends RuntimeException
-{
+public class DemoModeException extends RuntimeException {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
-    public DemoModeException()
-    {
+    public DemoModeException() {
     }
     }
 }
 }

+ 10 - 16
ruoyi-common/src/main/java/com/ruoyi/common/exception/GlobalException.java

@@ -2,11 +2,10 @@ package com.ruoyi.common.exception;
 
 
 /**
 /**
  * 全局异常
  * 全局异常
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class GlobalException extends RuntimeException
-{
+public class GlobalException extends RuntimeException {
 
 
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
@@ -17,7 +16,7 @@ public class GlobalException extends RuntimeException
 
 
     /**
     /**
      * 错误明细,内部调试错误
      * 错误明细,内部调试错误
-     *
+     * <p>
      * 和 {@link CommonResult#getDetailMessage()} 一致的设计
      * 和 {@link CommonResult#getDetailMessage()} 一致的设计
      */
      */
     private String detailMessage;
     private String detailMessage;
@@ -25,33 +24,28 @@ public class GlobalException extends RuntimeException
     /**
     /**
      * 空构造方法,避免反序列化问题
      * 空构造方法,避免反序列化问题
      */
      */
-    public GlobalException()
-    {
+    public GlobalException() {
     }
     }
 
 
-    public GlobalException(String message)
-    {
+    public GlobalException(String message) {
         this.message = message;
         this.message = message;
     }
     }
 
 
-    public String getDetailMessage()
-    {
+    public String getDetailMessage() {
         return detailMessage;
         return detailMessage;
     }
     }
 
 
-    public GlobalException setDetailMessage(String detailMessage)
-    {
+    public GlobalException setDetailMessage(String detailMessage) {
         this.detailMessage = detailMessage;
         this.detailMessage = detailMessage;
         return this;
         return this;
     }
     }
 
 
-    public String getMessage()
-    {
+    @Override
+    public String getMessage() {
         return message;
         return message;
     }
     }
 
 
-    public GlobalException setMessage(String message)
-    {
+    public GlobalException setMessage(String message) {
         this.message = message;
         this.message = message;
         return this;
         return this;
     }
     }

+ 12 - 20
ruoyi-common/src/main/java/com/ruoyi/common/exception/ServiceException.java

@@ -2,11 +2,10 @@ package com.ruoyi.common.exception;
 
 
 /**
 /**
  * 业务异常
  * 业务异常
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public final class ServiceException extends RuntimeException
-{
+public final class ServiceException extends RuntimeException {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
     /**
     /**
@@ -21,7 +20,7 @@ public final class ServiceException extends RuntimeException
 
 
     /**
     /**
      * 错误明细,内部调试错误
      * 错误明细,内部调试错误
-     *
+     * <p>
      * 和 {@link CommonResult#getDetailMessage()} 一致的设计
      * 和 {@link CommonResult#getDetailMessage()} 一致的设计
      */
      */
     private String detailMessage;
     private String detailMessage;
@@ -29,44 +28,37 @@ public final class ServiceException extends RuntimeException
     /**
     /**
      * 空构造方法,避免反序列化问题
      * 空构造方法,避免反序列化问题
      */
      */
-    public ServiceException()
-    {
+    public ServiceException() {
     }
     }
 
 
-    public ServiceException(String message)
-    {
+    public ServiceException(String message) {
         this.message = message;
         this.message = message;
     }
     }
 
 
-    public ServiceException(String message, Integer code)
-    {
+    public ServiceException(String message, Integer code) {
         this.message = message;
         this.message = message;
         this.code = code;
         this.code = code;
     }
     }
 
 
-    public String getDetailMessage()
-    {
+    public String getDetailMessage() {
         return detailMessage;
         return detailMessage;
     }
     }
 
 
-    public String getMessage()
-    {
+    @Override
+    public String getMessage() {
         return message;
         return message;
     }
     }
 
 
-    public Integer getCode()
-    {
+    public Integer getCode() {
         return code;
         return code;
     }
     }
 
 
-    public ServiceException setMessage(String message)
-    {
+    public ServiceException setMessage(String message) {
         this.message = message;
         this.message = message;
         return this;
         return this;
     }
     }
 
 
-    public ServiceException setDetailMessage(String detailMessage)
-    {
+    public ServiceException setDetailMessage(String detailMessage) {
         this.detailMessage = detailMessage;
         this.detailMessage = detailMessage;
         return this;
         return this;
     }
     }

+ 5 - 9
ruoyi-common/src/main/java/com/ruoyi/common/exception/UtilException.java

@@ -2,25 +2,21 @@ package com.ruoyi.common.exception;
 
 
 /**
 /**
  * 工具类异常
  * 工具类异常
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class UtilException extends RuntimeException
-{
+public class UtilException extends RuntimeException {
     private static final long serialVersionUID = 8247610319171014183L;
     private static final long serialVersionUID = 8247610319171014183L;
 
 
-    public UtilException(Throwable e)
-    {
+    public UtilException(Throwable e) {
         super(e.getMessage(), e);
         super(e.getMessage(), e);
     }
     }
 
 
-    public UtilException(String message)
-    {
+    public UtilException(String message) {
         super(message);
         super(message);
     }
     }
 
 
-    public UtilException(String message, Throwable throwable)
-    {
+    public UtilException(String message, Throwable throwable) {
         super(message, throwable);
         super(message, throwable);
     }
     }
 }
 }

+ 13 - 37
ruoyi-common/src/main/java/com/ruoyi/common/exception/base/BaseException.java

@@ -2,14 +2,17 @@ package com.ruoyi.common.exception.base;
 
 
 import com.ruoyi.common.utils.MessageUtils;
 import com.ruoyi.common.utils.MessageUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.StringUtils;
+import lombok.*;
 
 
 /**
 /**
  * 基础异常
  * 基础异常
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class BaseException extends RuntimeException
-{
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+public class BaseException extends RuntimeException {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
     /**
     /**
@@ -32,66 +35,39 @@ public class BaseException extends RuntimeException
      */
      */
     private String defaultMessage;
     private String defaultMessage;
 
 
-    public BaseException(String module, String code, Object[] args, String defaultMessage)
-    {
+    public BaseException(String module, String code, Object[] args, String defaultMessage) {
         this.module = module;
         this.module = module;
         this.code = code;
         this.code = code;
         this.args = args;
         this.args = args;
         this.defaultMessage = defaultMessage;
         this.defaultMessage = defaultMessage;
     }
     }
 
 
-    public BaseException(String module, String code, Object[] args)
-    {
+    public BaseException(String module, String code, Object[] args) {
         this(module, code, args, null);
         this(module, code, args, null);
     }
     }
 
 
-    public BaseException(String module, String defaultMessage)
-    {
+    public BaseException(String module, String defaultMessage) {
         this(module, null, null, defaultMessage);
         this(module, null, null, defaultMessage);
     }
     }
 
 
-    public BaseException(String code, Object[] args)
-    {
+    public BaseException(String code, Object[] args) {
         this(null, code, args, null);
         this(null, code, args, null);
     }
     }
 
 
-    public BaseException(String defaultMessage)
-    {
+    public BaseException(String defaultMessage) {
         this(null, null, null, defaultMessage);
         this(null, null, null, defaultMessage);
     }
     }
 
 
     @Override
     @Override
-    public String getMessage()
-    {
+    public String getMessage() {
         String message = null;
         String message = null;
-        if (!StringUtils.isEmpty(code))
-        {
+        if (!StringUtils.isEmpty(code)) {
             message = MessageUtils.message(code, args);
             message = MessageUtils.message(code, args);
         }
         }
-        if (message == null)
-        {
+        if (message == null) {
             message = defaultMessage;
             message = defaultMessage;
         }
         }
         return message;
         return message;
     }
     }
 
 
-    public String getModule()
-    {
-        return module;
-    }
-
-    public String getCode()
-    {
-        return code;
-    }
-
-    public Object[] getArgs()
-    {
-        return args;
-    }
-
-    public String getDefaultMessage()
-    {
-        return defaultMessage;
-    }
 }
 }

+ 2 - 4
ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileException.java

@@ -7,12 +7,10 @@ import com.ruoyi.common.exception.base.BaseException;
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class FileException extends BaseException
-{
+public class FileException extends BaseException {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
-    public FileException(String code, Object[] args)
-    {
+    public FileException(String code, Object[] args) {
         super("file", code, args, null);
         super("file", code, args, null);
     }
     }
 
 

+ 4 - 6
ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileNameLengthLimitExceededException.java

@@ -2,15 +2,13 @@ package com.ruoyi.common.exception.file;
 
 
 /**
 /**
  * 文件名称超长限制异常类
  * 文件名称超长限制异常类
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class FileNameLengthLimitExceededException extends FileException
-{
+public class FileNameLengthLimitExceededException extends FileException {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
-    public FileNameLengthLimitExceededException(int defaultFileNameLength)
-    {
-        super("upload.filename.exceed.length", new Object[] { defaultFileNameLength });
+    public FileNameLengthLimitExceededException(int defaultFileNameLength) {
+        super("upload.filename.exceed.length", new Object[]{defaultFileNameLength});
     }
     }
 }
 }

+ 4 - 6
ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileSizeLimitExceededException.java

@@ -2,15 +2,13 @@ package com.ruoyi.common.exception.file;
 
 
 /**
 /**
  * 文件名大小限制异常类
  * 文件名大小限制异常类
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class FileSizeLimitExceededException extends FileException
-{
+public class FileSizeLimitExceededException extends FileException {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
-    public FileSizeLimitExceededException(long defaultMaxSize)
-    {
-        super("upload.exceed.maxSize", new Object[] { defaultMaxSize });
+    public FileSizeLimitExceededException(long defaultMaxSize) {
+        super("upload.exceed.maxSize", new Object[]{defaultMaxSize});
     }
     }
 }
 }

+ 17 - 37
ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java

@@ -1,80 +1,60 @@
 package com.ruoyi.common.exception.file;
 package com.ruoyi.common.exception.file;
 
 
-import java.util.Arrays;
+import lombok.*;
 import org.apache.commons.fileupload.FileUploadException;
 import org.apache.commons.fileupload.FileUploadException;
 
 
+import java.util.Arrays;
+
 /**
 /**
  * 文件上传 误异常类
  * 文件上传 误异常类
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class InvalidExtensionException extends FileUploadException
-{
+@Data
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+public class InvalidExtensionException extends FileUploadException {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
     private String[] allowedExtension;
     private String[] allowedExtension;
     private String extension;
     private String extension;
     private String filename;
     private String filename;
 
 
-    public InvalidExtensionException(String[] allowedExtension, String extension, String filename)
-    {
+    public InvalidExtensionException(String[] allowedExtension, String extension, String filename) {
         super("filename : [" + filename + "], extension : [" + extension + "], allowed extension : [" + Arrays.toString(allowedExtension) + "]");
         super("filename : [" + filename + "], extension : [" + extension + "], allowed extension : [" + Arrays.toString(allowedExtension) + "]");
         this.allowedExtension = allowedExtension;
         this.allowedExtension = allowedExtension;
         this.extension = extension;
         this.extension = extension;
         this.filename = filename;
         this.filename = filename;
     }
     }
 
 
-    public String[] getAllowedExtension()
-    {
-        return allowedExtension;
-    }
-
-    public String getExtension()
-    {
-        return extension;
-    }
-
-    public String getFilename()
-    {
-        return filename;
-    }
-
-    public static class InvalidImageExtensionException extends InvalidExtensionException
-    {
+    public static class InvalidImageExtensionException extends InvalidExtensionException {
         private static final long serialVersionUID = 1L;
         private static final long serialVersionUID = 1L;
 
 
-        public InvalidImageExtensionException(String[] allowedExtension, String extension, String filename)
-        {
+        public InvalidImageExtensionException(String[] allowedExtension, String extension, String filename) {
             super(allowedExtension, extension, filename);
             super(allowedExtension, extension, filename);
         }
         }
     }
     }
 
 
-    public static class InvalidFlashExtensionException extends InvalidExtensionException
-    {
+    public static class InvalidFlashExtensionException extends InvalidExtensionException {
         private static final long serialVersionUID = 1L;
         private static final long serialVersionUID = 1L;
 
 
-        public InvalidFlashExtensionException(String[] allowedExtension, String extension, String filename)
-        {
+        public InvalidFlashExtensionException(String[] allowedExtension, String extension, String filename) {
             super(allowedExtension, extension, filename);
             super(allowedExtension, extension, filename);
         }
         }
     }
     }
 
 
-    public static class InvalidMediaExtensionException extends InvalidExtensionException
-    {
+    public static class InvalidMediaExtensionException extends InvalidExtensionException {
         private static final long serialVersionUID = 1L;
         private static final long serialVersionUID = 1L;
 
 
-        public InvalidMediaExtensionException(String[] allowedExtension, String extension, String filename)
-        {
+        public InvalidMediaExtensionException(String[] allowedExtension, String extension, String filename) {
             super(allowedExtension, extension, filename);
             super(allowedExtension, extension, filename);
         }
         }
     }
     }
 
 
-    public static class InvalidVideoExtensionException extends InvalidExtensionException
-    {
+    public static class InvalidVideoExtensionException extends InvalidExtensionException {
         private static final long serialVersionUID = 1L;
         private static final long serialVersionUID = 1L;
 
 
-        public InvalidVideoExtensionException(String[] allowedExtension, String extension, String filename)
-        {
+        public InvalidVideoExtensionException(String[] allowedExtension, String extension, String filename) {
             super(allowedExtension, extension, filename);
             super(allowedExtension, extension, filename);
         }
         }
     }
     }

+ 3 - 5
ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaException.java

@@ -2,15 +2,13 @@ package com.ruoyi.common.exception.user;
 
 
 /**
 /**
  * 验证码错误异常类
  * 验证码错误异常类
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class CaptchaException extends UserException
-{
+public class CaptchaException extends UserException {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
-    public CaptchaException()
-    {
+    public CaptchaException() {
         super("user.jcaptcha.error", null);
         super("user.jcaptcha.error", null);
     }
     }
 }
 }

+ 3 - 5
ruoyi-common/src/main/java/com/ruoyi/common/exception/user/CaptchaExpireException.java

@@ -2,15 +2,13 @@ package com.ruoyi.common.exception.user;
 
 
 /**
 /**
  * 验证码失效异常类
  * 验证码失效异常类
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class CaptchaExpireException extends UserException
-{
+public class CaptchaExpireException extends UserException {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
-    public CaptchaExpireException()
-    {
+    public CaptchaExpireException() {
         super("user.jcaptcha.expire", null);
         super("user.jcaptcha.expire", null);
     }
     }
 }
 }

+ 2 - 4
ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserException.java

@@ -7,12 +7,10 @@ import com.ruoyi.common.exception.base.BaseException;
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class UserException extends BaseException
-{
+public class UserException extends BaseException {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
-    public UserException(String code, Object[] args)
-    {
+    public UserException(String code, Object[] args) {
         super("user", code, args, null);
         super("user", code, args, null);
     }
     }
 }
 }

+ 3 - 5
ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserPasswordNotMatchException.java

@@ -2,15 +2,13 @@ package com.ruoyi.common.exception.user;
 
 
 /**
 /**
  * 用户密码不正确或不符合规范异常类
  * 用户密码不正确或不符合规范异常类
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class UserPasswordNotMatchException extends UserException
-{
+public class UserPasswordNotMatchException extends UserException {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
-    public UserPasswordNotMatchException()
-    {
+    public UserPasswordNotMatchException() {
         super("user.password.not.match", null);
         super("user.password.not.match", null);
     }
     }
 }
 }

+ 7 - 15
ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java

@@ -12,37 +12,29 @@ import java.io.IOException;
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class RepeatableFilter implements Filter
-{
+public class RepeatableFilter implements Filter {
     @Override
     @Override
-    public void init(FilterConfig filterConfig) throws ServletException
-    {
+    public void init(FilterConfig filterConfig) throws ServletException {
 
 
     }
     }
 
 
     @Override
     @Override
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
-            throws IOException, ServletException
-    {
+            throws IOException, ServletException {
         ServletRequest requestWrapper = null;
         ServletRequest requestWrapper = null;
         if (request instanceof HttpServletRequest
         if (request instanceof HttpServletRequest
-                && StringUtils.startsWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE))
-        {
+                && StringUtils.startsWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE)) {
             requestWrapper = new RepeatedlyRequestWrapper((HttpServletRequest) request, response);
             requestWrapper = new RepeatedlyRequestWrapper((HttpServletRequest) request, response);
         }
         }
-        if (null == requestWrapper)
-        {
+        if (null == requestWrapper) {
             chain.doFilter(request, response);
             chain.doFilter(request, response);
-        }
-        else
-        {
+        } else {
             chain.doFilter(requestWrapper, response);
             chain.doFilter(requestWrapper, response);
         }
         }
     }
     }
 
 
     @Override
     @Override
-    public void destroy()
-    {
+    public void destroy() {
 
 
     }
     }
 }
 }

+ 10 - 20
ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatedlyRequestWrapper.java

@@ -18,12 +18,10 @@ import java.nio.charset.StandardCharsets;
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class RepeatedlyRequestWrapper extends HttpServletRequestWrapper
-{
+public class RepeatedlyRequestWrapper extends HttpServletRequestWrapper {
     private final byte[] body;
     private final byte[] body;
 
 
-    public RepeatedlyRequestWrapper(HttpServletRequest request, ServletResponse response) throws IOException
-    {
+    public RepeatedlyRequestWrapper(HttpServletRequest request, ServletResponse response) throws IOException {
         super(request);
         super(request);
         request.setCharacterEncoding("UTF-8");
         request.setCharacterEncoding("UTF-8");
         response.setCharacterEncoding("UTF-8");
         response.setCharacterEncoding("UTF-8");
@@ -32,44 +30,36 @@ public class RepeatedlyRequestWrapper extends HttpServletRequestWrapper
     }
     }
 
 
     @Override
     @Override
-    public BufferedReader getReader() throws IOException
-    {
+    public BufferedReader getReader() throws IOException {
         return new BufferedReader(new InputStreamReader(getInputStream()));
         return new BufferedReader(new InputStreamReader(getInputStream()));
     }
     }
 
 
     @Override
     @Override
-    public ServletInputStream getInputStream() throws IOException
-    {
+    public ServletInputStream getInputStream() throws IOException {
         final ByteArrayInputStream bais = new ByteArrayInputStream(body);
         final ByteArrayInputStream bais = new ByteArrayInputStream(body);
-        return new ServletInputStream()
-        {
+        return new ServletInputStream() {
             @Override
             @Override
-            public int read() throws IOException
-            {
+            public int read() throws IOException {
                 return bais.read();
                 return bais.read();
             }
             }
 
 
             @Override
             @Override
-            public int available() throws IOException
-            {
+            public int available() throws IOException {
                 return body.length;
                 return body.length;
             }
             }
 
 
             @Override
             @Override
-            public boolean isFinished()
-            {
+            public boolean isFinished() {
                 return false;
                 return false;
             }
             }
 
 
             @Override
             @Override
-            public boolean isReady()
-            {
+            public boolean isReady() {
                 return false;
                 return false;
             }
             }
 
 
             @Override
             @Override
-            public void setReadListener(ReadListener readListener)
-            {
+            public void setReadListener(ReadListener readListener) {
 
 
             }
             }
         };
         };

+ 9 - 18
ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java

@@ -14,22 +14,18 @@ import java.util.List;
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class XssFilter implements Filter
-{
+public class XssFilter implements Filter {
     /**
     /**
      * 排除链接
      * 排除链接
      */
      */
     public List<String> excludes = new ArrayList<>();
     public List<String> excludes = new ArrayList<>();
 
 
     @Override
     @Override
-    public void init(FilterConfig filterConfig) throws ServletException
-    {
+    public void init(FilterConfig filterConfig) throws ServletException {
         String tempExcludes = filterConfig.getInitParameter("excludes");
         String tempExcludes = filterConfig.getInitParameter("excludes");
-        if (StringUtils.isNotEmpty(tempExcludes))
-        {
+        if (StringUtils.isNotEmpty(tempExcludes)) {
             String[] url = tempExcludes.split(",");
             String[] url = tempExcludes.split(",");
-            for (int i = 0; url != null && i < url.length; i++)
-            {
+            for (int i = 0; url != null && i < url.length; i++) {
                 excludes.add(url[i]);
                 excludes.add(url[i]);
             }
             }
         }
         }
@@ -37,12 +33,10 @@ public class XssFilter implements Filter
 
 
     @Override
     @Override
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
-            throws IOException, ServletException
-    {
+            throws IOException, ServletException {
         HttpServletRequest req = (HttpServletRequest) request;
         HttpServletRequest req = (HttpServletRequest) request;
         HttpServletResponse resp = (HttpServletResponse) response;
         HttpServletResponse resp = (HttpServletResponse) response;
-        if (handleExcludeURL(req, resp))
-        {
+        if (handleExcludeURL(req, resp)) {
             chain.doFilter(request, response);
             chain.doFilter(request, response);
             return;
             return;
         }
         }
@@ -50,21 +44,18 @@ public class XssFilter implements Filter
         chain.doFilter(xssRequest, response);
         chain.doFilter(xssRequest, response);
     }
     }
 
 
-    private boolean handleExcludeURL(HttpServletRequest request, HttpServletResponse response)
-    {
+    private boolean handleExcludeURL(HttpServletRequest request, HttpServletResponse response) {
         String url = request.getServletPath();
         String url = request.getServletPath();
         String method = request.getMethod();
         String method = request.getMethod();
         // GET DELETE 不过滤
         // GET DELETE 不过滤
-        if (method == null || method.matches("GET") || method.matches("DELETE"))
-        {
+        if (method == null || method.matches("GET") || method.matches("DELETE")) {
             return true;
             return true;
         }
         }
         return StringUtils.matches(url, excludes);
         return StringUtils.matches(url, excludes);
     }
     }
 
 
     @Override
     @Override
-    public void destroy()
-    {
+    public void destroy() {
 
 
     }
     }
 }
 }

+ 15 - 30
ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java

@@ -19,26 +19,21 @@ import java.nio.charset.StandardCharsets;
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper
-{
+public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper {
     /**
     /**
      * @param request
      * @param request
      */
      */
-    public XssHttpServletRequestWrapper(HttpServletRequest request)
-    {
+    public XssHttpServletRequestWrapper(HttpServletRequest request) {
         super(request);
         super(request);
     }
     }
 
 
     @Override
     @Override
-    public String[] getParameterValues(String name)
-    {
+    public String[] getParameterValues(String name) {
         String[] values = super.getParameterValues(name);
         String[] values = super.getParameterValues(name);
-        if (values != null)
-        {
+        if (values != null) {
             int length = values.length;
             int length = values.length;
             String[] escapseValues = new String[length];
             String[] escapseValues = new String[length];
-            for (int i = 0; i < length; i++)
-            {
+            for (int i = 0; i < length; i++) {
                 // 防xss攻击和过滤前后空格
                 // 防xss攻击和过滤前后空格
                 escapseValues[i] = HtmlUtil.cleanHtmlTag(values[i]).trim();
                 escapseValues[i] = HtmlUtil.cleanHtmlTag(values[i]).trim();
             }
             }
@@ -48,18 +43,15 @@ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper
     }
     }
 
 
     @Override
     @Override
-    public ServletInputStream getInputStream() throws IOException
-    {
+    public ServletInputStream getInputStream() throws IOException {
         // 非json类型,直接返回
         // 非json类型,直接返回
-        if (!isJsonRequest())
-        {
+        if (!isJsonRequest()) {
             return super.getInputStream();
             return super.getInputStream();
         }
         }
 
 
         // 为空,直接返回
         // 为空,直接返回
         String json = IoUtil.read(super.getInputStream(), StandardCharsets.UTF_8);
         String json = IoUtil.read(super.getInputStream(), StandardCharsets.UTF_8);
-        if (StringUtils.isEmpty(json))
-        {
+        if (StringUtils.isEmpty(json)) {
             return super.getInputStream();
             return super.getInputStream();
         }
         }
 
 
@@ -67,34 +59,28 @@ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper
         json = HtmlUtil.cleanHtmlTag(json).trim();
         json = HtmlUtil.cleanHtmlTag(json).trim();
         byte[] jsonBytes = json.getBytes(StandardCharsets.UTF_8);
         byte[] jsonBytes = json.getBytes(StandardCharsets.UTF_8);
         final ByteArrayInputStream bis = IoUtil.toStream(jsonBytes);
         final ByteArrayInputStream bis = IoUtil.toStream(jsonBytes);
-        return new ServletInputStream()
-        {
+        return new ServletInputStream() {
             @Override
             @Override
-            public boolean isFinished()
-            {
+            public boolean isFinished() {
                 return true;
                 return true;
             }
             }
 
 
             @Override
             @Override
-            public boolean isReady()
-            {
+            public boolean isReady() {
                 return true;
                 return true;
             }
             }
 
 
             @Override
             @Override
-            public int available() throws IOException
-            {
+            public int available() throws IOException {
                 return jsonBytes.length;
                 return jsonBytes.length;
             }
             }
 
 
             @Override
             @Override
-            public void setReadListener(ReadListener readListener)
-            {
+            public void setReadListener(ReadListener readListener) {
             }
             }
 
 
             @Override
             @Override
-            public int read() throws IOException
-            {
+            public int read() throws IOException {
                 return bis.read();
                 return bis.read();
             }
             }
         };
         };
@@ -105,8 +91,7 @@ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper
      *
      *
      * @param request
      * @param request
      */
      */
-    public boolean isJsonRequest()
-    {
+    public boolean isJsonRequest() {
         String header = super.getHeader(HttpHeaders.CONTENT_TYPE);
         String header = super.getHeader(HttpHeaders.CONTENT_TYPE);
         return StringUtils.startsWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE);
         return StringUtils.startsWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE);
     }
     }

+ 45 - 45
ruoyi-common/src/main/java/com/ruoyi/common/utils/BeanCopyUtils.java

@@ -16,51 +16,51 @@ import java.util.stream.Collectors;
  */
  */
 public class BeanCopyUtils {
 public class BeanCopyUtils {
 
 
-	/**
-	 * 单对象基于class创建拷贝
-	 *
-	 * @param source      数据来源实体
-	 * @param copyOptions copy条件
-	 * @param desc        描述对象 转换后的对象
-	 * @return desc
-	 */
-	public static <T, V> V oneCopy(T source, CopyOptions copyOptions, Class<V> desc) {
-		V v = ReflectUtil.newInstanceIfPossible(desc);
-		return oneCopy(source, copyOptions, v);
-	}
+    /**
+     * 单对象基于class创建拷贝
+     *
+     * @param source      数据来源实体
+     * @param copyOptions copy条件
+     * @param desc        描述对象 转换后的对象
+     * @return desc
+     */
+    public static <T, V> V oneCopy(T source, CopyOptions copyOptions, Class<V> desc) {
+        V v = ReflectUtil.newInstanceIfPossible(desc);
+        return oneCopy(source, copyOptions, v);
+    }
 
 
-	/**
-	 * 单对象基于对象创建拷贝
-	 *
-	 * @param source      数据来源实体
-	 * @param copyOptions copy条件
-	 * @param desc        转换后的对象
-	 * @return desc
-	 */
-	public static <T, V> V oneCopy(T source, CopyOptions copyOptions, V desc) {
-		if (ObjectUtil.isNull(source)) {
-			return null;
-		}
-		return BeanCopier.create(source, desc, copyOptions).copy();
-	}
+    /**
+     * 单对象基于对象创建拷贝
+     *
+     * @param source      数据来源实体
+     * @param copyOptions copy条件
+     * @param desc        转换后的对象
+     * @return desc
+     */
+    public static <T, V> V oneCopy(T source, CopyOptions copyOptions, V desc) {
+        if (ObjectUtil.isNull(source)) {
+            return null;
+        }
+        return BeanCopier.create(source, desc, copyOptions).copy();
+    }
 
 
-	/**
-	 * 列表对象基于class创建拷贝
-	 *
-	 * @param sourceList  数据来源实体列表
-	 * @param copyOptions copy条件
-	 * @param desc        描述对象 转换后的对象
-	 * @return desc
-	 */
-	public static <T, V> List<V> listCopy(List<T> sourceList, CopyOptions copyOptions, Class<V> desc) {
-		if (ObjectUtil.isNull(sourceList)) {
-			return null;
-		}
-		if (CollUtil.isEmpty(sourceList)) {
-			return CollUtil.newArrayList();
-		}
-		return sourceList.stream()
-			.map(source -> oneCopy(source, copyOptions, desc))
-			.collect(Collectors.toList());
-	}
+    /**
+     * 列表对象基于class创建拷贝
+     *
+     * @param sourceList  数据来源实体列表
+     * @param copyOptions copy条件
+     * @param desc        描述对象 转换后的对象
+     * @return desc
+     */
+    public static <T, V> List<V> listCopy(List<T> sourceList, CopyOptions copyOptions, Class<V> desc) {
+        if (ObjectUtil.isNull(sourceList)) {
+            return null;
+        }
+        if (CollUtil.isEmpty(sourceList)) {
+            return CollUtil.newArrayList();
+        }
+        return sourceList.stream()
+                .map(source -> oneCopy(source, copyOptions, desc))
+                .collect(Collectors.toList());
+    }
 }
 }

+ 28 - 47
ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java

@@ -1,18 +1,19 @@
 package com.ruoyi.common.utils;
 package com.ruoyi.common.utils;
 
 
+import org.apache.commons.lang3.time.DateFormatUtils;
+
 import java.lang.management.ManagementFactory;
 import java.lang.management.ManagementFactory;
 import java.text.ParseException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Date;
-import org.apache.commons.lang3.time.DateFormatUtils;
 
 
 /**
 /**
  * 时间工具类
  * 时间工具类
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class DateUtils extends org.apache.commons.lang3.time.DateUtils
-{
+public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
+
     public static String YYYY = "yyyy";
     public static String YYYY = "yyyy";
 
 
     public static String YYYY_MM = "yyyy-MM";
     public static String YYYY_MM = "yyyy-MM";
@@ -22,65 +23,54 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
     public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
     public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
 
 
     public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
     public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
-    
+
     private static String[] parsePatterns = {
     private static String[] parsePatterns = {
-            "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", 
+            "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
             "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
             "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
             "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};
             "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};
 
 
     /**
     /**
      * 获取当前Date型日期
      * 获取当前Date型日期
-     * 
+     *
      * @return Date() 当前日期
      * @return Date() 当前日期
      */
      */
-    public static Date getNowDate()
-    {
+    public static Date getNowDate() {
         return new Date();
         return new Date();
     }
     }
 
 
     /**
     /**
      * 获取当前日期, 默认格式为yyyy-MM-dd
      * 获取当前日期, 默认格式为yyyy-MM-dd
-     * 
+     *
      * @return String
      * @return String
      */
      */
-    public static String getDate()
-    {
+    public static String getDate() {
         return dateTimeNow(YYYY_MM_DD);
         return dateTimeNow(YYYY_MM_DD);
     }
     }
 
 
-    public static final String getTime()
-    {
+    public static final String getTime() {
         return dateTimeNow(YYYY_MM_DD_HH_MM_SS);
         return dateTimeNow(YYYY_MM_DD_HH_MM_SS);
     }
     }
 
 
-    public static final String dateTimeNow()
-    {
+    public static final String dateTimeNow() {
         return dateTimeNow(YYYYMMDDHHMMSS);
         return dateTimeNow(YYYYMMDDHHMMSS);
     }
     }
 
 
-    public static final String dateTimeNow(final String format)
-    {
+    public static final String dateTimeNow(final String format) {
         return parseDateToStr(format, new Date());
         return parseDateToStr(format, new Date());
     }
     }
 
 
-    public static final String dateTime(final Date date)
-    {
+    public static final String dateTime(final Date date) {
         return parseDateToStr(YYYY_MM_DD, date);
         return parseDateToStr(YYYY_MM_DD, date);
     }
     }
 
 
-    public static final String parseDateToStr(final String format, final Date date)
-    {
+    public static final String parseDateToStr(final String format, final Date date) {
         return new SimpleDateFormat(format).format(date);
         return new SimpleDateFormat(format).format(date);
     }
     }
 
 
-    public static final Date dateTime(final String format, final String ts)
-    {
-        try
-        {
+    public static final Date dateTime(final String format, final String ts) {
+        try {
             return new SimpleDateFormat(format).parse(ts);
             return new SimpleDateFormat(format).parse(ts);
-        }
-        catch (ParseException e)
-        {
+        } catch (ParseException e) {
             throw new RuntimeException(e);
             throw new RuntimeException(e);
         }
         }
     }
     }
@@ -88,8 +78,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
     /**
     /**
      * 日期路径 即年/月/日 如2018/08/08
      * 日期路径 即年/月/日 如2018/08/08
      */
      */
-    public static final String datePath()
-    {
+    public static final String datePath() {
         Date now = new Date();
         Date now = new Date();
         return DateFormatUtils.format(now, "yyyy/MM/dd");
         return DateFormatUtils.format(now, "yyyy/MM/dd");
     }
     }
@@ -97,8 +86,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
     /**
     /**
      * 日期路径 即年/月/日 如20180808
      * 日期路径 即年/月/日 如20180808
      */
      */
-    public static final String dateTime()
-    {
+    public static final String dateTime() {
         Date now = new Date();
         Date now = new Date();
         return DateFormatUtils.format(now, "yyyyMMdd");
         return DateFormatUtils.format(now, "yyyyMMdd");
     }
     }
@@ -106,27 +94,21 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
     /**
     /**
      * 日期型字符串转化为日期 格式
      * 日期型字符串转化为日期 格式
      */
      */
-    public static Date parseDate(Object str)
-    {
-        if (str == null)
-        {
+    public static Date parseDate(Object str) {
+        if (str == null) {
             return null;
             return null;
         }
         }
-        try
-        {
+        try {
             return parseDate(str.toString(), parsePatterns);
             return parseDate(str.toString(), parsePatterns);
-        }
-        catch (ParseException e)
-        {
+        } catch (ParseException e) {
             return null;
             return null;
         }
         }
     }
     }
-    
+
     /**
     /**
      * 获取服务器启动时间
      * 获取服务器启动时间
      */
      */
-    public static Date getServerStartDate()
-    {
+    public static Date getServerStartDate() {
         long time = ManagementFactory.getRuntimeMXBean().getStartTime();
         long time = ManagementFactory.getRuntimeMXBean().getStartTime();
         return new Date(time);
         return new Date(time);
     }
     }
@@ -134,8 +116,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
     /**
     /**
      * 计算两个时间差
      * 计算两个时间差
      */
      */
-    public static String getDatePoor(Date endDate, Date nowDate)
-    {
+    public static String getDatePoor(Date endDate, Date nowDate) {
         long nd = 1000 * 24 * 60 * 60;
         long nd = 1000 * 24 * 60 * 60;
         long nh = 1000 * 60 * 60;
         long nh = 1000 * 60 * 60;
         long nm = 1000 * 60;
         long nm = 1000 * 60;

+ 32 - 58
ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java

@@ -12,8 +12,8 @@ import java.util.List;
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class DictUtils
-{
+public class DictUtils {
+
     /**
     /**
      * 分隔符
      * 分隔符
      */
      */
@@ -22,11 +22,10 @@ public class DictUtils
     /**
     /**
      * 设置字典缓存
      * 设置字典缓存
      *
      *
-     * @param key 参数键
+     * @param key       参数键
      * @param dictDatas 字典数据列表
      * @param dictDatas 字典数据列表
      */
      */
-    public static void setDictCache(String key, List<SysDictData> dictDatas)
-    {
+    public static void setDictCache(String key, List<SysDictData> dictDatas) {
         RedisUtils.setCacheObject(getCacheKey(key), dictDatas);
         RedisUtils.setCacheObject(getCacheKey(key), dictDatas);
     }
     }
 
 
@@ -36,12 +35,10 @@ public class DictUtils
      * @param key 参数键
      * @param key 参数键
      * @return dictDatas 字典数据列表
      * @return dictDatas 字典数据列表
      */
      */
-    public static List<SysDictData> getDictCache(String key)
-    {
+    public static List<SysDictData> getDictCache(String key) {
         Object cacheObj = RedisUtils.getCacheObject(getCacheKey(key));
         Object cacheObj = RedisUtils.getCacheObject(getCacheKey(key));
-        if (StringUtils.isNotNull(cacheObj))
-        {
-            List<SysDictData> dictDatas = (List<SysDictData>)cacheObj;
+        if (StringUtils.isNotNull(cacheObj)) {
+            List<SysDictData> dictDatas = (List<SysDictData>) cacheObj;
             return dictDatas;
             return dictDatas;
         }
         }
         return null;
         return null;
@@ -50,60 +47,49 @@ public class DictUtils
     /**
     /**
      * 根据字典类型和字典值获取字典标签
      * 根据字典类型和字典值获取字典标签
      *
      *
-     * @param dictType 字典类型
+     * @param dictType  字典类型
      * @param dictValue 字典值
      * @param dictValue 字典值
      * @return 字典标签
      * @return 字典标签
      */
      */
-    public static String getDictLabel(String dictType, String dictValue)
-    {
+    public static String getDictLabel(String dictType, String dictValue) {
         return getDictLabel(dictType, dictValue, SEPARATOR);
         return getDictLabel(dictType, dictValue, SEPARATOR);
     }
     }
 
 
     /**
     /**
      * 根据字典类型和字典标签获取字典值
      * 根据字典类型和字典标签获取字典值
      *
      *
-     * @param dictType 字典类型
+     * @param dictType  字典类型
      * @param dictLabel 字典标签
      * @param dictLabel 字典标签
      * @return 字典值
      * @return 字典值
      */
      */
-    public static String getDictValue(String dictType, String dictLabel)
-    {
+    public static String getDictValue(String dictType, String dictLabel) {
         return getDictValue(dictType, dictLabel, SEPARATOR);
         return getDictValue(dictType, dictLabel, SEPARATOR);
     }
     }
 
 
     /**
     /**
      * 根据字典类型和字典值获取字典标签
      * 根据字典类型和字典值获取字典标签
      *
      *
-     * @param dictType 字典类型
+     * @param dictType  字典类型
      * @param dictValue 字典值
      * @param dictValue 字典值
      * @param separator 分隔符
      * @param separator 分隔符
      * @return 字典标签
      * @return 字典标签
      */
      */
-    public static String getDictLabel(String dictType, String dictValue, String separator)
-    {
+    public static String getDictLabel(String dictType, String dictValue, String separator) {
         StringBuilder propertyString = new StringBuilder();
         StringBuilder propertyString = new StringBuilder();
         List<SysDictData> datas = getDictCache(dictType);
         List<SysDictData> datas = getDictCache(dictType);
 
 
-        if (StringUtils.containsAny(dictValue, separator) && CollUtil.isNotEmpty(datas))
-        {
-            for (SysDictData dict : datas)
-            {
-                for (String value : dictValue.split(separator))
-                {
-                    if (value.equals(dict.getDictValue()))
-                    {
+        if (StringUtils.containsAny(dictValue, separator) && CollUtil.isNotEmpty(datas)) {
+            for (SysDictData dict : datas) {
+                for (String value : dictValue.split(separator)) {
+                    if (value.equals(dict.getDictValue())) {
                         propertyString.append(dict.getDictLabel() + separator);
                         propertyString.append(dict.getDictLabel() + separator);
                         break;
                         break;
                     }
                     }
                 }
                 }
             }
             }
-        }
-        else
-        {
-            for (SysDictData dict : datas)
-            {
-                if (dictValue.equals(dict.getDictValue()))
-                {
+        } else {
+            for (SysDictData dict : datas) {
+                if (dictValue.equals(dict.getDictValue())) {
                     return dict.getDictLabel();
                     return dict.getDictLabel();
                 }
                 }
             }
             }
@@ -114,36 +100,27 @@ public class DictUtils
     /**
     /**
      * 根据字典类型和字典标签获取字典值
      * 根据字典类型和字典标签获取字典值
      *
      *
-     * @param dictType 字典类型
+     * @param dictType  字典类型
      * @param dictLabel 字典标签
      * @param dictLabel 字典标签
      * @param separator 分隔符
      * @param separator 分隔符
      * @return 字典值
      * @return 字典值
      */
      */
-    public static String getDictValue(String dictType, String dictLabel, String separator)
-    {
+    public static String getDictValue(String dictType, String dictLabel, String separator) {
         StringBuilder propertyString = new StringBuilder();
         StringBuilder propertyString = new StringBuilder();
         List<SysDictData> datas = getDictCache(dictType);
         List<SysDictData> datas = getDictCache(dictType);
 
 
-        if (StringUtils.containsAny(dictLabel, separator) && CollUtil.isNotEmpty(datas))
-        {
-            for (SysDictData dict : datas)
-            {
-                for (String label : dictLabel.split(separator))
-                {
-                    if (label.equals(dict.getDictLabel()))
-                    {
+        if (StringUtils.containsAny(dictLabel, separator) && CollUtil.isNotEmpty(datas)) {
+            for (SysDictData dict : datas) {
+                for (String label : dictLabel.split(separator)) {
+                    if (label.equals(dict.getDictLabel())) {
                         propertyString.append(dict.getDictValue() + separator);
                         propertyString.append(dict.getDictValue() + separator);
                         break;
                         break;
                     }
                     }
                 }
                 }
             }
             }
-        }
-        else
-        {
-            for (SysDictData dict : datas)
-            {
-                if (dictLabel.equals(dict.getDictLabel()))
-                {
+        } else {
+            for (SysDictData dict : datas) {
+                if (dictLabel.equals(dict.getDictLabel())) {
                     return dict.getDictValue();
                     return dict.getDictValue();
                 }
                 }
             }
             }
@@ -156,16 +133,14 @@ public class DictUtils
      *
      *
      * @param key 字典键
      * @param key 字典键
      */
      */
-    public static void removeDictCache(String key)
-    {
+    public static void removeDictCache(String key) {
         RedisUtils.deleteObject(getCacheKey(key));
         RedisUtils.deleteObject(getCacheKey(key));
     }
     }
 
 
     /**
     /**
      * 清空字典缓存
      * 清空字典缓存
      */
      */
-    public static void clearDictCache()
-    {
+    public static void clearDictCache() {
         Collection<String> keys = RedisUtils.keys(Constants.SYS_DICT_KEY + "*");
         Collection<String> keys = RedisUtils.keys(Constants.SYS_DICT_KEY + "*");
         RedisUtils.deleteObject(keys);
         RedisUtils.deleteObject(keys);
     }
     }
@@ -176,8 +151,7 @@ public class DictUtils
      * @param configKey 参数键
      * @param configKey 参数键
      * @return 缓存键key
      * @return 缓存键key
      */
      */
-    public static String getCacheKey(String configKey)
-    {
+    public static String getCacheKey(String configKey) {
         return Constants.SYS_DICT_KEY + configKey;
         return Constants.SYS_DICT_KEY + configKey;
     }
     }
 }
 }

+ 17 - 16
ruoyi-common/src/main/java/com/ruoyi/common/utils/JsonUtils.java

@@ -24,9 +24,9 @@ public class JsonUtils {
     private static ObjectMapper objectMapper = SpringUtils.getBean(ObjectMapper.class);
     private static ObjectMapper objectMapper = SpringUtils.getBean(ObjectMapper.class);
 
 
     public static String toJsonString(Object object) {
     public static String toJsonString(Object object) {
-		if (StringUtils.isNull(object)) {
-			return null;
-		}
+        if (StringUtils.isNull(object)) {
+            return null;
+        }
         try {
         try {
             return objectMapper.writeValueAsString(object);
             return objectMapper.writeValueAsString(object);
         } catch (JsonProcessingException e) {
         } catch (JsonProcessingException e) {
@@ -57,9 +57,9 @@ public class JsonUtils {
     }
     }
 
 
     public static <T> T parseObject(String text, TypeReference<T> typeReference) {
     public static <T> T parseObject(String text, TypeReference<T> typeReference) {
-		if (StringUtils.isBlank(text)) {
-			return null;
-		}
+        if (StringUtils.isBlank(text)) {
+            return null;
+        }
         try {
         try {
             return objectMapper.readValue(text, typeReference);
             return objectMapper.readValue(text, typeReference);
         } catch (IOException e) {
         } catch (IOException e) {
@@ -67,16 +67,17 @@ public class JsonUtils {
         }
         }
     }
     }
 
 
-	public static <T> Map<String, T> parseMap(String text) {
-		if (StringUtils.isBlank(text)) {
-			return null;
-		}
-		try {
-			return objectMapper.readValue(text, new TypeReference<Map<String, T>>() {});
-		} catch (IOException e) {
-			throw new RuntimeException(e);
-		}
-	}
+    public static <T> Map<String, T> parseMap(String text) {
+        if (StringUtils.isBlank(text)) {
+            return null;
+        }
+        try {
+            return objectMapper.readValue(text, new TypeReference<Map<String, T>>() {
+            });
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
 
 
     public static <T> List<T> parseArray(String text, Class<T> clazz) {
     public static <T> List<T> parseArray(String text, Class<T> clazz) {
         if (StringUtils.isEmpty(text)) {
         if (StringUtils.isEmpty(text)) {

+ 4 - 6
ruoyi-common/src/main/java/com/ruoyi/common/utils/MessageUtils.java

@@ -1,16 +1,15 @@
 package com.ruoyi.common.utils;
 package com.ruoyi.common.utils;
 
 
+import com.ruoyi.common.utils.spring.SpringUtils;
 import org.springframework.context.MessageSource;
 import org.springframework.context.MessageSource;
 import org.springframework.context.i18n.LocaleContextHolder;
 import org.springframework.context.i18n.LocaleContextHolder;
-import com.ruoyi.common.utils.spring.SpringUtils;
 
 
 /**
 /**
  * 获取i18n资源文件
  * 获取i18n资源文件
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class MessageUtils
-{
+public class MessageUtils {
     /**
     /**
      * 根据消息键和参数 获取消息 委托给spring messageSource
      * 根据消息键和参数 获取消息 委托给spring messageSource
      *
      *
@@ -18,8 +17,7 @@ public class MessageUtils
      * @param args 参数
      * @param args 参数
      * @return 获取国际化翻译值
      * @return 获取国际化翻译值
      */
      */
-    public static String message(String code, Object... args)
-    {
+    public static String message(String code, Object... args) {
         MessageSource messageSource = SpringUtils.getBean(MessageSource.class);
         MessageSource messageSource = SpringUtils.getBean(MessageSource.class);
         return messageSource.getMessage(code, args, LocaleContextHolder.getLocale());
         return messageSource.getMessage(code, args, LocaleContextHolder.getLocale());
     }
     }

+ 7 - 5
ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java

@@ -48,6 +48,7 @@ public class PageUtils {
 
 
     /**
     /**
      * 构建 plus 分页对象
      * 构建 plus 分页对象
+     *
      * @param <T> domain 实体
      * @param <T> domain 实体
      * @param <K> vo 实体
      * @param <K> vo 实体
      * @return 分页对象
      * @return 分页对象
@@ -66,12 +67,13 @@ public class PageUtils {
         return page;
         return page;
     }
     }
 
 
-	public static <T> Page<T> buildPage() {
-		return buildPage(null, null);
-	}
+    public static <T> Page<T> buildPage() {
+        return buildPage(null, null);
+    }
 
 
     /**
     /**
      * 构建 MP 普通分页对象
      * 构建 MP 普通分页对象
+     *
      * @param <T> domain 实体
      * @param <T> domain 实体
      * @return 分页对象
      * @return 分页对象
      */
      */
@@ -98,8 +100,8 @@ public class PageUtils {
         }
         }
         if (StringUtils.isNotBlank(orderByColumn)) {
         if (StringUtils.isNotBlank(orderByColumn)) {
             String orderBy = SqlUtil.escapeOrderBySql(orderByColumn);
             String orderBy = SqlUtil.escapeOrderBySql(orderByColumn);
-			orderBy = StringUtils.toUnderScoreCase(orderBy);
-			if ("asc".equals(isAsc)) {
+            orderBy = StringUtils.toUnderScoreCase(orderBy);
+            if ("asc".equals(isAsc)) {
                 return OrderItem.asc(orderBy);
                 return OrderItem.asc(orderBy);
             } else if ("desc".equals(isAsc)) {
             } else if ("desc".equals(isAsc)) {
                 return OrderItem.desc(orderBy);
                 return OrderItem.desc(orderBy);

+ 21 - 41
ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java

@@ -1,30 +1,26 @@
 package com.ruoyi.common.utils;
 package com.ruoyi.common.utils;
 
 
 import cn.hutool.http.HttpStatus;
 import cn.hutool.http.HttpStatus;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.exception.ServiceException;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import com.ruoyi.common.core.domain.model.LoginUser;
-import com.ruoyi.common.exception.ServiceException;
 
 
 /**
 /**
  * 安全服务工具类
  * 安全服务工具类
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class SecurityUtils
-{
+public class SecurityUtils {
+
     /**
     /**
      * 用户ID
      * 用户ID
      **/
      **/
-    public static Long getUserId()
-    {
-        try
-        {
+    public static Long getUserId() {
+        try {
             return getLoginUser().getUserId();
             return getLoginUser().getUserId();
-        }
-        catch (Exception e)
-        {
+        } catch (Exception e) {
             throw new ServiceException("获取用户ID异常", HttpStatus.HTTP_UNAUTHORIZED);
             throw new ServiceException("获取用户ID异常", HttpStatus.HTTP_UNAUTHORIZED);
         }
         }
     }
     }
@@ -32,14 +28,10 @@ public class SecurityUtils
     /**
     /**
      * 获取部门ID
      * 获取部门ID
      **/
      **/
-    public static Long getDeptId()
-    {
-        try
-        {
+    public static Long getDeptId() {
+        try {
             return getLoginUser().getDeptId();
             return getLoginUser().getDeptId();
-        }
-        catch (Exception e)
-        {
+        } catch (Exception e) {
             throw new ServiceException("获取部门ID异常", HttpStatus.HTTP_UNAUTHORIZED);
             throw new ServiceException("获取部门ID异常", HttpStatus.HTTP_UNAUTHORIZED);
         }
         }
     }
     }
@@ -47,14 +39,10 @@ public class SecurityUtils
     /**
     /**
      * 获取用户账户
      * 获取用户账户
      **/
      **/
-    public static String getUsername()
-    {
-        try
-        {
+    public static String getUsername() {
+        try {
             return getLoginUser().getUsername();
             return getLoginUser().getUsername();
-        }
-        catch (Exception e)
-        {
+        } catch (Exception e) {
             throw new ServiceException("获取用户账户异常", HttpStatus.HTTP_UNAUTHORIZED);
             throw new ServiceException("获取用户账户异常", HttpStatus.HTTP_UNAUTHORIZED);
         }
         }
     }
     }
@@ -62,14 +50,10 @@ public class SecurityUtils
     /**
     /**
      * 获取用户
      * 获取用户
      **/
      **/
-    public static LoginUser getLoginUser()
-    {
-        try
-        {
+    public static LoginUser getLoginUser() {
+        try {
             return (LoginUser) getAuthentication().getPrincipal();
             return (LoginUser) getAuthentication().getPrincipal();
-        }
-        catch (Exception e)
-        {
+        } catch (Exception e) {
             throw new ServiceException("获取用户信息异常", HttpStatus.HTTP_UNAUTHORIZED);
             throw new ServiceException("获取用户信息异常", HttpStatus.HTTP_UNAUTHORIZED);
         }
         }
     }
     }
@@ -77,8 +61,7 @@ public class SecurityUtils
     /**
     /**
      * 获取Authentication
      * 获取Authentication
      */
      */
-    public static Authentication getAuthentication()
-    {
+    public static Authentication getAuthentication() {
         return SecurityContextHolder.getContext().getAuthentication();
         return SecurityContextHolder.getContext().getAuthentication();
     }
     }
 
 
@@ -88,8 +71,7 @@ public class SecurityUtils
      * @param password 密码
      * @param password 密码
      * @return 加密字符串
      * @return 加密字符串
      */
      */
-    public static String encryptPassword(String password)
-    {
+    public static String encryptPassword(String password) {
         BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
         BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
         return passwordEncoder.encode(password);
         return passwordEncoder.encode(password);
     }
     }
@@ -97,12 +79,11 @@ public class SecurityUtils
     /**
     /**
      * 判断密码是否相同
      * 判断密码是否相同
      *
      *
-     * @param rawPassword 真实密码
+     * @param rawPassword     真实密码
      * @param encodedPassword 加密后字符
      * @param encodedPassword 加密后字符
      * @return 结果
      * @return 结果
      */
      */
-    public static boolean matchesPassword(String rawPassword, String encodedPassword)
-    {
+    public static boolean matchesPassword(String rawPassword, String encodedPassword) {
         BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
         BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
         return passwordEncoder.matches(rawPassword, encodedPassword);
         return passwordEncoder.matches(rawPassword, encodedPassword);
     }
     }
@@ -113,8 +94,7 @@ public class SecurityUtils
      * @param userId 用户ID
      * @param userId 用户ID
      * @return 结果
      * @return 结果
      */
      */
-    public static boolean isAdmin(Long userId)
-    {
+    public static boolean isAdmin(Long userId) {
         return userId != null && 1L == userId;
         return userId != null && 1L == userId;
     }
     }
 }
 }

+ 98 - 97
ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java

@@ -20,33 +20,34 @@ import java.nio.charset.StandardCharsets;
  * @author ruoyi
  * @author ruoyi
  */
  */
 public class ServletUtils extends ServletUtil {
 public class ServletUtils extends ServletUtil {
-	/**
-	 * 获取String参数
-	 */
-	public static String getParameter(String name) {
-		return getRequest().getParameter(name);
-	}
-
-	/**
-	 * 获取String参数
-	 */
-	public static String getParameter(String name, String defaultValue) {
-		return Convert.toStr(getRequest().getParameter(name), defaultValue);
-	}
-
-	/**
-	 * 获取Integer参数
-	 */
-	public static Integer getParameterToInt(String name) {
-		return Convert.toInt(getRequest().getParameter(name));
-	}
-
-	/**
-	 * 获取Integer参数
-	 */
-	public static Integer getParameterToInt(String name, Integer defaultValue) {
-		return Convert.toInt(getRequest().getParameter(name), defaultValue);
-	}
+
+    /**
+     * 获取String参数
+     */
+    public static String getParameter(String name) {
+        return getRequest().getParameter(name);
+    }
+
+    /**
+     * 获取String参数
+     */
+    public static String getParameter(String name, String defaultValue) {
+        return Convert.toStr(getRequest().getParameter(name), defaultValue);
+    }
+
+    /**
+     * 获取Integer参数
+     */
+    public static Integer getParameterToInt(String name) {
+        return Convert.toInt(getRequest().getParameter(name));
+    }
+
+    /**
+     * 获取Integer参数
+     */
+    public static Integer getParameterToInt(String name, Integer defaultValue) {
+        return Convert.toInt(getRequest().getParameter(name), defaultValue);
+    }
 
 
     /**
     /**
      * 获取Boolean参数
      * 获取Boolean参数
@@ -69,75 +70,75 @@ public class ServletUtils extends ServletUtil {
         return getRequestAttributes().getRequest();
         return getRequestAttributes().getRequest();
     }
     }
 
 
-	/**
-	 * 获取response
-	 */
-	public static HttpServletResponse getResponse() {
-		return getRequestAttributes().getResponse();
-	}
-
-	/**
-	 * 获取session
-	 */
-	public static HttpSession getSession() {
-		return getRequest().getSession();
-	}
-
-	public static ServletRequestAttributes getRequestAttributes() {
-		RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
-		return (ServletRequestAttributes) attributes;
-	}
-
-	/**
-	 * 将字符串渲染到客户端
-	 *
-	 * @param response 渲染对象
-	 * @param string   待渲染的字符串
-	 * @return null
-	 */
-	public static String renderString(HttpServletResponse response, String string) {
-		try {
-			response.setStatus(HttpStatus.HTTP_OK);
-			response.setContentType(MediaType.APPLICATION_JSON_VALUE);
-			response.setCharacterEncoding(StandardCharsets.UTF_8.toString());
-			response.getWriter().print(string);
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-
-	/**
-	 * 是否是Ajax异步请求
-	 *
-	 * @param request
-	 */
-	public static boolean isAjaxRequest(HttpServletRequest request) {
-
-		String accept = request.getHeader("accept");
-		if (accept != null && accept.indexOf("application/json") != -1) {
-			return true;
-		}
-
-		String xRequestedWith = request.getHeader("X-Requested-With");
-		if (xRequestedWith != null && xRequestedWith.indexOf("XMLHttpRequest") != -1) {
-			return true;
-		}
-
-		String uri = request.getRequestURI();
-		if (StringUtils.equalsAnyIgnoreCase(uri, ".json", ".xml")) {
-			return true;
-		}
-
-		String ajax = request.getParameter("__ajax");
-		if (StringUtils.equalsAnyIgnoreCase(ajax, "json", "xml")) {
-			return true;
-		}
-		return false;
-	}
-
-	public static String getClientIP() {
-		return getClientIP(getRequest());
-	}
+    /**
+     * 获取response
+     */
+    public static HttpServletResponse getResponse() {
+        return getRequestAttributes().getResponse();
+    }
+
+    /**
+     * 获取session
+     */
+    public static HttpSession getSession() {
+        return getRequest().getSession();
+    }
+
+    public static ServletRequestAttributes getRequestAttributes() {
+        RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
+        return (ServletRequestAttributes) attributes;
+    }
+
+    /**
+     * 将字符串渲染到客户端
+     *
+     * @param response 渲染对象
+     * @param string   待渲染的字符串
+     * @return null
+     */
+    public static String renderString(HttpServletResponse response, String string) {
+        try {
+            response.setStatus(HttpStatus.HTTP_OK);
+            response.setContentType(MediaType.APPLICATION_JSON_VALUE);
+            response.setCharacterEncoding(StandardCharsets.UTF_8.toString());
+            response.getWriter().print(string);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    /**
+     * 是否是Ajax异步请求
+     *
+     * @param request
+     */
+    public static boolean isAjaxRequest(HttpServletRequest request) {
+
+        String accept = request.getHeader("accept");
+        if (accept != null && accept.indexOf("application/json") != -1) {
+            return true;
+        }
+
+        String xRequestedWith = request.getHeader("X-Requested-With");
+        if (xRequestedWith != null && xRequestedWith.indexOf("XMLHttpRequest") != -1) {
+            return true;
+        }
+
+        String uri = request.getRequestURI();
+        if (StringUtils.equalsAnyIgnoreCase(uri, ".json", ".xml")) {
+            return true;
+        }
+
+        String ajax = request.getParameter("__ajax");
+        if (StringUtils.equalsAnyIgnoreCase(ajax, "json", "xml")) {
+            return true;
+        }
+        return false;
+    }
+
+    public static String getClientIP() {
+        return getClientIP(getRequest());
+    }
 
 
 }
 }

+ 1 - 1
ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java

@@ -13,7 +13,7 @@ import java.util.*;
 /**
 /**
  * 字符串工具类
  * 字符串工具类
  *
  *
- * @author ruoyi
+ * @author Lion Li
  */
  */
 public class StringUtils extends org.apache.commons.lang3.StringUtils {
 public class StringUtils extends org.apache.commons.lang3.StringUtils {
 
 

+ 21 - 47
ruoyi-common/src/main/java/com/ruoyi/common/utils/Threads.java

@@ -1,33 +1,25 @@
 package com.ruoyi.common.utils;
 package com.ruoyi.common.utils;
 
 
-import java.util.concurrent.CancellationException;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 
 
+import java.util.concurrent.*;
+
 /**
 /**
  * 线程相关工具类.
  * 线程相关工具类.
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class Threads
-{
+public class Threads {
     private static final Logger logger = LoggerFactory.getLogger(Threads.class);
     private static final Logger logger = LoggerFactory.getLogger(Threads.class);
 
 
     /**
     /**
      * sleep等待,单位为毫秒
      * sleep等待,单位为毫秒
      */
      */
-    public static void sleep(long milliseconds)
-    {
-        try
-        {
+    public static void sleep(long milliseconds) {
+        try {
             Thread.sleep(milliseconds);
             Thread.sleep(milliseconds);
-        }
-        catch (InterruptedException e)
-        {
+        } catch (InterruptedException e) {
             return;
             return;
         }
         }
     }
     }
@@ -39,24 +31,17 @@ public class Threads
      * 如果仍人超時,則強制退出.
      * 如果仍人超時,則強制退出.
      * 另对在shutdown时线程本身被调用中断做了处理.
      * 另对在shutdown时线程本身被调用中断做了处理.
      */
      */
-    public static void shutdownAndAwaitTermination(ExecutorService pool)
-    {
-        if (pool != null && !pool.isShutdown())
-        {
+    public static void shutdownAndAwaitTermination(ExecutorService pool) {
+        if (pool != null && !pool.isShutdown()) {
             pool.shutdown();
             pool.shutdown();
-            try
-            {
-                if (!pool.awaitTermination(120, TimeUnit.SECONDS))
-                {
+            try {
+                if (!pool.awaitTermination(120, TimeUnit.SECONDS)) {
                     pool.shutdownNow();
                     pool.shutdownNow();
-                    if (!pool.awaitTermination(120, TimeUnit.SECONDS))
-                    {
+                    if (!pool.awaitTermination(120, TimeUnit.SECONDS)) {
                         logger.info("Pool did not terminate");
                         logger.info("Pool did not terminate");
                     }
                     }
                 }
                 }
-            }
-            catch (InterruptedException ie)
-            {
+            } catch (InterruptedException ie) {
                 pool.shutdownNow();
                 pool.shutdownNow();
                 Thread.currentThread().interrupt();
                 Thread.currentThread().interrupt();
             }
             }
@@ -66,33 +51,22 @@ public class Threads
     /**
     /**
      * 打印线程异常信息
      * 打印线程异常信息
      */
      */
-    public static void printException(Runnable r, Throwable t)
-    {
-        if (t == null && r instanceof Future<?>)
-        {
-            try
-            {
+    public static void printException(Runnable r, Throwable t) {
+        if (t == null && r instanceof Future<?>) {
+            try {
                 Future<?> future = (Future<?>) r;
                 Future<?> future = (Future<?>) r;
-                if (future.isDone())
-                {
+                if (future.isDone()) {
                     future.get();
                     future.get();
                 }
                 }
-            }
-            catch (CancellationException ce)
-            {
+            } catch (CancellationException ce) {
                 t = ce;
                 t = ce;
-            }
-            catch (ExecutionException ee)
-            {
+            } catch (ExecutionException ee) {
                 t = ee.getCause();
                 t = ee.getCause();
-            }
-            catch (InterruptedException ie)
-            {
+            } catch (InterruptedException ie) {
                 Thread.currentThread().interrupt();
                 Thread.currentThread().interrupt();
             }
             }
         }
         }
-        if (t != null)
-        {
+        if (t != null) {
             logger.error(t.getMessage(), t);
             logger.error(t.getMessage(), t);
         }
         }
     }
     }

+ 5 - 8
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java

@@ -10,20 +10,18 @@ import java.nio.charset.StandardCharsets;
 /**
 /**
  * 文件处理工具类
  * 文件处理工具类
  *
  *
- * @author ruoyi
+ * @author Lion Li
  */
  */
-public class FileUtils extends FileUtil
-{
+public class FileUtils extends FileUtil {
 
 
     /**
     /**
      * 下载文件名重新编码
      * 下载文件名重新编码
      *
      *
-     * @param response 响应对象
+     * @param response     响应对象
      * @param realFileName 真实文件名
      * @param realFileName 真实文件名
      * @return
      * @return
      */
      */
-    public static void setAttachmentResponseHeader(HttpServletResponse response, String realFileName) throws UnsupportedEncodingException
-    {
+    public static void setAttachmentResponseHeader(HttpServletResponse response, String realFileName) throws UnsupportedEncodingException {
         String percentEncodedFileName = percentEncode(realFileName);
         String percentEncodedFileName = percentEncode(realFileName);
 
 
         StringBuilder contentDispositionValue = new StringBuilder();
         StringBuilder contentDispositionValue = new StringBuilder();
@@ -44,8 +42,7 @@ public class FileUtils extends FileUtil
      * @param s 需要百分号编码的字符串
      * @param s 需要百分号编码的字符串
      * @return 百分号编码后的字符串
      * @return 百分号编码后的字符串
      */
      */
-    public static String percentEncode(String s) throws UnsupportedEncodingException
-    {
+    public static String percentEncode(String s) throws UnsupportedEncodingException {
         String encode = URLEncoder.encode(s, StandardCharsets.UTF_8.toString());
         String encode = URLEncoder.encode(s, StandardCharsets.UTF_8.toString());
         return encode.replaceAll("\\+", "%20");
         return encode.replaceAll("\\+", "%20");
     }
     }

+ 35 - 35
ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java

@@ -14,45 +14,45 @@ import java.util.Map;
 /**
 /**
  * 获取地址类
  * 获取地址类
  *
  *
- * @author ruoyi
+ * @author Lion Li
  */
  */
 @Slf4j
 @Slf4j
 public class AddressUtils {
 public class AddressUtils {
 
 
-	// IP地址查询
-	public static final String IP_URL = "http://whois.pconline.com.cn/ipJson.jsp";
+    // IP地址查询
+    public static final String IP_URL = "http://whois.pconline.com.cn/ipJson.jsp";
 
 
-	// 未知地址
-	public static final String UNKNOWN = "XX XX";
+    // 未知地址
+    public static final String UNKNOWN = "XX XX";
 
 
-	public static String getRealAddressByIP(String ip) {
-		String address = UNKNOWN;
-		if (StringUtils.isBlank(ip)){
-			return address;
-		}
-		// 内网不查询
-		ip = "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : HtmlUtil.cleanHtmlTag(ip);
-		if (NetUtil.isInnerIP(ip)) {
-			return "内网IP";
-		}
-		if (RuoYiConfig.isAddressEnabled()) {
-			try {
-				String rspStr = HttpUtil.createGet(IP_URL)
-					.body("ip=" + ip + "&json=true", Constants.GBK)
-					.execute()
-					.body();
-				if (StringUtils.isEmpty(rspStr)) {
-					log.error("获取地理位置异常 {}", ip);
-					return UNKNOWN;
-				}
-				Map<String, String> obj = JsonUtils.parseMap(rspStr);
-				String region = obj.get("pro");
-				String city = obj.get("city");
-				return String.format("%s %s", region, city);
-			} catch (Exception e) {
-				log.error("获取地理位置异常 {}", ip);
-			}
-		}
-		return address;
-	}
+    public static String getRealAddressByIP(String ip) {
+        String address = UNKNOWN;
+        if (StringUtils.isBlank(ip)) {
+            return address;
+        }
+        // 内网不查询
+        ip = "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : HtmlUtil.cleanHtmlTag(ip);
+        if (NetUtil.isInnerIP(ip)) {
+            return "内网IP";
+        }
+        if (RuoYiConfig.isAddressEnabled()) {
+            try {
+                String rspStr = HttpUtil.createGet(IP_URL)
+                        .body("ip=" + ip + "&json=true", Constants.GBK)
+                        .execute()
+                        .body();
+                if (StringUtils.isEmpty(rspStr)) {
+                    log.error("获取地理位置异常 {}", ip);
+                    return UNKNOWN;
+                }
+                Map<String, String> obj = JsonUtils.parseMap(rspStr);
+                String region = obj.get("pro");
+                String city = obj.get("city");
+                return String.format("%s %s", region, city);
+            } catch (Exception e) {
+                log.error("获取地理位置异常 {}", ip);
+            }
+        }
+        return address;
+    }
 }
 }

+ 1 - 3
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java

@@ -12,14 +12,12 @@ import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStream;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
  * Excel相关处理
  * Excel相关处理
  *
  *
- * @author ruoyi
+ * @author Lion Li
  */
  */
 public class ExcelUtil {
 public class ExcelUtil {
 
 

+ 36 - 36
ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java

@@ -13,41 +13,41 @@ import java.lang.reflect.Method;
 @SuppressWarnings("rawtypes")
 @SuppressWarnings("rawtypes")
 public class ReflectUtils extends ReflectUtil {
 public class ReflectUtils extends ReflectUtil {
 
 
-	private static final String SETTER_PREFIX = "set";
-
-	private static final String GETTER_PREFIX = "get";
-
-	/**
-	 * 调用Getter方法.
-	 * 支持多级,如:对象名.对象名.方法
-	 */
-	@SuppressWarnings("unchecked")
-	public static <E> E invokeGetter(Object obj, String propertyName) {
-		Object object = obj;
-		for (String name : StringUtils.split(propertyName, ".")) {
-			String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(name);
-			object = invoke(object, getterMethodName);
-		}
-		return (E) object;
-	}
-
-	/**
-	 * 调用Setter方法, 仅匹配方法名。
-	 * 支持多级,如:对象名.对象名.方法
-	 */
-	public static <E> void invokeSetter(Object obj, String propertyName, E value) {
-		Object object = obj;
-		String[] names = StringUtils.split(propertyName, ".");
-		for (int i = 0; i < names.length; i++) {
-			if (i < names.length - 1) {
-				String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(names[i]);
-				object = invoke(object, getterMethodName);
-			} else {
-				String setterMethodName = SETTER_PREFIX + StringUtils.capitalize(names[i]);
-				Method method = getMethodByName(object.getClass(), setterMethodName);
-				invoke(object, method, value);
-			}
-		}
-	}
+    private static final String SETTER_PREFIX = "set";
+
+    private static final String GETTER_PREFIX = "get";
+
+    /**
+     * 调用Getter方法.
+     * 支持多级,如:对象名.对象名.方法
+     */
+    @SuppressWarnings("unchecked")
+    public static <E> E invokeGetter(Object obj, String propertyName) {
+        Object object = obj;
+        for (String name : StringUtils.split(propertyName, ".")) {
+            String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(name);
+            object = invoke(object, getterMethodName);
+        }
+        return (E) object;
+    }
+
+    /**
+     * 调用Setter方法, 仅匹配方法名。
+     * 支持多级,如:对象名.对象名.方法
+     */
+    public static <E> void invokeSetter(Object obj, String propertyName, E value) {
+        Object object = obj;
+        String[] names = StringUtils.split(propertyName, ".");
+        for (int i = 0; i < names.length; i++) {
+            if (i < names.length - 1) {
+                String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(names[i]);
+                object = invoke(object, getterMethodName);
+            } else {
+                String setterMethodName = SETTER_PREFIX + StringUtils.capitalize(names[i]);
+                Method method = getMethodByName(object.getClass(), setterMethodName);
+                invoke(object, method, value);
+            }
+        }
+    }
 
 
 }
 }

+ 44 - 44
ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java

@@ -13,53 +13,53 @@ import org.springframework.stereotype.Component;
 @Component
 @Component
 public final class SpringUtils extends SpringUtil {
 public final class SpringUtils extends SpringUtil {
 
 
-	/**
-	 * 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true
-	 *
-	 * @param name
-	 * @return boolean
-	 */
-	public static boolean containsBean(String name) {
-		return getBeanFactory().containsBean(name);
-	}
+    /**
+     * 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true
+     *
+     * @param name
+     * @return boolean
+     */
+    public static boolean containsBean(String name) {
+        return getBeanFactory().containsBean(name);
+    }
 
 
-	/**
-	 * 判断以给定名字注册的bean定义是一个singleton还是一个prototype。
-	 * 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException)
-	 *
-	 * @param name
-	 * @return boolean
-	 */
-	public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
-		return getBeanFactory().isSingleton(name);
-	}
+    /**
+     * 判断以给定名字注册的bean定义是一个singleton还是一个prototype。
+     * 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException)
+     *
+     * @param name
+     * @return boolean
+     */
+    public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
+        return getBeanFactory().isSingleton(name);
+    }
 
 
-	/**
-	 * @param name
-	 * @return Class 注册对象的类型
-	 */
-	public static Class<?> getType(String name) throws NoSuchBeanDefinitionException {
-		return getBeanFactory().getType(name);
-	}
+    /**
+     * @param name
+     * @return Class 注册对象的类型
+     */
+    public static Class<?> getType(String name) throws NoSuchBeanDefinitionException {
+        return getBeanFactory().getType(name);
+    }
 
 
-	/**
-	 * 如果给定的bean名字在bean定义中有别名,则返回这些别名
-	 *
-	 * @param name
-	 */
-	public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {
-		return getBeanFactory().getAliases(name);
-	}
+    /**
+     * 如果给定的bean名字在bean定义中有别名,则返回这些别名
+     *
+     * @param name
+     */
+    public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {
+        return getBeanFactory().getAliases(name);
+    }
 
 
-	/**
-	 * 获取aop代理对象
-	 *
-	 * @param invoker
-	 * @return
-	 */
-	@SuppressWarnings("unchecked")
-	public static <T> T getAopProxy(T invoker) {
-		return (T) AopContext.currentProxy();
-	}
+    /**
+     * 获取aop代理对象
+     *
+     * @param invoker
+     * @return
+     */
+    @SuppressWarnings("unchecked")
+    public static <T> T getAopProxy(T invoker) {
+        return (T) AopContext.currentProxy();
+    }
 
 
 }
 }

+ 4 - 8
ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java

@@ -8,8 +8,7 @@ import com.ruoyi.common.utils.StringUtils;
  *
  *
  * @author ruoyi
  * @author ruoyi
  */
  */
-public class SqlUtil
-{
+public class SqlUtil {
     /**
     /**
      * 仅支持字母、数字、下划线、空格、逗号、小数点(支持多个字段排序)
      * 仅支持字母、数字、下划线、空格、逗号、小数点(支持多个字段排序)
      */
      */
@@ -18,10 +17,8 @@ public class SqlUtil
     /**
     /**
      * 检查字符,防止注入绕过
      * 检查字符,防止注入绕过
      */
      */
-    public static String escapeOrderBySql(String value)
-    {
-        if (StringUtils.isNotEmpty(value) && !isValidOrderBySql(value))
-        {
+    public static String escapeOrderBySql(String value) {
+        if (StringUtils.isNotEmpty(value) && !isValidOrderBySql(value)) {
             throw new UtilException("参数不符合规范,不能进行查询");
             throw new UtilException("参数不符合规范,不能进行查询");
         }
         }
         return value;
         return value;
@@ -30,8 +27,7 @@ public class SqlUtil
     /**
     /**
      * 验证 order by 语法是否符合规范
      * 验证 order by 语法是否符合规范
      */
      */
-    public static boolean isValidOrderBySql(String value)
-    {
+    public static boolean isValidOrderBySql(String value) {
         return value.matches(SQL_PATTERN);
         return value.matches(SQL_PATTERN);
     }
     }
 }
 }

+ 3 - 4
ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java

@@ -23,15 +23,14 @@ import java.io.IOException;
  * @author ruoyi
  * @author ruoyi
  */
  */
 @Component
 @Component
-public class JwtAuthenticationTokenFilter extends OncePerRequestFilter
-{
+public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
+
     @Autowired
     @Autowired
     private TokenService tokenService;
     private TokenService tokenService;
 
 
     @Override
     @Override
     protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
     protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
-            throws ServletException, IOException
-    {
+            throws ServletException, IOException {
         LoginUser loginUser = tokenService.getLoginUser(request);
         LoginUser loginUser = tokenService.getLoginUser(request);
         if (StringUtils.isNotNull(loginUser) && StringUtils.isNull(SecurityUtils.getAuthentication())) {
         if (StringUtils.isNotNull(loginUser) && StringUtils.isNull(SecurityUtils.getAuthentication())) {
             tokenService.verifyToken(loginUser);
             tokenService.verifyToken(loginUser);

+ 3 - 5
ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java

@@ -1,10 +1,10 @@
 package com.ruoyi.framework.security.handle;
 package com.ruoyi.framework.security.handle;
 
 
-import com.ruoyi.common.utils.StringUtils;
 import cn.hutool.http.HttpStatus;
 import cn.hutool.http.HttpStatus;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.JsonUtils;
 import com.ruoyi.common.utils.JsonUtils;
 import com.ruoyi.common.utils.ServletUtils;
 import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.StringUtils;
 import org.springframework.security.core.AuthenticationException;
 import org.springframework.security.core.AuthenticationException;
 import org.springframework.security.web.AuthenticationEntryPoint;
 import org.springframework.security.web.AuthenticationEntryPoint;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
@@ -20,14 +20,12 @@ import java.io.Serializable;
  * @author ruoyi
  * @author ruoyi
  */
  */
 @Component
 @Component
-public class AuthenticationEntryPointImpl implements AuthenticationEntryPoint, Serializable
-{
+public class AuthenticationEntryPointImpl implements AuthenticationEntryPoint, Serializable {
     private static final long serialVersionUID = -8970718410437077606L;
     private static final long serialVersionUID = -8970718410437077606L;
 
 
     @Override
     @Override
     public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException e)
     public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException e)
-            throws IOException
-    {
+            throws IOException {
         int code = HttpStatus.HTTP_UNAUTHORIZED;
         int code = HttpStatus.HTTP_UNAUTHORIZED;
         String msg = StringUtils.format("请求访问:{},认证失败,无法访问系统资源", request.getRequestURI());
         String msg = StringUtils.format("请求访问:{},认证失败,无法访问系统资源", request.getRequestURI());
         ServletUtils.renderString(response, JsonUtils.toJsonString(AjaxResult.error(code, msg)));
         ServletUtils.renderString(response, JsonUtils.toJsonString(AjaxResult.error(code, msg)));

+ 14 - 24
ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java

@@ -5,8 +5,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.exception.DemoModeException;
 import com.ruoyi.common.exception.DemoModeException;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.security.access.AccessDeniedException;
 import org.springframework.security.access.AccessDeniedException;
 import org.springframework.validation.BindException;
 import org.springframework.validation.BindException;
 import org.springframework.web.HttpRequestMethodNotSupportedException;
 import org.springframework.web.HttpRequestMethodNotSupportedException;
@@ -20,19 +19,17 @@ import javax.validation.ConstraintViolationException;
 /**
 /**
  * 全局异常处理器
  * 全局异常处理器
  *
  *
- * @author ruoyi
+ * @author Lion Li
  */
  */
+@Slf4j
 @RestControllerAdvice
 @RestControllerAdvice
-public class GlobalExceptionHandler
-{
-    private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
+public class GlobalExceptionHandler {
 
 
     /**
     /**
      * 权限校验异常
      * 权限校验异常
      */
      */
     @ExceptionHandler(AccessDeniedException.class)
     @ExceptionHandler(AccessDeniedException.class)
-    public AjaxResult handleAccessDeniedException(AccessDeniedException e, HttpServletRequest request)
-    {
+    public AjaxResult<Void> handleAccessDeniedException(AccessDeniedException e, HttpServletRequest request) {
         String requestURI = request.getRequestURI();
         String requestURI = request.getRequestURI();
         log.error("请求地址'{}',权限校验失败'{}'", requestURI, e.getMessage());
         log.error("请求地址'{}',权限校验失败'{}'", requestURI, e.getMessage());
         return AjaxResult.error(HttpStatus.HTTP_FORBIDDEN, "没有权限,请联系管理员授权");
         return AjaxResult.error(HttpStatus.HTTP_FORBIDDEN, "没有权限,请联系管理员授权");
@@ -42,9 +39,8 @@ public class GlobalExceptionHandler
      * 请求方式不支持
      * 请求方式不支持
      */
      */
     @ExceptionHandler(HttpRequestMethodNotSupportedException.class)
     @ExceptionHandler(HttpRequestMethodNotSupportedException.class)
-    public AjaxResult handleHttpRequestMethodNotSupported(HttpRequestMethodNotSupportedException e,
-            HttpServletRequest request)
-    {
+    public AjaxResult<Void> handleHttpRequestMethodNotSupported(HttpRequestMethodNotSupportedException e,
+                                                          HttpServletRequest request) {
         String requestURI = request.getRequestURI();
         String requestURI = request.getRequestURI();
         log.error("请求地址'{}',不支持'{}'请求", requestURI, e.getMethod());
         log.error("请求地址'{}',不支持'{}'请求", requestURI, e.getMethod());
         return AjaxResult.error(e.getMessage());
         return AjaxResult.error(e.getMessage());
@@ -54,8 +50,7 @@ public class GlobalExceptionHandler
      * 业务异常
      * 业务异常
      */
      */
     @ExceptionHandler(ServiceException.class)
     @ExceptionHandler(ServiceException.class)
-    public AjaxResult handleServiceException(ServiceException e, HttpServletRequest request)
-    {
+    public AjaxResult<Void> handleServiceException(ServiceException e, HttpServletRequest request) {
         log.error(e.getMessage(), e);
         log.error(e.getMessage(), e);
         Integer code = e.getCode();
         Integer code = e.getCode();
         return StringUtils.isNotNull(code) ? AjaxResult.error(code, e.getMessage()) : AjaxResult.error(e.getMessage());
         return StringUtils.isNotNull(code) ? AjaxResult.error(code, e.getMessage()) : AjaxResult.error(e.getMessage());
@@ -65,8 +60,7 @@ public class GlobalExceptionHandler
      * 拦截未知的运行时异常
      * 拦截未知的运行时异常
      */
      */
     @ExceptionHandler(RuntimeException.class)
     @ExceptionHandler(RuntimeException.class)
-    public AjaxResult handleRuntimeException(RuntimeException e, HttpServletRequest request)
-    {
+    public AjaxResult<Void> handleRuntimeException(RuntimeException e, HttpServletRequest request) {
         String requestURI = request.getRequestURI();
         String requestURI = request.getRequestURI();
         log.error("请求地址'{}',发生未知异常.", requestURI, e);
         log.error("请求地址'{}',发生未知异常.", requestURI, e);
         return AjaxResult.error(e.getMessage());
         return AjaxResult.error(e.getMessage());
@@ -76,8 +70,7 @@ public class GlobalExceptionHandler
      * 系统异常
      * 系统异常
      */
      */
     @ExceptionHandler(Exception.class)
     @ExceptionHandler(Exception.class)
-    public AjaxResult handleException(Exception e, HttpServletRequest request)
-    {
+    public AjaxResult<Void> handleException(Exception e, HttpServletRequest request) {
         String requestURI = request.getRequestURI();
         String requestURI = request.getRequestURI();
         log.error("请求地址'{}',发生系统异常.", requestURI, e);
         log.error("请求地址'{}',发生系统异常.", requestURI, e);
         return AjaxResult.error(e.getMessage());
         return AjaxResult.error(e.getMessage());
@@ -87,8 +80,7 @@ public class GlobalExceptionHandler
      * 自定义验证异常
      * 自定义验证异常
      */
      */
     @ExceptionHandler(BindException.class)
     @ExceptionHandler(BindException.class)
-    public AjaxResult handleBindException(BindException e)
-    {
+    public AjaxResult<Void> handleBindException(BindException e) {
         log.error(e.getMessage(), e);
         log.error(e.getMessage(), e);
         String message = e.getAllErrors().get(0).getDefaultMessage();
         String message = e.getAllErrors().get(0).getDefaultMessage();
         return AjaxResult.error(message);
         return AjaxResult.error(message);
@@ -98,7 +90,7 @@ public class GlobalExceptionHandler
      * 自定义验证异常
      * 自定义验证异常
      */
      */
     @ExceptionHandler(ConstraintViolationException.class)
     @ExceptionHandler(ConstraintViolationException.class)
-    public AjaxResult constraintViolationException(ConstraintViolationException e) {
+    public AjaxResult<Void> constraintViolationException(ConstraintViolationException e) {
         log.error(e.getMessage(), e);
         log.error(e.getMessage(), e);
         String message = e.getConstraintViolations().iterator().next().getMessage();
         String message = e.getConstraintViolations().iterator().next().getMessage();
         return AjaxResult.error(message);
         return AjaxResult.error(message);
@@ -108,8 +100,7 @@ public class GlobalExceptionHandler
      * 自定义验证异常
      * 自定义验证异常
      */
      */
     @ExceptionHandler(MethodArgumentNotValidException.class)
     @ExceptionHandler(MethodArgumentNotValidException.class)
-    public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException e)
-    {
+    public AjaxResult<Void> handleMethodArgumentNotValidException(MethodArgumentNotValidException e) {
         log.error(e.getMessage(), e);
         log.error(e.getMessage(), e);
         String message = e.getBindingResult().getFieldError().getDefaultMessage();
         String message = e.getBindingResult().getFieldError().getDefaultMessage();
         return AjaxResult.error(message);
         return AjaxResult.error(message);
@@ -119,8 +110,7 @@ public class GlobalExceptionHandler
      * 演示模式异常
      * 演示模式异常
      */
      */
     @ExceptionHandler(DemoModeException.class)
     @ExceptionHandler(DemoModeException.class)
-    public AjaxResult handleDemoModeException(DemoModeException e)
-    {
+    public AjaxResult<Void> handleDemoModeException(DemoModeException e) {
         return AjaxResult.error("演示模式,不允许操作");
         return AjaxResult.error("演示模式,不允许操作");
     }
     }
 }
 }