From f8ab5663ef7220f8adc0fd8fcbd7d0cf84c6d77d Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期一, 02 八月 2021 12:15:14 +0800
Subject: [PATCH] update 日常字符串校验 统一重构到 StringUtils 便于维护扩展
---
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/AsyncService.java | 3
ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java | 368 +++---
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java | 6
ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java | 100
ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java | 4
ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm | 4
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java | 14
ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java | 372 +++---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java | 18
ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java | 18
ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java | 5
ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java | 6
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java | 8
ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java | 4
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java | 14
ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java | 10
ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java | 38
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java | 14
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java | 20
ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java | 4
ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java | 16
ruoyi-common/src/main/java/com/ruoyi/common/utils/JsonUtils.java | 11
ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java | 4
ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java | 8
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageServiceImpl.java | 6
ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java | 8
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java | 232 ++--
ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java | 7
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java | 6
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java | 3
ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java | 12
ruoyi-ui/src/utils/ossdownload.js | 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java | 14
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageServiceImpl.java | 4
ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/AbstractQuartzJob.java | 218 ++--
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java | 5
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java | 10
ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java | 4
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java | 6
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java | 16
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java | 14
ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java | 96
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java | 28
ruoyi-common/src/main/java/com/ruoyi/common/exception/BaseException.java | 6
ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java | 24
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java | 55
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java | 8
ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java | 60
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java | 14
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java | 10
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java | 29
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java | 4
ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java | 7
ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java | 8
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java | 6
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java | 14
ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java | 590 +----------
ruoyi-framework/src/main/java/com/ruoyi/framework/captcha/UnsignedMathGenerator.java | 8
/dev/null | 102 -
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 58
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java | 6
ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java | 4
ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java | 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java | 76
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/ImageUtils.java | 204 +-
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java | 6
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java | 8
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageServiceImpl.java | 6
ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/methods/InsertAll.java | 8
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java | 7
70 files changed, 1,267 insertions(+), 1,825 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
index 4654516..fb2fb20 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
@@ -8,7 +8,7 @@
import cn.hutool.captcha.generator.RandomGenerator;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.IdUtil;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.redis.RedisCache;
@@ -107,9 +107,9 @@
private String getCodeResult(String capStr) {
int numberLength = captchaProperties.getNumberLength();
- int a = Convert.toInt(StrUtil.sub(capStr, 0, numberLength).trim());
+ int a = Convert.toInt(StringUtils.sub(capStr, 0, numberLength).trim());
char operator = capStr.charAt(numberLength);
- int b = Convert.toInt(StrUtil.sub(capStr, numberLength + 1, numberLength + 1 + numberLength).trim());
+ int b = Convert.toInt(StringUtils.sub(capStr, numberLength + 1, numberLength + 1 + numberLength).trim());
switch (operator) {
case '*':
return a * b + "";
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
index 04aa77b..a54333e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
@@ -1,6 +1,6 @@
package com.ruoyi.web.controller.common;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.utils.file.FileUtils;
@@ -37,7 +37,7 @@
{
if (!FileUtils.checkAllowDownload(fileName))
{
- throw new Exception(StrUtil.format("鏂囦欢鍚嶇О({})闈炴硶锛屼笉鍏佽涓嬭浇銆� ", fileName));
+ throw new Exception(StringUtils.format("鏂囦欢鍚嶇О({})闈炴硶锛屼笉鍏佽涓嬭浇銆� ", fileName));
}
String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
String filePath = RuoYiConfig.getDownloadPath() + fileName;
@@ -67,14 +67,14 @@
{
if (!FileUtils.checkAllowDownload(resource))
{
- throw new Exception(StrUtil.format("璧勬簮鏂囦欢({})闈炴硶锛屼笉鍏佽涓嬭浇銆� ", resource));
+ throw new Exception(StringUtils.format("璧勬簮鏂囦欢({})闈炴硶锛屼笉鍏佽涓嬭浇銆� ", resource));
}
// 鏈湴璧勬簮璺緞
String localPath = RuoYiConfig.getProfile();
// 鏁版嵁搴撹祫婧愬湴鍧�
- String downloadPath = localPath + StrUtil.subAfter(resource, Constants.RESOURCE_PREFIX,false);
+ String downloadPath = localPath + StringUtils.subAfter(resource, Constants.RESOURCE_PREFIX,false);
// 涓嬭浇鍚嶇О
- String downloadName = StrUtil.subAfter(downloadPath, "/",true);
+ String downloadName = StringUtils.subAfter(downloadPath, "/",true);
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
File file = new File(downloadPath);
FileUtils.setAttachmentResponseHeader(response, downloadName);
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java
index b3efd5a..48e95dd 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java
@@ -1,50 +1,50 @@
-package com.ruoyi.web.controller.monitor;
-
-import cn.hutool.core.util.StrUtil;
-import com.ruoyi.common.core.domain.AjaxResult;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.RedisCallback;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.*;
-
-/**
- * 缂撳瓨鐩戞帶
- *
- * @author ruoyi
- */
-@RestController
-@RequestMapping("/monitor/cache")
-public class CacheController
-{
- @Autowired
- private RedisTemplate<String, String> redisTemplate;
-
- @PreAuthorize("@ss.hasPermi('monitor:cache:list')")
- @GetMapping()
- public AjaxResult getInfo() throws Exception
- {
- Properties info = (Properties) redisTemplate.execute((RedisCallback<Object>) connection -> connection.info());
- Properties commandStats = (Properties) redisTemplate.execute((RedisCallback<Object>) connection -> connection.info("commandstats"));
- Object dbSize = redisTemplate.execute((RedisCallback<Object>) connection -> connection.dbSize());
-
- Map<String, Object> result = new HashMap<>(3);
- result.put("info", info);
- result.put("dbSize", dbSize);
-
- List<Map<String, String>> pieList = new ArrayList<>();
- commandStats.stringPropertyNames().forEach(key -> {
- Map<String, String> data = new HashMap<>(2);
- String property = commandStats.getProperty(key);
- data.put("name", StrUtil.removePrefix(key, "cmdstat_"));
- data.put("value", StrUtil.subBetween(property, "calls=", ",usec"));
- pieList.add(data);
- });
- result.put("commandStats", pieList);
- return AjaxResult.success(result);
- }
-}
+package com.ruoyi.web.controller.monitor;
+
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.domain.AjaxResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisCallback;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.*;
+
+/**
+ * 缂撳瓨鐩戞帶
+ *
+ * @author ruoyi
+ */
+@RestController
+@RequestMapping("/monitor/cache")
+public class CacheController
+{
+ @Autowired
+ private RedisTemplate<String, String> redisTemplate;
+
+ @PreAuthorize("@ss.hasPermi('monitor:cache:list')")
+ @GetMapping()
+ public AjaxResult getInfo() throws Exception
+ {
+ Properties info = (Properties) redisTemplate.execute((RedisCallback<Object>) connection -> connection.info());
+ Properties commandStats = (Properties) redisTemplate.execute((RedisCallback<Object>) connection -> connection.info("commandstats"));
+ Object dbSize = redisTemplate.execute((RedisCallback<Object>) connection -> connection.dbSize());
+
+ Map<String, Object> result = new HashMap<>(3);
+ result.put("info", info);
+ result.put("dbSize", dbSize);
+
+ List<Map<String, String>> pieList = new ArrayList<>();
+ commandStats.stringPropertyNames().forEach(key -> {
+ Map<String, String> data = new HashMap<>(2);
+ String property = commandStats.getProperty(key);
+ data.put("name", StringUtils.removePrefix(key, "cmdstat_"));
+ data.put("value", StringUtils.subBetween(property, "calls=", ",usec"));
+ pieList.add(data);
+ });
+ result.put("commandStats", pieList);
+ return AjaxResult.success(result);
+ }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
index fe630a9..edcf766 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
@@ -1,7 +1,7 @@
package com.ruoyi.web.controller.monitor;
import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.controller.BaseController;
@@ -24,7 +24,7 @@
/**
* 鍦ㄧ嚎鐢ㄦ埛鐩戞帶
- *
+ *
* @author ruoyi
*/
@RestController
@@ -48,21 +48,21 @@
LoginUser user = redisCache.getCacheObject(key);
if (Validator.isNotEmpty(ipaddr) && Validator.isNotEmpty(userName))
{
- if (StrUtil.equals(ipaddr, user.getIpaddr()) && StrUtil.equals(userName, user.getUsername()))
+ if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername()))
{
userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, user));
}
}
else if (Validator.isNotEmpty(ipaddr))
{
- if (StrUtil.equals(ipaddr, user.getIpaddr()))
+ if (StringUtils.equals(ipaddr, user.getIpaddr()))
{
userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, user));
}
}
else if (Validator.isNotEmpty(userName) && Validator.isNotNull(user.getUser()))
{
- if (StrUtil.equals(userName, user.getUsername()))
+ if (StringUtils.equals(userName, user.getUsername()))
{
userOnlineList.add(userOnlineService.selectOnlineByUserName(userName, user));
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
index ab39319..420ac04 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
@@ -1,6 +1,6 @@
package com.ruoyi.web.controller.system;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
@@ -56,7 +56,7 @@
{
SysDept d = (SysDept) it.next();
if (d.getDeptId().intValue() == deptId
- || ArrayUtils.contains(StrUtil.splitToArray(d.getAncestors(), ","), deptId + ""))
+ || ArrayUtils.contains(StringUtils.splitToArray(d.getAncestors(), ","), deptId + ""))
{
it.remove();
}
@@ -129,7 +129,7 @@
{
return AjaxResult.error("淇敼閮ㄩ棬'" + dept.getDeptName() + "'澶辫触锛屼笂绾ч儴闂ㄤ笉鑳芥槸鑷繁");
}
- else if (StrUtil.equals(UserConstants.DEPT_DISABLE, dept.getStatus())
+ else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus())
&& deptService.selectNormalChildrenDeptById(dept.getDeptId()) > 0)
{
return AjaxResult.error("璇ラ儴闂ㄥ寘鍚湭鍋滅敤鐨勫瓙閮ㄩ棬锛�");
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java
index a29620c..bfb532e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java
@@ -1,6 +1,6 @@
package com.ruoyi.web.controller.system;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.config.RuoYiConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -24,6 +24,6 @@
@RequestMapping("/")
public String index()
{
- return StrUtil.format("娆㈣繋浣跨敤{}鍚庡彴绠$悊妗嗘灦锛屽綋鍓嶇増鏈細v{}锛岃閫氳繃鍓嶇鍦板潃璁块棶銆�", ruoyiConfig.getName(), ruoyiConfig.getVersion());
+ return StringUtils.format("娆㈣繋浣跨敤{}鍚庡彴绠$悊妗嗘灦锛屽綋鍓嶇増鏈細v{}锛岃閫氳繃鍓嶇鍦板潃璁块棶銆�", ruoyiConfig.getName(), ruoyiConfig.getVersion());
}
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
index 246abf4..f418541 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
@@ -1,6 +1,5 @@
package com.ruoyi.web.controller.system;
-import cn.hutool.core.lang.Validator;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
@@ -10,6 +9,7 @@
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.service.ISysMenuService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -97,7 +97,7 @@
{
return AjaxResult.error("鏂板鑿滃崟'" + menu.getMenuName() + "'澶辫触锛岃彍鍗曞悕绉板凡瀛樺湪");
}
- else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !Validator.isUrl(menu.getPath()))
+ else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath()))
{
return AjaxResult.error("鏂板鑿滃崟'" + menu.getMenuName() + "'澶辫触锛屽湴鍧�蹇呴』浠ttp(s)://寮�澶�");
}
@@ -117,7 +117,7 @@
{
return AjaxResult.error("淇敼鑿滃崟'" + menu.getMenuName() + "'澶辫触锛岃彍鍗曞悕绉板凡瀛樺湪");
}
- else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !Validator.isUrl(menu.getPath()))
+ else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath()))
{
return AjaxResult.error("淇敼鑿滃崟'" + menu.getMenuName() + "'澶辫触锛屽湴鍧�蹇呴』浠ttp(s)://寮�澶�");
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
index 39f5bc6..9e1e715 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
@@ -1,6 +1,6 @@
package com.ruoyi.web.controller.system;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.constant.UserConstants;
@@ -59,12 +59,12 @@
@PutMapping
public AjaxResult updateProfile(@RequestBody SysUser user)
{
- if (StrUtil.isNotEmpty(user.getPhonenumber())
+ if (StringUtils.isNotEmpty(user.getPhonenumber())
&& UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
{
return AjaxResult.error("淇敼鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛屾墜鏈哄彿鐮佸凡瀛樺湪");
}
- if (StrUtil.isNotEmpty(user.getEmail())
+ if (StringUtils.isNotEmpty(user.getEmail())
&& UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
{
return AjaxResult.error("淇敼鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛岄偖绠辫处鍙峰凡瀛樺湪");
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java
index e88a2ad..4c2cc7c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java
@@ -1,38 +1,38 @@
-package com.ruoyi.web.controller.system;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.core.domain.model.RegisterBody;
-import com.ruoyi.framework.web.service.SysRegisterService;
-import com.ruoyi.system.service.ISysConfigService;
-
-/**
- * 娉ㄥ唽楠岃瘉
- *
- * @author ruoyi
- */
-@RestController
-public class SysRegisterController extends BaseController
-{
- @Autowired
- private SysRegisterService registerService;
-
- @Autowired
- private ISysConfigService configService;
-
- @PostMapping("/register")
- public AjaxResult register(@RequestBody RegisterBody user)
- {
- if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser"))))
- {
- return error("褰撳墠绯荤粺娌℃湁寮�鍚敞鍐屽姛鑳斤紒");
- }
- String msg = registerService.register(user);
- return StringUtils.isEmpty(msg) ? success() : error(msg);
- }
-}
+package com.ruoyi.web.controller.system;
+
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.model.RegisterBody;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.web.service.SysRegisterService;
+import com.ruoyi.system.service.ISysConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 娉ㄥ唽楠岃瘉
+ *
+ * @author ruoyi
+ */
+@RestController
+public class SysRegisterController extends BaseController
+{
+ @Autowired
+ private SysRegisterService registerService;
+
+ @Autowired
+ private ISysConfigService configService;
+
+ @PostMapping("/register")
+ public AjaxResult register(@RequestBody RegisterBody user)
+ {
+ if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser"))))
+ {
+ return error("褰撳墠绯荤粺娌℃湁寮�鍚敞鍐屽姛鑳斤紒");
+ }
+ String msg = registerService.register(user);
+ return StringUtils.isEmpty(msg) ? success() : error(msg);
+ }
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
index 632c0fb..fcccbc3 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
@@ -1,7 +1,7 @@
package com.ruoyi.common.core.controller;
-import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -73,6 +73,6 @@
*/
public String redirect(String url)
{
- return StrUtil.format("redirect:{}", url);
+ return StringUtils.format("redirect:{}", url);
}
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/methods/InsertAll.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/methods/InsertAll.java
index bc17faa..2aba06e 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/methods/InsertAll.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/methods/InsertAll.java
@@ -1,10 +1,10 @@
package com.ruoyi.common.core.mybatisplus.methods;
-import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
+import com.ruoyi.common.utils.StringUtils;
import org.apache.ibatis.executor.keygen.Jdbc3KeyGenerator;
import org.apache.ibatis.executor.keygen.KeyGenerator;
import org.apache.ibatis.executor.keygen.NoKeyGenerator;
@@ -28,7 +28,7 @@
String keyProperty = null;
String keyColumn = null;
// 琛ㄥ寘鍚富閿鐞嗛�昏緫,濡傛灉涓嶅寘鍚富閿綋鏅�氬瓧娈靛鐞�
- if (StrUtil.isNotBlank(tableInfo.getKeyProperty())) {
+ if (StringUtils.isNotBlank(tableInfo.getKeyProperty())) {
if (tableInfo.getIdType() == IdType.AUTO) {
/** 鑷涓婚敭 */
keyGenerator = new Jdbc3KeyGenerator();
@@ -49,7 +49,7 @@
private String prepareFieldSql(TableInfo tableInfo) {
StringBuilder fieldSql = new StringBuilder();
- if (StrUtil.isNotBlank(tableInfo.getKeyColumn())) {
+ if (StringUtils.isNotBlank(tableInfo.getKeyColumn())) {
fieldSql.append(tableInfo.getKeyColumn()).append(",");
}
tableInfo.getFieldList().forEach(x -> fieldSql.append(x.getColumn()).append(","));
@@ -62,7 +62,7 @@
private String prepareValuesSqlForMysqlBatch(TableInfo tableInfo) {
final StringBuilder valueSql = new StringBuilder();
valueSql.append("<foreach collection=\"list\" item=\"item\" index=\"index\" open=\"(\" separator=\"),(\" close=\")\">");
- if (StrUtil.isNotBlank(tableInfo.getKeyColumn())) {
+ if (StringUtils.isNotBlank(tableInfo.getKeyColumn())) {
valueSql.append("#{item.").append(tableInfo.getKeyProperty()).append("},");
}
tableInfo.getFieldList().forEach(x -> valueSql.append("#{item.").append(x.getProperty()).append("},"));
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/BaseException.java b/ruoyi-common/src/main/java/com/ruoyi/common/exception/BaseException.java
index 026cc0a..261530c 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/BaseException.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/exception/BaseException.java
@@ -1,11 +1,11 @@
package com.ruoyi.common.exception;
-import cn.hutool.core.lang.Validator;
import com.ruoyi.common.utils.MessageUtils;
+import com.ruoyi.common.utils.StringUtils;
/**
* 鍩虹寮傚父
- *
+ *
* @author ruoyi
*/
public class BaseException extends RuntimeException
@@ -64,7 +64,7 @@
public String getMessage()
{
String message = null;
- if (!Validator.isEmpty(code))
+ if (!StringUtils.isEmpty(code))
{
message = MessageUtils.message(code, args);
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java b/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java
index c7193e2..a0db86b 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java
@@ -1,48 +1,48 @@
-package com.ruoyi.common.filter;
-
-import cn.hutool.core.util.StrUtil;
-import org.springframework.http.MediaType;
-
-import javax.servlet.*;
-import javax.servlet.http.HttpServletRequest;
-import java.io.IOException;
-
-/**
- * Repeatable 杩囨护鍣�
- *
- * @author ruoyi
- */
-public class RepeatableFilter implements Filter
-{
- @Override
- public void init(FilterConfig filterConfig) throws ServletException
- {
-
- }
-
- @Override
- public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
- throws IOException, ServletException
- {
- ServletRequest requestWrapper = null;
- if (request instanceof HttpServletRequest
- && StrUtil.startWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE))
- {
- requestWrapper = new RepeatedlyRequestWrapper((HttpServletRequest) request, response);
- }
- if (null == requestWrapper)
- {
- chain.doFilter(request, response);
- }
- else
- {
- chain.doFilter(requestWrapper, response);
- }
- }
-
- @Override
- public void destroy()
- {
-
- }
-}
+package com.ruoyi.common.filter;
+
+import com.ruoyi.common.utils.StringUtils;
+import org.springframework.http.MediaType;
+
+import javax.servlet.*;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+
+/**
+ * Repeatable 杩囨护鍣�
+ *
+ * @author ruoyi
+ */
+public class RepeatableFilter implements Filter
+{
+ @Override
+ public void init(FilterConfig filterConfig) throws ServletException
+ {
+
+ }
+
+ @Override
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
+ throws IOException, ServletException
+ {
+ ServletRequest requestWrapper = null;
+ if (request instanceof HttpServletRequest
+ && StringUtils.startWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE))
+ {
+ requestWrapper = new RepeatedlyRequestWrapper((HttpServletRequest) request, response);
+ }
+ if (null == requestWrapper)
+ {
+ chain.doFilter(request, response);
+ }
+ else
+ {
+ chain.doFilter(requestWrapper, response);
+ }
+ }
+
+ @Override
+ public void destroy()
+ {
+
+ }
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java b/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java
index 869aef5..7c14167 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java
@@ -1,6 +1,6 @@
package com.ruoyi.common.filter;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
@@ -8,8 +8,6 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
/**
* 闃叉XSS鏀诲嚮鐨勮繃婊ゅ櫒
@@ -27,7 +25,7 @@
public void init(FilterConfig filterConfig) throws ServletException
{
String tempExcludes = filterConfig.getInitParameter("excludes");
- if (StrUtil.isNotEmpty(tempExcludes))
+ if (StringUtils.isNotEmpty(tempExcludes))
{
String[] url = tempExcludes.split(",");
for (int i = 0; url != null && i < url.length; i++)
@@ -61,7 +59,7 @@
{
return true;
}
- return StrUtil.matches(url, excludes);
+ return StringUtils.matches(url, excludes);
}
@Override
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java b/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java
index 4d36a92..973697b 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java
@@ -1,9 +1,8 @@
package com.ruoyi.common.filter;
import cn.hutool.core.io.IoUtil;
-import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HtmlUtil;
+import com.ruoyi.common.utils.StringUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
@@ -59,7 +58,7 @@
// 涓虹┖锛岀洿鎺ヨ繑鍥�
String json = IoUtil.read(super.getInputStream(), StandardCharsets.UTF_8);
- if (Validator.isEmpty(json))
+ if (StringUtils.isEmpty(json))
{
return super.getInputStream();
}
@@ -103,6 +102,6 @@
public boolean isJsonRequest()
{
String header = super.getHeader(HttpHeaders.CONTENT_TYPE);
- return StrUtil.startWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE);
+ return StringUtils.startWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE);
}
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java
index 5d1fef1..69bab49 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java
@@ -1,187 +1,185 @@
-package com.ruoyi.common.utils;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
-import com.ruoyi.common.constant.Constants;
-import com.ruoyi.common.core.domain.entity.SysDictData;
-import com.ruoyi.common.core.redis.RedisCache;
-import com.ruoyi.common.utils.spring.SpringUtils;
-
-import java.util.Collection;
-import java.util.List;
-
-/**
- * 瀛楀吀宸ュ叿绫�
- *
- * @author ruoyi
- */
-public class DictUtils
-{
- /**
- * 鍒嗛殧绗�
- */
- public static final String SEPARATOR = ",";
-
- /**
- * 璁剧疆瀛楀吀缂撳瓨
- *
- * @param key 鍙傛暟閿�
- * @param dictDatas 瀛楀吀鏁版嵁鍒楄〃
- */
- public static void setDictCache(String key, List<SysDictData> dictDatas)
- {
- SpringUtils.getBean(RedisCache.class).setCacheObject(getCacheKey(key), dictDatas);
- }
-
- /**
- * 鑾峰彇瀛楀吀缂撳瓨
- *
- * @param key 鍙傛暟閿�
- * @return dictDatas 瀛楀吀鏁版嵁鍒楄〃
- */
- public static List<SysDictData> getDictCache(String key)
- {
- Object cacheObj = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key));
- if (Validator.isNotNull(cacheObj))
- {
- List<SysDictData> dictDatas = (List<SysDictData>)cacheObj;
- return dictDatas;
- }
- return null;
- }
-
- /**
- * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏稿�艰幏鍙栧瓧鍏告爣绛�
- *
- * @param dictType 瀛楀吀绫诲瀷
- * @param dictValue 瀛楀吀鍊�
- * @return 瀛楀吀鏍囩
- */
- public static String getDictLabel(String dictType, String dictValue)
- {
- return getDictLabel(dictType, dictValue, SEPARATOR);
- }
-
- /**
- * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏告爣绛捐幏鍙栧瓧鍏稿��
- *
- * @param dictType 瀛楀吀绫诲瀷
- * @param dictLabel 瀛楀吀鏍囩
- * @return 瀛楀吀鍊�
- */
- public static String getDictValue(String dictType, String dictLabel)
- {
- return getDictValue(dictType, dictLabel, SEPARATOR);
- }
-
- /**
- * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏稿�艰幏鍙栧瓧鍏告爣绛�
- *
- * @param dictType 瀛楀吀绫诲瀷
- * @param dictValue 瀛楀吀鍊�
- * @param separator 鍒嗛殧绗�
- * @return 瀛楀吀鏍囩
- */
- public static String getDictLabel(String dictType, String dictValue, String separator)
- {
- StringBuilder propertyString = new StringBuilder();
- List<SysDictData> datas = getDictCache(dictType);
-
- if (StrUtil.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);
- break;
- }
- }
- }
- }
- else
- {
- for (SysDictData dict : datas)
- {
- if (dictValue.equals(dict.getDictValue()))
- {
- return dict.getDictLabel();
- }
- }
- }
- return StrUtil.strip(propertyString.toString(), null, separator);
- }
-
- /**
- * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏告爣绛捐幏鍙栧瓧鍏稿��
- *
- * @param dictType 瀛楀吀绫诲瀷
- * @param dictLabel 瀛楀吀鏍囩
- * @param separator 鍒嗛殧绗�
- * @return 瀛楀吀鍊�
- */
- public static String getDictValue(String dictType, String dictLabel, String separator)
- {
- StringBuilder propertyString = new StringBuilder();
- List<SysDictData> datas = getDictCache(dictType);
-
- if (StrUtil.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);
- break;
- }
- }
- }
- }
- else
- {
- for (SysDictData dict : datas)
- {
- if (dictLabel.equals(dict.getDictLabel()))
- {
- return dict.getDictValue();
- }
- }
- }
- return StrUtil.strip(propertyString.toString(), null, separator);
- }
-
- /**
- * 鍒犻櫎鎸囧畾瀛楀吀缂撳瓨
- *
- * @param key 瀛楀吀閿�
- */
- public static void removeDictCache(String key)
- {
- SpringUtils.getBean(RedisCache.class).deleteObject(getCacheKey(key));
- }
-
- /**
- * 娓呯┖瀛楀吀缂撳瓨
- */
- public static void clearDictCache()
- {
- Collection<String> keys = SpringUtils.getBean(RedisCache.class).keys(Constants.SYS_DICT_KEY + "*");
- SpringUtils.getBean(RedisCache.class).deleteObject(keys);
- }
-
- /**
- * 璁剧疆cache key
- *
- * @param configKey 鍙傛暟閿�
- * @return 缂撳瓨閿甼ey
- */
- public static String getCacheKey(String configKey)
- {
- return Constants.SYS_DICT_KEY + configKey;
- }
-}
+package com.ruoyi.common.utils;
+
+import cn.hutool.core.collection.CollUtil;
+import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.core.domain.entity.SysDictData;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.utils.spring.SpringUtils;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 瀛楀吀宸ュ叿绫�
+ *
+ * @author ruoyi
+ */
+public class DictUtils
+{
+ /**
+ * 鍒嗛殧绗�
+ */
+ public static final String SEPARATOR = ",";
+
+ /**
+ * 璁剧疆瀛楀吀缂撳瓨
+ *
+ * @param key 鍙傛暟閿�
+ * @param dictDatas 瀛楀吀鏁版嵁鍒楄〃
+ */
+ public static void setDictCache(String key, List<SysDictData> dictDatas)
+ {
+ SpringUtils.getBean(RedisCache.class).setCacheObject(getCacheKey(key), dictDatas);
+ }
+
+ /**
+ * 鑾峰彇瀛楀吀缂撳瓨
+ *
+ * @param key 鍙傛暟閿�
+ * @return dictDatas 瀛楀吀鏁版嵁鍒楄〃
+ */
+ public static List<SysDictData> getDictCache(String key)
+ {
+ Object cacheObj = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key));
+ if (StringUtils.isNotNull(cacheObj))
+ {
+ List<SysDictData> dictDatas = (List<SysDictData>)cacheObj;
+ return dictDatas;
+ }
+ return null;
+ }
+
+ /**
+ * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏稿�艰幏鍙栧瓧鍏告爣绛�
+ *
+ * @param dictType 瀛楀吀绫诲瀷
+ * @param dictValue 瀛楀吀鍊�
+ * @return 瀛楀吀鏍囩
+ */
+ public static String getDictLabel(String dictType, String dictValue)
+ {
+ return getDictLabel(dictType, dictValue, SEPARATOR);
+ }
+
+ /**
+ * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏告爣绛捐幏鍙栧瓧鍏稿��
+ *
+ * @param dictType 瀛楀吀绫诲瀷
+ * @param dictLabel 瀛楀吀鏍囩
+ * @return 瀛楀吀鍊�
+ */
+ public static String getDictValue(String dictType, String dictLabel)
+ {
+ return getDictValue(dictType, dictLabel, SEPARATOR);
+ }
+
+ /**
+ * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏稿�艰幏鍙栧瓧鍏告爣绛�
+ *
+ * @param dictType 瀛楀吀绫诲瀷
+ * @param dictValue 瀛楀吀鍊�
+ * @param separator 鍒嗛殧绗�
+ * @return 瀛楀吀鏍囩
+ */
+ public static String getDictLabel(String dictType, String dictValue, String separator)
+ {
+ StringBuilder propertyString = new StringBuilder();
+ 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()))
+ {
+ propertyString.append(dict.getDictLabel() + separator);
+ break;
+ }
+ }
+ }
+ }
+ else
+ {
+ for (SysDictData dict : datas)
+ {
+ if (dictValue.equals(dict.getDictValue()))
+ {
+ return dict.getDictLabel();
+ }
+ }
+ }
+ return StringUtils.strip(propertyString.toString(), null, separator);
+ }
+
+ /**
+ * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏告爣绛捐幏鍙栧瓧鍏稿��
+ *
+ * @param dictType 瀛楀吀绫诲瀷
+ * @param dictLabel 瀛楀吀鏍囩
+ * @param separator 鍒嗛殧绗�
+ * @return 瀛楀吀鍊�
+ */
+ public static String getDictValue(String dictType, String dictLabel, String separator)
+ {
+ StringBuilder propertyString = new StringBuilder();
+ 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()))
+ {
+ propertyString.append(dict.getDictValue() + separator);
+ break;
+ }
+ }
+ }
+ }
+ else
+ {
+ for (SysDictData dict : datas)
+ {
+ if (dictLabel.equals(dict.getDictLabel()))
+ {
+ return dict.getDictValue();
+ }
+ }
+ }
+ return StringUtils.strip(propertyString.toString(), null, separator);
+ }
+
+ /**
+ * 鍒犻櫎鎸囧畾瀛楀吀缂撳瓨
+ *
+ * @param key 瀛楀吀閿�
+ */
+ public static void removeDictCache(String key)
+ {
+ SpringUtils.getBean(RedisCache.class).deleteObject(getCacheKey(key));
+ }
+
+ /**
+ * 娓呯┖瀛楀吀缂撳瓨
+ */
+ public static void clearDictCache()
+ {
+ Collection<String> keys = SpringUtils.getBean(RedisCache.class).keys(Constants.SYS_DICT_KEY + "*");
+ SpringUtils.getBean(RedisCache.class).deleteObject(keys);
+ }
+
+ /**
+ * 璁剧疆cache key
+ *
+ * @param configKey 鍙傛暟閿�
+ * @return 缂撳瓨閿甼ey
+ */
+ public static String getCacheKey(String configKey)
+ {
+ return Constants.SYS_DICT_KEY + configKey;
+ }
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/JsonUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/JsonUtils.java
index ae6cc11..246df9b 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/JsonUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/JsonUtils.java
@@ -2,7 +2,6 @@
import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.ArrayUtil;
-import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -33,7 +32,7 @@
}
public static String toJsonString(Object object) {
- if (Validator.isEmpty(object)) {
+ if (StringUtils.isNull(object)) {
return null;
}
try {
@@ -44,7 +43,7 @@
}
public static <T> T parseObject(String text, Class<T> clazz) {
- if (StrUtil.isEmpty(text)) {
+ if (StringUtils.isEmpty(text)) {
return null;
}
try {
@@ -66,7 +65,7 @@
}
public static <T> T parseObject(String text, TypeReference<T> typeReference) {
- if (StrUtil.isBlank(text)) {
+ if (StringUtils.isBlank(text)) {
return null;
}
try {
@@ -77,7 +76,7 @@
}
public static <T> Map<String, T> parseMap(String text) {
- if (StrUtil.isBlank(text)) {
+ if (StringUtils.isBlank(text)) {
return null;
}
try {
@@ -88,7 +87,7 @@
}
public static <T> List<T> parseArray(String text, Class<T> clazz) {
- if (StrUtil.isEmpty(text)) {
+ if (StringUtils.isEmpty(text)) {
return new ArrayList<>();
}
try {
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java
index bb3d3e2..e6dc3d5 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java
@@ -1,6 +1,5 @@
package com.ruoyi.common.utils;
-import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpStatus;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -59,7 +58,7 @@
String orderByColumn = ServletUtils.getParameter(ORDER_BY_COLUMN);
String isAsc = ServletUtils.getParameter(IS_ASC);
PagePlus<T, K> page = new PagePlus<>(pageNum, pageSize);
- if (StrUtil.isNotBlank(orderByColumn)) {
+ if (StringUtils.isNotBlank(orderByColumn)) {
String orderBy = SqlUtil.escapeOrderBySql(orderByColumn);
if ("asc".equals(isAsc)) {
page.addOrder(OrderItem.asc(orderBy));
@@ -91,9 +90,9 @@
isAsc = "desc";
}
Page<T> page = new Page<>(pageNum, pageSize);
- if (StrUtil.isNotBlank(orderByColumn)) {
+ if (StringUtils.isNotBlank(orderByColumn)) {
String orderBy = SqlUtil.escapeOrderBySql(orderByColumn);
- orderBy = StrUtil.toUnderlineCase(orderBy);
+ orderBy = StringUtils.toUnderlineCase(orderBy);
if ("asc".equals(isAsc)) {
page.addOrder(OrderItem.asc(orderBy));
} else if ("desc".equals(isAsc)) {
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java
index 1594291..beaa26c 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java
@@ -1,7 +1,6 @@
package com.ruoyi.common.utils;
import cn.hutool.core.convert.Convert;
-import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.servlet.ServletUtil;
import cn.hutool.http.HttpStatus;
import org.springframework.http.MediaType;
@@ -112,12 +111,12 @@
}
String uri = request.getRequestURI();
- if (StrUtil.equalsAnyIgnoreCase(uri, ".json", ".xml")) {
+ if (StringUtils.equalsAnyIgnoreCase(uri, ".json", ".xml")) {
return true;
}
String ajax = request.getParameter("__ajax");
- if (StrUtil.equalsAnyIgnoreCase(ajax, "json", "xml")) {
+ if (StringUtils.equalsAnyIgnoreCase(ajax, "json", "xml")) {
return true;
}
return false;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java
index 4ca2bfc..ed53d86 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java
@@ -1,534 +1,82 @@
package com.ruoyi.common.utils;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.lang.Validator;
+import cn.hutool.core.util.ReUtil;
+import cn.hutool.core.util.StrUtil;
+
import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import org.springframework.util.AntPathMatcher;
-import com.ruoyi.common.constant.Constants;
-import com.ruoyi.common.core.text.StrFormatter;
/**
* 瀛楃涓插伐鍏风被
- *
- * @author ruoyi
+ *
+ * @author Lion Li
*/
-public class StringUtils extends org.apache.commons.lang3.StringUtils
-{
- /** 绌哄瓧绗︿覆 */
- private static final String NULLSTR = "";
+public class StringUtils extends StrUtil {
- /** 涓嬪垝绾� */
- private static final char SEPARATOR = '_';
+ /**
+ * * 鍒ゆ柇涓�涓璞℃槸鍚︿负绌�
+ *
+ * @param object Object
+ * @return true锛氫负绌� false锛氶潪绌�
+ */
+ public static boolean isNull(Object object) {
+ return Validator.isNull(object);
+ }
- /**
- * 鑾峰彇鍙傛暟涓嶄负绌哄��
- *
- * @param value defaultValue 瑕佸垽鏂殑value
- * @return value 杩斿洖鍊�
- */
- public static <T> T nvl(T value, T defaultValue)
- {
- return value != null ? value : defaultValue;
- }
+ /**
+ * * 鍒ゆ柇涓�涓璞℃槸鍚﹂潪绌�
+ *
+ * @param object Object
+ * @return true锛氶潪绌� false锛氱┖
+ */
+ public static boolean isNotNull(Object object) {
+ return Validator.isNotNull(object);
+ }
- /**
- * * 鍒ゆ柇涓�涓狢ollection鏄惁涓虹┖锛� 鍖呭惈List锛孲et锛孮ueue
- *
- * @param coll 瑕佸垽鏂殑Collection
- * @return true锛氫负绌� false锛氶潪绌�
- */
- public static boolean isEmpty(Collection<?> coll)
- {
- return isNull(coll) || coll.isEmpty();
- }
+ /**
+ * 鏇挎崲鎵�鏈�
+ */
+ public static String replaceEach(String text, String[] searchList, String[] replacementList) {
+ return org.apache.commons.lang3.StringUtils.replaceEach(text, searchList, replacementList);
+ }
- /**
- * * 鍒ゆ柇涓�涓狢ollection鏄惁闈炵┖锛屽寘鍚獿ist锛孲et锛孮ueue
- *
- * @param coll 瑕佸垽鏂殑Collection
- * @return true锛氶潪绌� false锛氱┖
- */
- public static boolean isNotEmpty(Collection<?> coll)
- {
- return !isEmpty(coll);
- }
+ /**
+ * 楠岃瘉璇ュ瓧绗︿覆鏄惁鏄暟瀛�
+ *
+ * @param value 瀛楃涓插唴瀹�
+ * @return 鏄惁鏄暟瀛�
+ */
+ public static boolean isNumeric(CharSequence value) {
+ return Validator.isNumber(value);
+ }
- /**
- * * 鍒ゆ柇涓�涓璞℃暟缁勬槸鍚︿负绌�
- *
- * @param objects 瑕佸垽鏂殑瀵硅薄鏁扮粍
- ** @return true锛氫负绌� false锛氶潪绌�
- */
- public static boolean isEmpty(Object[] objects)
- {
- return isNull(objects) || (objects.length == 0);
- }
+ /**
+ * 鏄惁涓篽ttp(s)://寮�澶�
+ *
+ * @param link 閾炬帴
+ * @return 缁撴灉
+ */
+ public static boolean ishttp(String link) {
+ return Validator.isUrl(link);
+ }
- /**
- * * 鍒ゆ柇涓�涓璞℃暟缁勬槸鍚﹂潪绌�
- *
- * @param objects 瑕佸垽鏂殑瀵硅薄鏁扮粍
- * @return true锛氶潪绌� false锛氱┖
- */
- public static boolean isNotEmpty(Object[] objects)
- {
- return !isEmpty(objects);
- }
-
- /**
- * * 鍒ゆ柇涓�涓狹ap鏄惁涓虹┖
- *
- * @param map 瑕佸垽鏂殑Map
- * @return true锛氫负绌� false锛氶潪绌�
- */
- public static boolean isEmpty(Map<?, ?> map)
- {
- return isNull(map) || map.isEmpty();
- }
-
- /**
- * * 鍒ゆ柇涓�涓狹ap鏄惁涓虹┖
- *
- * @param map 瑕佸垽鏂殑Map
- * @return true锛氶潪绌� false锛氱┖
- */
- public static boolean isNotEmpty(Map<?, ?> map)
- {
- return !isEmpty(map);
- }
-
- /**
- * * 鍒ゆ柇涓�涓瓧绗︿覆鏄惁涓虹┖涓�
- *
- * @param str String
- * @return true锛氫负绌� false锛氶潪绌�
- */
- public static boolean isEmpty(String str)
- {
- return isNull(str) || NULLSTR.equals(str.trim());
- }
-
- /**
- * * 鍒ゆ柇涓�涓瓧绗︿覆鏄惁涓洪潪绌轰覆
- *
- * @param str String
- * @return true锛氶潪绌轰覆 false锛氱┖涓�
- */
- public static boolean isNotEmpty(String str)
- {
- return !isEmpty(str);
- }
-
- /**
- * * 鍒ゆ柇涓�涓璞℃槸鍚︿负绌�
- *
- * @param object Object
- * @return true锛氫负绌� false锛氶潪绌�
- */
- public static boolean isNull(Object object)
- {
- return object == null;
- }
-
- /**
- * * 鍒ゆ柇涓�涓璞℃槸鍚﹂潪绌�
- *
- * @param object Object
- * @return true锛氶潪绌� false锛氱┖
- */
- public static boolean isNotNull(Object object)
- {
- return !isNull(object);
- }
-
- /**
- * * 鍒ゆ柇涓�涓璞℃槸鍚︽槸鏁扮粍绫诲瀷锛圝ava鍩烘湰鍨嬪埆鐨勬暟缁勶級
- *
- * @param object 瀵硅薄
- * @return true锛氭槸鏁扮粍 false锛氫笉鏄暟缁�
- */
- public static boolean isArray(Object object)
- {
- return isNotNull(object) && object.getClass().isArray();
- }
-
- /**
- * 鍘荤┖鏍�
- */
- public static String trim(String str)
- {
- return (str == null ? "" : str.trim());
- }
-
- /**
- * 鎴彇瀛楃涓�
- *
- * @param str 瀛楃涓�
- * @param start 寮�濮�
- * @return 缁撴灉
- */
- public static String substring(final String str, int start)
- {
- if (str == null)
- {
- return NULLSTR;
- }
-
- if (start < 0)
- {
- start = str.length() + start;
- }
-
- if (start < 0)
- {
- start = 0;
- }
- if (start > str.length())
- {
- return NULLSTR;
- }
-
- return str.substring(start);
- }
-
- /**
- * 鎴彇瀛楃涓�
- *
- * @param str 瀛楃涓�
- * @param start 寮�濮�
- * @param end 缁撴潫
- * @return 缁撴灉
- */
- public static String substring(final String str, int start, int end)
- {
- if (str == null)
- {
- return NULLSTR;
- }
-
- if (end < 0)
- {
- end = str.length() + end;
- }
- if (start < 0)
- {
- start = str.length() + start;
- }
-
- if (end > str.length())
- {
- end = str.length();
- }
-
- if (start > end)
- {
- return NULLSTR;
- }
-
- if (start < 0)
- {
- start = 0;
- }
- if (end < 0)
- {
- end = 0;
- }
-
- return str.substring(start, end);
- }
-
- /**
- * 鏍煎紡鍖栨枃鏈�, {} 琛ㄧず鍗犱綅绗�<br>
- * 姝ゆ柟娉曞彧鏄畝鍗曞皢鍗犱綅绗� {} 鎸夌収椤哄簭鏇挎崲涓哄弬鏁�<br>
- * 濡傛灉鎯宠緭鍑� {} 浣跨敤 \\杞箟 { 鍗冲彲锛屽鏋滄兂杈撳嚭 {} 涔嬪墠鐨� \ 浣跨敤鍙岃浆涔夌 \\\\ 鍗冲彲<br>
- * 渚嬶細<br>
- * 閫氬父浣跨敤锛歠ormat("this is {} for {}", "a", "b") -> this is a for b<br>
- * 杞箟{}锛� format("this is \\{} for {}", "a", "b") -> this is \{} for a<br>
- * 杞箟\锛� format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br>
- *
- * @param template 鏂囨湰妯℃澘锛岃鏇挎崲鐨勯儴鍒嗙敤 {} 琛ㄧず
- * @param params 鍙傛暟鍊�
- * @return 鏍煎紡鍖栧悗鐨勬枃鏈�
- */
- public static String format(String template, Object... params)
- {
- if (isEmpty(params) || isEmpty(template))
- {
- return template;
- }
- return StrFormatter.format(template, params);
- }
-
- /**
- * 鏄惁涓篽ttp(s)://寮�澶�
- *
- * @param link 閾炬帴
- * @return 缁撴灉
- */
- public static boolean ishttp(String link)
- {
- return StringUtils.startsWithAny(link, Constants.HTTP, Constants.HTTPS);
- }
-
- /**
- * 瀛楃涓茶浆set
- *
- * @param str 瀛楃涓�
- * @param sep 鍒嗛殧绗�
- * @return set闆嗗悎
- */
- public static final Set<String> str2Set(String str, String sep)
- {
- return new HashSet<String>(str2List(str, sep, true, false));
- }
-
- /**
- * 瀛楃涓茶浆list
- *
- * @param str 瀛楃涓�
- * @param sep 鍒嗛殧绗�
- * @param filterBlank 杩囨护绾┖鐧�
- * @param trim 鍘绘帀棣栧熬绌虹櫧
- * @return list闆嗗悎
- */
- public static final List<String> str2List(String str, String sep, boolean filterBlank, boolean trim)
- {
- List<String> list = new ArrayList<String>();
- if (StringUtils.isEmpty(str))
- {
- return list;
- }
-
- // 杩囨护绌虹櫧瀛楃涓�
- if (filterBlank && StringUtils.isBlank(str))
- {
- return list;
- }
- String[] split = str.split(sep);
- for (String string : split)
- {
- if (filterBlank && StringUtils.isBlank(string))
- {
- continue;
- }
- if (trim)
- {
- string = string.trim();
- }
- list.add(string);
- }
-
- return list;
- }
-
- /**
- * 鏌ユ壘鎸囧畾瀛楃涓叉槸鍚﹀寘鍚寚瀹氬瓧绗︿覆鍒楄〃涓殑浠绘剰涓�涓瓧绗︿覆鍚屾椂涓插拷鐣ュぇ灏忓啓
- *
- * @param cs 鎸囧畾瀛楃涓�
- * @param searchCharSequences 闇�瑕佹鏌ョ殑瀛楃涓叉暟缁�
- * @return 鏄惁鍖呭惈浠绘剰涓�涓瓧绗︿覆
- */
- public static boolean containsAnyIgnoreCase(CharSequence cs, CharSequence... searchCharSequences)
- {
- if (isEmpty(cs) || isEmpty(searchCharSequences))
- {
- return false;
- }
- for (CharSequence testStr : searchCharSequences)
- {
- if (containsIgnoreCase(cs, testStr))
- {
- return true;
- }
- }
- return false;
- }
-
- /**
- * 椹煎嘲杞笅鍒掔嚎鍛藉悕
- */
- public static String toUnderScoreCase(String str)
- {
- if (str == null)
- {
- return null;
- }
- StringBuilder sb = new StringBuilder();
- // 鍓嶇疆瀛楃鏄惁澶у啓
- boolean preCharIsUpperCase = true;
- // 褰撳墠瀛楃鏄惁澶у啓
- boolean curreCharIsUpperCase = true;
- // 涓嬩竴瀛楃鏄惁澶у啓
- boolean nexteCharIsUpperCase = true;
- for (int i = 0; i < str.length(); i++)
- {
- char c = str.charAt(i);
- if (i > 0)
- {
- preCharIsUpperCase = Character.isUpperCase(str.charAt(i - 1));
- }
- else
- {
- preCharIsUpperCase = false;
- }
-
- curreCharIsUpperCase = Character.isUpperCase(c);
-
- if (i < (str.length() - 1))
- {
- nexteCharIsUpperCase = Character.isUpperCase(str.charAt(i + 1));
- }
-
- if (preCharIsUpperCase && curreCharIsUpperCase && !nexteCharIsUpperCase)
- {
- sb.append(SEPARATOR);
- }
- else if ((i != 0 && !preCharIsUpperCase) && curreCharIsUpperCase)
- {
- sb.append(SEPARATOR);
- }
- sb.append(Character.toLowerCase(c));
- }
-
- return sb.toString();
- }
-
- /**
- * 鏄惁鍖呭惈瀛楃涓�
- *
- * @param str 楠岃瘉瀛楃涓�
- * @param strs 瀛楃涓茬粍
- * @return 鍖呭惈杩斿洖true
- */
- public static boolean inStringIgnoreCase(String str, String... strs)
- {
- if (str != null && strs != null)
- {
- for (String s : strs)
- {
- if (str.equalsIgnoreCase(trim(s)))
- {
- return true;
- }
- }
- }
- return false;
- }
-
- /**
- * 灏嗕笅鍒掔嚎澶у啓鏂瑰紡鍛藉悕鐨勫瓧绗︿覆杞崲涓洪┘宄板紡銆傚鏋滆浆鎹㈠墠鐨勪笅鍒掔嚎澶у啓鏂瑰紡鍛藉悕鐨勫瓧绗︿覆涓虹┖锛屽垯杩斿洖绌哄瓧绗︿覆銆� 渚嬪锛欻ELLO_WORLD->HelloWorld
- *
- * @param name 杞崲鍓嶇殑涓嬪垝绾垮ぇ鍐欐柟寮忓懡鍚嶇殑瀛楃涓�
- * @return 杞崲鍚庣殑椹煎嘲寮忓懡鍚嶇殑瀛楃涓�
- */
- public static String convertToCamelCase(String name)
- {
- StringBuilder result = new StringBuilder();
- // 蹇�熸鏌�
- if (name == null || name.isEmpty())
- {
- // 娌″繀瑕佽浆鎹�
- return "";
- }
- else if (!name.contains("_"))
- {
- // 涓嶅惈涓嬪垝绾匡紝浠呭皢棣栧瓧姣嶅ぇ鍐�
- return name.substring(0, 1).toUpperCase() + name.substring(1);
- }
- // 鐢ㄤ笅鍒掔嚎灏嗗師濮嬪瓧绗︿覆鍒嗗壊
- String[] camels = name.split("_");
- for (String camel : camels)
- {
- // 璺宠繃鍘熷瀛楃涓蹭腑寮�澶淬�佺粨灏剧殑涓嬫崲绾挎垨鍙岄噸涓嬪垝绾�
- if (camel.isEmpty())
- {
- continue;
- }
- // 棣栧瓧姣嶅ぇ鍐�
- result.append(camel.substring(0, 1).toUpperCase());
- result.append(camel.substring(1).toLowerCase());
- }
- return result.toString();
- }
-
- /**
- * 椹煎嘲寮忓懡鍚嶆硶 渚嬪锛歶ser_name->userName
- */
- public static String toCamelCase(String s)
- {
- if (s == null)
- {
- return null;
- }
- s = s.toLowerCase();
- StringBuilder sb = new StringBuilder(s.length());
- boolean upperCase = false;
- for (int i = 0; i < s.length(); i++)
- {
- char c = s.charAt(i);
-
- if (c == SEPARATOR)
- {
- upperCase = true;
- }
- else if (upperCase)
- {
- sb.append(Character.toUpperCase(c));
- upperCase = false;
- }
- else
- {
- sb.append(c);
- }
- }
- return sb.toString();
- }
-
- /**
- * 鏌ユ壘鎸囧畾瀛楃涓叉槸鍚﹀尮閰嶆寚瀹氬瓧绗︿覆鍒楄〃涓殑浠绘剰涓�涓瓧绗︿覆
- *
- * @param str 鎸囧畾瀛楃涓�
- * @param strs 闇�瑕佹鏌ョ殑瀛楃涓叉暟缁�
- * @return 鏄惁鍖归厤
- */
- public static boolean matches(String str, List<String> strs)
- {
- if (isEmpty(str) || isEmpty(strs))
- {
- return false;
- }
- for (String pattern : strs)
- {
- if (isMatch(pattern, str))
- {
- return true;
- }
- }
- return false;
- }
-
- /**
- * 鍒ゆ柇url鏄惁涓庤鍒欓厤缃�:
- * ? 琛ㄧず鍗曚釜瀛楃;
- * * 琛ㄧず涓�灞傝矾寰勫唴鐨勪换鎰忓瓧绗︿覆锛屼笉鍙法灞傜骇;
- * ** 琛ㄧず浠绘剰灞傝矾寰�;
- *
- * @param pattern 鍖归厤瑙勫垯
- * @param url 闇�瑕佸尮閰嶇殑url
- * @return
- */
- public static boolean isMatch(String pattern, String url)
- {
- AntPathMatcher matcher = new AntPathMatcher();
- return matcher.match(pattern, url);
- }
-
- @SuppressWarnings("unchecked")
- public static <T> T cast(Object obj)
- {
- return (T) obj;
- }
-}
\ No newline at end of file
+ /**
+ * 鏌ユ壘鎸囧畾瀛楃涓叉槸鍚﹀尮閰嶆寚瀹氬瓧绗︿覆鍒楄〃涓殑浠绘剰涓�涓瓧绗︿覆
+ *
+ * @param str 鎸囧畾瀛楃涓�
+ * @param strs 闇�瑕佹鏌ョ殑瀛楃涓叉暟缁�
+ * @return 鏄惁鍖归厤
+ */
+ public static boolean matches(String str, List<String> strs) {
+ if (isEmpty(str) || CollUtil.isEmpty(strs)) {
+ return false;
+ }
+ for (String pattern : strs) {
+ if (ReUtil.isMatch(pattern, str)) {
+ return true;
+ }
+ }
+ return false;
+ }
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
index 22d53c7..32457dc 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
@@ -1,15 +1,14 @@
package com.ruoyi.common.utils.file;
import cn.hutool.core.io.FileUtil;
-import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.IdUtil;
-import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.exception.file.FileNameLengthLimitExceededException;
import com.ruoyi.common.exception.file.FileSizeLimitExceededException;
import com.ruoyi.common.exception.file.InvalidExtensionException;
import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
import org.apache.commons.io.FilenameUtils;
import org.springframework.web.multipart.MultipartFile;
@@ -148,7 +147,7 @@
private static final String getPathFileName(String uploadDir, String fileName) throws IOException
{
int dirLastIndex = RuoYiConfig.getProfile().length() + 1;
- String currentDir = StrUtil.subSuf(uploadDir, dirLastIndex);
+ String currentDir = StringUtils.subSuf(uploadDir, dirLastIndex);
String pathFileName = Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName;
return pathFileName;
}
@@ -230,7 +229,7 @@
public static final String getExtension(MultipartFile file)
{
String extension = FilenameUtils.getExtension(file.getOriginalFilename());
- if (Validator.isEmpty(extension))
+ if (StringUtils.isEmpty(extension))
{
extension = MimeTypeUtils.getExtension(file.getContentType());
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
index bc953de..d30ac51 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
@@ -2,11 +2,11 @@
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.ArrayUtil;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import java.io.*;
+import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
@@ -39,7 +39,7 @@
public static boolean checkAllowDownload(String resource)
{
// 绂佹鐩綍涓婅烦绾у埆
- if (StrUtil.contains(resource, ".."))
+ if (StringUtils.contains(resource, ".."))
{
return false;
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/ImageUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/ImageUtils.java
index 94dcf45..632a21e 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/ImageUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/ImageUtils.java
@@ -1,102 +1,102 @@
-package com.ruoyi.common.utils.file;
-
-import cn.hutool.core.util.StrUtil;
-import com.ruoyi.common.config.RuoYiConfig;
-import com.ruoyi.common.constant.Constants;
-import org.apache.poi.util.IOUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.Arrays;
-
-/**
- * 鍥剧墖澶勭悊宸ュ叿绫�
- *
- * @author ruoyi
- */
-public class ImageUtils
-{
- private static final Logger log = LoggerFactory.getLogger(ImageUtils.class);
-
- public static byte[] getImage(String imagePath)
- {
- InputStream is = getFile(imagePath);
- try
- {
- return IOUtils.toByteArray(is);
- }
- catch (Exception e)
- {
- log.error("鍥剧墖鍔犺浇寮傚父 {}", e);
- return null;
- }
- finally
- {
- IOUtils.closeQuietly(is);
- }
- }
-
- public static InputStream getFile(String imagePath)
- {
- try
- {
- byte[] result = readFile(imagePath);
- result = Arrays.copyOf(result, result.length);
- return new ByteArrayInputStream(result);
- }
- catch (Exception e)
- {
- log.error("鑾峰彇鍥剧墖寮傚父 {}", e);
- }
- return null;
- }
-
- /**
- * 璇诲彇鏂囦欢涓哄瓧鑺傛暟鎹�
- *
- * @param key 鍦板潃
- * @return 瀛楄妭鏁版嵁
- */
- public static byte[] readFile(String url)
- {
- InputStream in = null;
- ByteArrayOutputStream baos = null;
- try
- {
- if (url.startsWith("http"))
- {
- // 缃戠粶鍦板潃
- URL urlObj = new URL(url);
- URLConnection urlConnection = urlObj.openConnection();
- urlConnection.setConnectTimeout(30 * 1000);
- urlConnection.setReadTimeout(60 * 1000);
- urlConnection.setDoInput(true);
- in = urlConnection.getInputStream();
- }
- else
- {
- // 鏈満鍦板潃
- String localPath = RuoYiConfig.getProfile();
- String downloadPath = localPath + StrUtil.subAfter(url, Constants.RESOURCE_PREFIX,false);
- in = new FileInputStream(downloadPath);
- }
- return IOUtils.toByteArray(in);
- }
- catch (Exception e)
- {
- log.error("鑾峰彇鏂囦欢璺緞寮傚父 {}", e);
- return null;
- }
- finally
- {
- IOUtils.closeQuietly(in);
- IOUtils.closeQuietly(baos);
- }
- }
-}
+package com.ruoyi.common.utils.file;
+
+import com.ruoyi.common.config.RuoYiConfig;
+import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.utils.StringUtils;
+import org.apache.poi.util.IOUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.Arrays;
+
+/**
+ * 鍥剧墖澶勭悊宸ュ叿绫�
+ *
+ * @author ruoyi
+ */
+public class ImageUtils
+{
+ private static final Logger log = LoggerFactory.getLogger(ImageUtils.class);
+
+ public static byte[] getImage(String imagePath)
+ {
+ InputStream is = getFile(imagePath);
+ try
+ {
+ return IOUtils.toByteArray(is);
+ }
+ catch (Exception e)
+ {
+ log.error("鍥剧墖鍔犺浇寮傚父 {}", e);
+ return null;
+ }
+ finally
+ {
+ IOUtils.closeQuietly(is);
+ }
+ }
+
+ public static InputStream getFile(String imagePath)
+ {
+ try
+ {
+ byte[] result = readFile(imagePath);
+ result = Arrays.copyOf(result, result.length);
+ return new ByteArrayInputStream(result);
+ }
+ catch (Exception e)
+ {
+ log.error("鑾峰彇鍥剧墖寮傚父 {}", e);
+ }
+ return null;
+ }
+
+ /**
+ * 璇诲彇鏂囦欢涓哄瓧鑺傛暟鎹�
+ *
+ * @param key 鍦板潃
+ * @return 瀛楄妭鏁版嵁
+ */
+ public static byte[] readFile(String url)
+ {
+ InputStream in = null;
+ ByteArrayOutputStream baos = null;
+ try
+ {
+ if (url.startsWith("http"))
+ {
+ // 缃戠粶鍦板潃
+ URL urlObj = new URL(url);
+ URLConnection urlConnection = urlObj.openConnection();
+ urlConnection.setConnectTimeout(30 * 1000);
+ urlConnection.setReadTimeout(60 * 1000);
+ urlConnection.setDoInput(true);
+ in = urlConnection.getInputStream();
+ }
+ else
+ {
+ // 鏈満鍦板潃
+ String localPath = RuoYiConfig.getProfile();
+ String downloadPath = localPath + StringUtils.subAfter(url, Constants.RESOURCE_PREFIX,false);
+ in = new FileInputStream(downloadPath);
+ }
+ return IOUtils.toByteArray(in);
+ }
+ catch (Exception e)
+ {
+ log.error("鑾峰彇鏂囦欢璺緞寮傚父 {}", e);
+ return null;
+ }
+ finally
+ {
+ IOUtils.closeQuietly(in);
+ IOUtils.closeQuietly(baos);
+ }
+ }
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java
index d6c262a..03c608a 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java
@@ -1,12 +1,12 @@
package com.ruoyi.common.utils.ip;
import cn.hutool.core.net.NetUtil;
-import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HtmlUtil;
import cn.hutool.http.HttpUtil;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.utils.JsonUtils;
+import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import java.util.Map;
@@ -38,7 +38,7 @@
.body("ip=" + ip + "&json=true", Constants.GBK)
.execute()
.body();
- if (StrUtil.isEmpty(rspStr)) {
+ if (StringUtils.isEmpty(rspStr)) {
log.error("鑾峰彇鍦扮悊浣嶇疆寮傚父 {}", ip);
return UNKNOWN;
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
index 96843d1..15b7d54 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
@@ -1,8 +1,6 @@
package com.ruoyi.common.utils.poi;
import cn.hutool.core.convert.Convert;
-import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.annotation.Excel.Type;
@@ -12,6 +10,7 @@
import com.ruoyi.common.exception.CustomException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DictUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.FileTypeUtils;
import com.ruoyi.common.utils.file.ImageUtils;
import com.ruoyi.common.utils.reflect.ReflectUtils;
@@ -125,7 +124,7 @@
*/
public List<T> importExcel(InputStream is) throws Exception
{
- return importExcel(StrUtil.EMPTY, is);
+ return importExcel(StringUtils.EMPTY, is);
}
/**
@@ -141,7 +140,7 @@
this.wb = WorkbookFactory.create(is);
List<T> list = new ArrayList<T>();
Sheet sheet = null;
- if (Validator.isNotEmpty(sheetName))
+ if (StringUtils.isNotEmpty(sheetName))
{
// 濡傛灉鎸囧畾sheet鍚�,鍒欏彇鎸囧畾sheet涓殑鍐呭.
sheet = wb.getSheet(sheetName);
@@ -168,7 +167,7 @@
for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++)
{
Cell cell = heard.getCell(i);
- if (Validator.isNotNull(cell))
+ if (StringUtils.isNotNull(cell))
{
String value = this.getCellValue(heard, i).toString();
cellMap.put(value, i);
@@ -219,14 +218,14 @@
if (String.class == fieldType)
{
String s = Convert.toStr(val);
- if (StrUtil.endWith(s, ".0"))
+ if (StringUtils.endWith(s, ".0"))
{
- val = StrUtil.subBefore(s, ".0",false);
+ val = StringUtils.subBefore(s, ".0",false);
}
else
{
String dateFormat = field.getAnnotation(Excel.class).dateFormat();
- if (Validator.isNotEmpty(dateFormat))
+ if (StringUtils.isNotEmpty(dateFormat))
{
val = DateUtils.parseDateToStr(dateFormat, (Date) val);
}
@@ -236,7 +235,7 @@
}
}
}
- else if ((Integer.TYPE == fieldType || Integer.class == fieldType) && Validator.isNumber(Convert.toStr(val)))
+ else if ((Integer.TYPE == fieldType || Integer.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val)))
{
val = Convert.toInt(val);
}
@@ -271,19 +270,19 @@
{
val = Convert.toBool(val, false);
}
- if (Validator.isNotNull(fieldType))
+ if (StringUtils.isNotNull(fieldType))
{
Excel attr = field.getAnnotation(Excel.class);
String propertyName = field.getName();
- if (Validator.isNotEmpty(attr.targetAttr()))
+ if (StringUtils.isNotEmpty(attr.targetAttr()))
{
propertyName = field.getName() + "." + attr.targetAttr();
}
- else if (Validator.isNotEmpty(attr.readConverterExp()))
+ else if (StringUtils.isNotEmpty(attr.readConverterExp()))
{
val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator());
}
- else if (Validator.isNotEmpty(attr.dictType()))
+ else if (StringUtils.isNotEmpty(attr.dictType()))
{
val = reverseDictByExp(Convert.toStr(val), attr.dictType(), attr.separator());
}
@@ -509,13 +508,13 @@
{
if (ColumnType.STRING == attr.cellType())
{
- cell.setCellValue(Validator.isNull(value) ? attr.defaultValue() : value + attr.suffix());
+ cell.setCellValue(StringUtils.isNull(value) ? attr.defaultValue() : value + attr.suffix());
}
else if (ColumnType.NUMERIC == attr.cellType())
{
- if (Validator.isNotNull(value))
+ if (StringUtils.isNotNull(value))
{
- cell.setCellValue(StrUtil.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value));
+ cell.setCellValue(StringUtils.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value));
}
}
else if (ColumnType.IMAGE == attr.cellType())
@@ -523,7 +522,7 @@
ClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, (short) cell.getColumnIndex(), cell.getRow().getRowNum(), (short) (cell.getColumnIndex() + 1),
cell.getRow().getRowNum() + 1);
String imagePath = Convert.toStr(value);
- if (Validator.isNotEmpty(imagePath))
+ if (StringUtils.isNotEmpty(imagePath))
{
byte[] data = ImageUtils.getImage(imagePath);
getDrawingPatriarch(cell.getSheet()).createPicture(anchor,
@@ -576,7 +575,7 @@
sheet.setColumnWidth(column, (int) ((attr.width() + 0.72) * 256));
}
// 濡傛灉璁剧疆浜嗘彁绀轰俊鎭垯榧犳爣鏀句笂鍘绘彁绀�.
- if (Validator.isNotEmpty(attr.prompt()))
+ if (StringUtils.isNotEmpty(attr.prompt()))
{
// 杩欓噷榛樿璁句簡2-101鍒楁彁绀�.
setXSSFPrompt(sheet, "", attr.prompt(), 1, 100, column, column);
@@ -613,15 +612,15 @@
String readConverterExp = attr.readConverterExp();
String separator = attr.separator();
String dictType = attr.dictType();
- if (Validator.isNotEmpty(dateFormat) && Validator.isNotNull(value))
+ if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value))
{
cell.setCellValue(DateUtils.parseDateToStr(dateFormat, (Date) value));
}
- else if (Validator.isNotEmpty(readConverterExp) && Validator.isNotNull(value))
+ else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value))
{
cell.setCellValue(convertByExp(Convert.toStr(value), readConverterExp, separator));
}
- else if (Validator.isNotEmpty(dictType) && Validator.isNotNull(value))
+ else if (StringUtils.isNotEmpty(dictType) && StringUtils.isNotNull(value))
{
cell.setCellValue(convertDictByExp(Convert.toStr(value), dictType, separator));
}
@@ -716,7 +715,7 @@
for (String item : convertSource)
{
String[] itemArray = item.split("=");
- if (StrUtil.containsAny(propertyValue, separator))
+ if (StringUtils.containsAny(propertyValue, separator))
{
for (String value : propertyValue.split(separator))
{
@@ -735,7 +734,7 @@
}
}
}
- return StrUtil.strip(propertyString.toString(), null,separator);
+ return StringUtils.strip(propertyString.toString(), null,separator);
}
/**
@@ -753,7 +752,7 @@
for (String item : convertSource)
{
String[] itemArray = item.split("=");
- if (StrUtil.containsAny(propertyValue, separator))
+ if (StringUtils.containsAny(propertyValue, separator))
{
for (String value : propertyValue.split(separator))
{
@@ -772,7 +771,7 @@
}
}
}
- return StrUtil.strip(propertyString.toString(), null,separator);
+ return StringUtils.strip(propertyString.toString(), null,separator);
}
/**
@@ -885,7 +884,7 @@
private Object getTargetValue(T vo, Field field, Excel excel) throws Exception
{
Object o = field.get(vo);
- if (Validator.isNotEmpty(excel.targetAttr()))
+ if (StringUtils.isNotEmpty(excel.targetAttr()))
{
String target = excel.targetAttr();
if (target.contains("."))
@@ -914,7 +913,7 @@
*/
private Object getValue(Object o, String name) throws Exception
{
- if (Validator.isNotNull(o) && Validator.isNotEmpty(name))
+ if (StringUtils.isNotNull(o) && StringUtils.isNotEmpty(name))
{
Class<?> clazz = o.getClass();
Field field = clazz.getDeclaredField(name);
@@ -1027,7 +1026,7 @@
try
{
Cell cell = row.getCell(column);
- if (Validator.isNotNull(cell))
+ if (StringUtils.isNotNull(cell))
{
if (cell.getCellType() == CellType.NUMERIC || cell.getCellType() == CellType.FORMULA)
{
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java
index c5d17d8..78a74b7 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java
@@ -1,7 +1,7 @@
package com.ruoyi.common.utils.reflect;
import cn.hutool.core.util.ReflectUtil;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import java.lang.reflect.Method;
import java.util.List;
@@ -25,8 +25,8 @@
@SuppressWarnings("unchecked")
public static <E> E invokeGetter(Object obj, String propertyName) {
Object object = obj;
- for (String name : StrUtil.split(propertyName, ".")) {
- String getterMethodName = GETTER_PREFIX + StrUtil.upperFirst(name);
+ for (String name : StringUtils.split(propertyName, ".")) {
+ String getterMethodName = GETTER_PREFIX + StringUtils.upperFirst(name);
object = invoke(object, getterMethodName);
}
return (E) object;
@@ -38,13 +38,13 @@
*/
public static <E> void invokeSetter(Object obj, String propertyName, E value) {
Object object = obj;
- List<String> names = StrUtil.split(propertyName, ".");
+ List<String> names = StringUtils.split(propertyName, ".");
for (int i = 0; i < names.size(); i++) {
if (i < names.size() - 1) {
- String getterMethodName = GETTER_PREFIX + StrUtil.upperFirst(names.get(i));
+ String getterMethodName = GETTER_PREFIX + StringUtils.upperFirst(names.get(i));
object = invoke(object, getterMethodName);
} else {
- String setterMethodName = SETTER_PREFIX + StrUtil.upperFirst(names.get(i));
+ String setterMethodName = SETTER_PREFIX + StringUtils.upperFirst(names.get(i));
Method method = getMethodByName(object.getClass(), setterMethodName);
invoke(object, method, value);
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java
index a37268a..e2f6e8b 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java
@@ -1,11 +1,11 @@
package com.ruoyi.common.utils.sql;
-import cn.hutool.core.lang.Validator;
import com.ruoyi.common.exception.BaseException;
+import com.ruoyi.common.utils.StringUtils;
/**
* sql鎿嶄綔宸ュ叿绫�
- *
+ *
* @author ruoyi
*/
public class SqlUtil
@@ -20,7 +20,7 @@
*/
public static String escapeOrderBySql(String value)
{
- if (Validator.isNotEmpty(value) && !isValidOrderBySql(value))
+ if (StringUtils.isNotEmpty(value) && !isValidOrderBySql(value))
{
throw new BaseException("鍙傛暟涓嶇鍚堣鑼冿紝涓嶈兘杩涜鏌ヨ");
}
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java
index 81893df..fe103ef 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestDemoServiceImpl.java
@@ -1,7 +1,7 @@
package com.ruoyi.demo.service.impl;
import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -62,11 +62,11 @@
Map<String, Object> params = bo.getParams();
Object dataScope = params.get("dataScope");
LambdaQueryWrapper<TestDemo> lqw = Wrappers.lambdaQuery();
- lqw.like(StrUtil.isNotBlank(bo.getTestKey()), TestDemo::getTestKey, bo.getTestKey());
- lqw.eq(StrUtil.isNotBlank(bo.getValue()), TestDemo::getValue, bo.getValue());
+ lqw.like(StringUtils.isNotBlank(bo.getTestKey()), TestDemo::getTestKey, bo.getTestKey());
+ lqw.eq(StringUtils.isNotBlank(bo.getValue()), TestDemo::getValue, bo.getValue());
lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
TestDemo::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime"));
- lqw.apply(dataScope != null && StrUtil.isNotBlank(dataScope.toString()),
+ lqw.apply(dataScope != null && StringUtils.isNotBlank(dataScope.toString()),
dataScope != null ? dataScope.toString() : null);
return lqw;
}
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java
index a953412..1985c1e 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/TestTreeServiceImpl.java
@@ -1,7 +1,7 @@
package com.ruoyi.demo.service.impl;
import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.DataScope;
@@ -42,10 +42,10 @@
Map<String, Object> params = bo.getParams();
Object dataScope = params.get("dataScope");
LambdaQueryWrapper<TestTree> lqw = Wrappers.lambdaQuery();
- lqw.like(StrUtil.isNotBlank(bo.getTreeName()), TestTree::getTreeName, bo.getTreeName());
+ lqw.like(StringUtils.isNotBlank(bo.getTreeName()), TestTree::getTreeName, bo.getTreeName());
lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
TestTree::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime"));
- lqw.apply(dataScope != null && StrUtil.isNotBlank(dataScope.toString()),
+ lqw.apply(dataScope != null && StringUtils.isNotBlank(dataScope.toString()),
dataScope != null ? dataScope.toString() : null);
return lqw;
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
index 830dbe5..90f94d3 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
@@ -1,7 +1,7 @@
package com.ruoyi.framework.aspectj;
import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.domain.entity.SysRole;
@@ -101,8 +101,8 @@
StringBuilder sqlString = new StringBuilder();
// 灏� "." 鎻愬彇鍑�,涓嶅啓鍒悕涓哄崟琛ㄦ煡璇�,鍐欏埆鍚嶄负澶氳〃鏌ヨ
- deptAlias = StrUtil.isNotBlank(deptAlias) ? deptAlias + "." : "";
- userAlias = StrUtil.isNotBlank(userAlias) ? userAlias + "." : "";
+ deptAlias = StringUtils.isNotBlank(deptAlias) ? deptAlias + "." : "";
+ userAlias = StringUtils.isNotBlank(userAlias) ? userAlias + "." : "";
for (SysRole role : user.getRoles()) {
String dataScope = role.getDataScope();
@@ -110,19 +110,19 @@
sqlString = new StringBuilder();
break;
} else if (DATA_SCOPE_CUSTOM.equals(dataScope)) {
- sqlString.append(StrUtil.format(
+ sqlString.append(StringUtils.format(
" OR {}dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ",
deptAlias, role.getRoleId()));
} else if (DATA_SCOPE_DEPT.equals(dataScope)) {
- sqlString.append(StrUtil.format(" OR {}dept_id = {} ",
+ sqlString.append(StringUtils.format(" OR {}dept_id = {} ",
deptAlias, user.getDeptId()));
} else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope)) {
- sqlString.append(StrUtil.format(
+ sqlString.append(StringUtils.format(
" OR {}dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or find_in_set( {} , ancestors ) )",
deptAlias, user.getDeptId(), user.getDeptId()));
} else if (DATA_SCOPE_SELF.equals(dataScope)) {
if (isUser) {
- sqlString.append(StrUtil.format(" OR {}user_id = {} ",
+ sqlString.append(StringUtils.format(" OR {}user_id = {} ",
userAlias, user.getUserId()));
} else {
// 鏁版嵁鏉冮檺涓轰粎鏈汉涓旀病鏈塽serAlias鍒悕涓嶆煡璇换浣曟暟鎹�
@@ -131,7 +131,7 @@
}
}
- if (StrUtil.isNotBlank(sqlString.toString())) {
+ if (StringUtils.isNotBlank(sqlString.toString())) {
putDataScope(joinPoint, sqlString.substring(4));
}
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
index d5c0fe8..83a3b8f 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
@@ -1,7 +1,7 @@
package com.ruoyi.framework.aspectj;
import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.enums.BusinessStatus;
@@ -104,7 +104,7 @@
if (e != null)
{
operLog.setStatus(BusinessStatus.FAIL.ordinal());
- operLog.setErrorMsg(StrUtil.sub(e.getMessage(), 0, 2000));
+ operLog.setErrorMsg(StringUtils.sub(e.getMessage(), 0, 2000));
}
// 璁剧疆鏂规硶鍚嶇О
String className = joinPoint.getTarget().getClass().getName();
@@ -161,12 +161,12 @@
if (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))
{
String params = argsArrayToString(joinPoint.getArgs());
- operLog.setOperParam(StrUtil.sub(params, 0, 2000));
+ operLog.setOperParam(StringUtils.sub(params, 0, 2000));
}
else
{
Map<?, ?> paramsMap = (Map<?, ?>) ServletUtils.getRequest().getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
- operLog.setOperParam(StrUtil.sub(paramsMap.toString(), 0, 2000));
+ operLog.setOperParam(StringUtils.sub(paramsMap.toString(), 0, 2000));
}
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/captcha/UnsignedMathGenerator.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/captcha/UnsignedMathGenerator.java
index b4f8bfc..1103bc6 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/captcha/UnsignedMathGenerator.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/captcha/UnsignedMathGenerator.java
@@ -4,7 +4,7 @@
import cn.hutool.core.math.Calculator;
import cn.hutool.core.util.CharUtil;
import cn.hutool.core.util.RandomUtil;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
/**
* 鏃犵鍙疯绠楃敓鎴愬櫒
@@ -45,8 +45,8 @@
int max = RandomUtil.randomInt(min, limit);
String number1 = Integer.toString(max);
String number2 = Integer.toString(min);
- number1 = StrUtil.padAfter(number1, this.numberLength, CharUtil.SPACE);
- number2 = StrUtil.padAfter(number2, this.numberLength, CharUtil.SPACE);
+ number1 = StringUtils.padAfter(number1, this.numberLength, CharUtil.SPACE);
+ number2 = StringUtils.padAfter(number2, this.numberLength, CharUtil.SPACE);
return number1 + RandomUtil.randomChar(operators) + number2 + '=';
}
@@ -80,6 +80,6 @@
* @return 鏈�澶у��
*/
private int getLimit() {
- return Integer.parseInt("1" + StrUtil.repeat('0', this.numberLength));
+ return Integer.parseInt("1" + StringUtils.repeat('0', this.numberLength));
}
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java
index da7d061..57c9276 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java
@@ -1,11 +1,11 @@
package com.ruoyi.framework.config;
-import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.filter.RepeatableFilter;
import com.ruoyi.common.filter.XssFilter;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.config.properties.XssProperties;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -32,11 +32,11 @@
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setDispatcherTypes(DispatcherType.REQUEST);
registration.setFilter(new XssFilter());
- registration.addUrlPatterns(StrUtil.splitToArray(xssProperties.getUrlPatterns(), ","));
+ registration.addUrlPatterns(StringUtils.splitToArray(xssProperties.getUrlPatterns(), ","));
registration.setName("xssFilter");
registration.setOrder(FilterRegistrationBean.HIGHEST_PRECEDENCE);
Map<String, String> initParameters = new HashMap<String, String>();
- initParameters.put("excludes", excludes);
+ initParameters.put("excludes", xssProperties.getExcludes());
registration.setInitParameters(initParameters);
return registration;
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java
index bc28657..307b9a6 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java
@@ -1,6 +1,6 @@
package com.ruoyi.framework.config;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.config.properties.RedissonProperties;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
@@ -59,7 +59,7 @@
.setAddress(prefix + redisProperties.getHost() + ":" + redisProperties.getPort())
.setConnectTimeout(((Long) redisProperties.getTimeout().toMillis()).intValue())
.setDatabase(redisProperties.getDatabase())
- .setPassword(StrUtil.isNotBlank(redisProperties.getPassword()) ? redisProperties.getPassword() : null)
+ .setPassword(StringUtils.isNotBlank(redisProperties.getPassword()) ? redisProperties.getPassword() : null)
.setTimeout(singleServerConfig.getTimeout())
.setRetryAttempts(singleServerConfig.getRetryAttempts())
.setRetryInterval(singleServerConfig.getRetryInterval())
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java
deleted file mode 100644
index 23d0230..0000000
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.ruoyi.framework.manager.factory;
-
-import java.util.TimerTask;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import com.ruoyi.common.constant.Constants;
-import com.ruoyi.common.utils.LogUtils;
-import com.ruoyi.common.utils.ServletUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.ip.AddressUtils;
-import com.ruoyi.common.utils.ip.IpUtils;
-import com.ruoyi.common.utils.spring.SpringUtils;
-import com.ruoyi.system.domain.SysLogininfor;
-import com.ruoyi.system.domain.SysOperLog;
-import com.ruoyi.system.service.ISysLogininforService;
-import com.ruoyi.system.service.ISysOperLogService;
-import eu.bitwalker.useragentutils.UserAgent;
-
-/**
- * 寮傛宸ュ巶锛堜骇鐢熶换鍔$敤锛�
- *
- * @author ruoyi
- */
-public class AsyncFactory
-{
- private static final Logger sys_user_logger = LoggerFactory.getLogger("sys-user");
-
- /**
- * 璁板綍鐧诲綍淇℃伅
- *
- * @param username 鐢ㄦ埛鍚�
- * @param status 鐘舵��
- * @param message 娑堟伅
- * @param args 鍒楄〃
- * @return 浠诲姟task
- */
- public static TimerTask recordLogininfor(final String username, final String status, final String message,
- final Object... args)
- {
- final UserAgent userAgent = UserAgent.parseUserAgentString(ServletUtils.getRequest().getHeader("User-Agent"));
- final String ip = IpUtils.getIpAddr(ServletUtils.getRequest());
- return new TimerTask()
- {
- @Override
- public void run()
- {
- String address = AddressUtils.getRealAddressByIP(ip);
- StringBuilder s = new StringBuilder();
- s.append(LogUtils.getBlock(ip));
- s.append(address);
- s.append(LogUtils.getBlock(username));
- s.append(LogUtils.getBlock(status));
- s.append(LogUtils.getBlock(message));
- // 鎵撳嵃淇℃伅鍒版棩蹇�
- sys_user_logger.info(s.toString(), args);
- // 鑾峰彇瀹㈡埛绔搷浣滅郴缁�
- String os = userAgent.getOperatingSystem().getName();
- // 鑾峰彇瀹㈡埛绔祻瑙堝櫒
- String browser = userAgent.getBrowser().getName();
- // 灏佽瀵硅薄
- SysLogininfor logininfor = new SysLogininfor();
- logininfor.setUserName(username);
- logininfor.setIpaddr(ip);
- logininfor.setLoginLocation(address);
- logininfor.setBrowser(browser);
- logininfor.setOs(os);
- logininfor.setMsg(message);
- // 鏃ュ織鐘舵��
- if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER))
- {
- logininfor.setStatus(Constants.SUCCESS);
- }
- else if (Constants.LOGIN_FAIL.equals(status))
- {
- logininfor.setStatus(Constants.FAIL);
- }
- // 鎻掑叆鏁版嵁
- SpringUtils.getBean(ISysLogininforService.class).insertLogininfor(logininfor);
- }
- };
- }
-
- /**
- * 鎿嶄綔鏃ュ織璁板綍
- *
- * @param operLog 鎿嶄綔鏃ュ織淇℃伅
- * @return 浠诲姟task
- */
- public static TimerTask recordOper(final SysOperLog operLog)
- {
- return new TimerTask()
- {
- @Override
- public void run()
- {
- // 杩滅▼鏌ヨ鎿嶄綔鍦扮偣
- operLog.setOperLocation(AddressUtils.getRealAddressByIP(operLog.getOperIp()));
- SpringUtils.getBean(ISysOperLogService.class).insertOperlog(operLog);
- }
- };
- }
-}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java
index 1cd8d60..5757081 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java
@@ -1,6 +1,6 @@
package com.ruoyi.framework.security.handle;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import cn.hutool.http.HttpStatus;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.JsonUtils;
@@ -29,7 +29,7 @@
throws IOException
{
int code = HttpStatus.HTTP_UNAUTHORIZED;
- String msg = StrUtil.format("璇锋眰璁块棶锛歿}锛岃璇佸け璐ワ紝鏃犳硶璁块棶绯荤粺璧勬簮", request.getRequestURI());
+ String msg = StringUtils.format("璇锋眰璁块棶锛歿}锛岃璇佸け璐ワ紝鏃犳硶璁块棶绯荤粺璧勬簮", request.getRequestURI());
ServletUtils.renderString(response, JsonUtils.toJsonString(AjaxResult.error(code, msg)));
}
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/AsyncService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/AsyncService.java
index e64fbc1..3199cdd 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/AsyncService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/AsyncService.java
@@ -1,5 +1,6 @@
package com.ruoyi.framework.web.service;
+import com.ruoyi.common.utils.StringUtils;
import cn.hutool.http.useragent.UserAgent;
import cn.hutool.http.useragent.UserAgentUtil;
import com.ruoyi.common.constant.Constants;
@@ -67,7 +68,7 @@
logininfor.setOs(os);
logininfor.setMsg(message);
// 鏃ュ織鐘舵��
- if (Constants.LOGIN_SUCCESS.equals(status) || Constants.LOGOUT.equals(status)) {
+ if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER)) {
logininfor.setStatus(Constants.SUCCESS);
} else if (Constants.LOGIN_FAIL.equals(status)) {
logininfor.setStatus(Constants.FAIL);
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java
index 064efa5..0cda991 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java
@@ -1,7 +1,7 @@
package com.ruoyi.framework.web.service;
import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.ServletUtils;
@@ -12,7 +12,7 @@
/**
* RuoYi棣栧垱 鑷畾涔夋潈闄愬疄鐜帮紝ss鍙栬嚜SpringSecurity棣栧瓧姣�
- *
+ *
* @author ruoyi
*/
@Service("ss")
@@ -33,7 +33,7 @@
/**
* 楠岃瘉鐢ㄦ埛鏄惁鍏峰鏌愭潈闄�
- *
+ *
* @param permission 鏉冮檺瀛楃涓�
* @return 鐢ㄦ埛鏄惁鍏峰鏌愭潈闄�
*/
@@ -92,7 +92,7 @@
/**
* 鍒ゆ柇鐢ㄦ埛鏄惁鎷ユ湁鏌愪釜瑙掕壊
- *
+ *
* @param role 瑙掕壊瀛楃涓�
* @return 鐢ㄦ埛鏄惁鍏峰鏌愯鑹�
*/
@@ -110,7 +110,7 @@
for (SysRole sysRole : loginUser.getUser().getRoles())
{
String roleKey = sysRole.getRoleKey();
- if (SUPER_ADMIN.equals(roleKey) || roleKey.equals(StrUtil.trim(role)))
+ if (SUPER_ADMIN.equals(roleKey) || roleKey.equals(StringUtils.trim(role)))
{
return true;
}
@@ -158,13 +158,13 @@
/**
* 鍒ゆ柇鏄惁鍖呭惈鏉冮檺
- *
+ *
* @param permissions 鏉冮檺鍒楄〃
* @param permission 鏉冮檺瀛楃涓�
* @return 鐢ㄦ埛鏄惁鍏峰鏌愭潈闄�
*/
private boolean hasPermissions(Set<String> permissions, String permission)
{
- return permissions.contains(ALL_PERMISSION) || permissions.contains(StrUtil.trim(permission));
+ return permissions.contains(ALL_PERMISSION) || permissions.contains(StringUtils.trim(permission));
}
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java
index c7fbdc9..48d40af 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java
@@ -1,115 +1,117 @@
-package com.ruoyi.framework.web.service;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.util.StringUtils;
-import com.ruoyi.common.constant.Constants;
-import com.ruoyi.common.constant.UserConstants;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.core.domain.model.RegisterBody;
-import com.ruoyi.common.core.redis.RedisCache;
-import com.ruoyi.common.exception.user.CaptchaException;
-import com.ruoyi.common.exception.user.CaptchaExpireException;
-import com.ruoyi.common.utils.MessageUtils;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.framework.manager.AsyncManager;
-import com.ruoyi.framework.manager.factory.AsyncFactory;
-import com.ruoyi.system.service.ISysConfigService;
-import com.ruoyi.system.service.ISysUserService;
-
-/**
- * 娉ㄥ唽鏍¢獙鏂规硶
- *
- * @author ruoyi
- */
-@Component
-public class SysRegisterService
-{
- @Autowired
- private ISysUserService userService;
-
- @Autowired
- private ISysConfigService configService;
-
- @Autowired
- private RedisCache redisCache;
-
- /**
- * 娉ㄥ唽
- */
- public String register(RegisterBody registerBody)
- {
- String msg = "", username = registerBody.getUsername(), password = registerBody.getPassword();
-
- boolean captchaOnOff = configService.selectCaptchaOnOff();
- // 楠岃瘉鐮佸紑鍏�
- if (captchaOnOff)
- {
- validateCaptcha(username, registerBody.getCode(), registerBody.getUuid());
- }
-
- if (StringUtils.isEmpty(username))
- {
- msg = "鐢ㄦ埛鍚嶄笉鑳戒负绌�";
- }
- else if (StringUtils.isEmpty(password))
- {
- msg = "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖";
- }
- else if (username.length() < UserConstants.USERNAME_MIN_LENGTH
- || username.length() > UserConstants.USERNAME_MAX_LENGTH)
- {
- msg = "璐︽埛闀垮害蹇呴』鍦�2鍒�20涓瓧绗︿箣闂�";
- }
- else if (password.length() < UserConstants.PASSWORD_MIN_LENGTH
- || password.length() > UserConstants.PASSWORD_MAX_LENGTH)
- {
- msg = "瀵嗙爜闀垮害蹇呴』鍦�5鍒�20涓瓧绗︿箣闂�";
- }
- else if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(username)))
- {
- msg = "淇濆瓨鐢ㄦ埛'" + username + "'澶辫触锛屾敞鍐岃处鍙峰凡瀛樺湪";
- }
- else
- {
- SysUser sysUser = new SysUser();
- sysUser.setUserName(username);
- sysUser.setNickName(username);
- sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword()));
- boolean regFlag = userService.registerUser(sysUser);
- if (!regFlag)
- {
- msg = "娉ㄥ唽澶辫触,璇疯仈绯荤郴缁熺鐞嗕汉鍛�";
- }
- else
- {
- AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.REGISTER,
- MessageUtils.message("user.register.success")));
- }
- }
- return msg;
- }
-
- /**
- * 鏍¢獙楠岃瘉鐮�
- *
- * @param username 鐢ㄦ埛鍚�
- * @param code 楠岃瘉鐮�
- * @param uuid 鍞竴鏍囪瘑
- * @return 缁撴灉
- */
- public void validateCaptcha(String username, String code, String uuid)
- {
- String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
- String captcha = redisCache.getCacheObject(verifyKey);
- redisCache.deleteObject(verifyKey);
- if (captcha == null)
- {
- throw new CaptchaExpireException();
- }
- if (!code.equalsIgnoreCase(captcha))
- {
- throw new CaptchaException();
- }
- }
-}
+package com.ruoyi.framework.web.service;
+
+import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.constant.UserConstants;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.model.RegisterBody;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.exception.user.CaptchaException;
+import com.ruoyi.common.exception.user.CaptchaExpireException;
+import com.ruoyi.common.utils.MessageUtils;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.service.ISysConfigService;
+import com.ruoyi.system.service.ISysUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 娉ㄥ唽鏍¢獙鏂规硶
+ *
+ * @author ruoyi
+ */
+@Component
+public class SysRegisterService
+{
+ @Autowired
+ private ISysUserService userService;
+
+ @Autowired
+ private ISysConfigService configService;
+
+ @Autowired
+ private RedisCache redisCache;
+
+ @Autowired
+ private AsyncService asyncService;
+
+ /**
+ * 娉ㄥ唽
+ */
+ public String register(RegisterBody registerBody)
+ {
+ String msg = "", username = registerBody.getUsername(), password = registerBody.getPassword();
+
+ boolean captchaOnOff = configService.selectCaptchaOnOff();
+ // 楠岃瘉鐮佸紑鍏�
+ if (captchaOnOff)
+ {
+ validateCaptcha(username, registerBody.getCode(), registerBody.getUuid());
+ }
+
+ if (StringUtils.isEmpty(username))
+ {
+ msg = "鐢ㄦ埛鍚嶄笉鑳戒负绌�";
+ }
+ else if (StringUtils.isEmpty(password))
+ {
+ msg = "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖";
+ }
+ else if (username.length() < UserConstants.USERNAME_MIN_LENGTH
+ || username.length() > UserConstants.USERNAME_MAX_LENGTH)
+ {
+ msg = "璐︽埛闀垮害蹇呴』鍦�2鍒�20涓瓧绗︿箣闂�";
+ }
+ else if (password.length() < UserConstants.PASSWORD_MIN_LENGTH
+ || password.length() > UserConstants.PASSWORD_MAX_LENGTH)
+ {
+ msg = "瀵嗙爜闀垮害蹇呴』鍦�5鍒�20涓瓧绗︿箣闂�";
+ }
+ else if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(username)))
+ {
+ msg = "淇濆瓨鐢ㄦ埛'" + username + "'澶辫触锛屾敞鍐岃处鍙峰凡瀛樺湪";
+ }
+ else
+ {
+ SysUser sysUser = new SysUser();
+ sysUser.setUserName(username);
+ sysUser.setNickName(username);
+ sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword()));
+ boolean regFlag = userService.registerUser(sysUser);
+ if (!regFlag)
+ {
+ msg = "娉ㄥ唽澶辫触,璇疯仈绯荤郴缁熺鐞嗕汉鍛�";
+ }
+ else
+ {
+ asyncService.recordLogininfor(username, Constants.REGISTER,
+ MessageUtils.message("user.register.success"), ServletUtils.getRequest());
+ }
+ }
+ return msg;
+ }
+
+ /**
+ * 鏍¢獙楠岃瘉鐮�
+ *
+ * @param username 鐢ㄦ埛鍚�
+ * @param code 楠岃瘉鐮�
+ * @param uuid 鍞竴鏍囪瘑
+ * @return 缁撴灉
+ */
+ public void validateCaptcha(String username, String code, String uuid)
+ {
+ String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
+ String captcha = redisCache.getCacheObject(verifyKey);
+ redisCache.deleteObject(verifyKey);
+ if (captcha == null)
+ {
+ throw new CaptchaExpireException();
+ }
+ if (!code.equalsIgnoreCase(captcha))
+ {
+ throw new CaptchaException();
+ }
+ }
+}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
index 172ac75..a6ff95f 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
@@ -57,7 +57,8 @@
String userKey = getTokenKey(uuid);
LoginUser user = redisCache.getCacheObject(userKey);
return user;
- catch (Exception e) {
+ } catch (Exception e) {
+
}
}
return null;
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java
index 5d5c6a4..5d3217c 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java
@@ -1,6 +1,6 @@
package com.ruoyi.generator.domain;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.constant.GenConstants;
@@ -204,7 +204,7 @@
}
public static boolean isSub(String tplCategory) {
- return tplCategory != null && StrUtil.equals(GenConstants.TPL_SUB, tplCategory);
+ return tplCategory != null && StringUtils.equals(GenConstants.TPL_SUB, tplCategory);
}
public boolean isTree() {
@@ -212,7 +212,7 @@
}
public static boolean isTree(String tplCategory) {
- return tplCategory != null && StrUtil.equals(GenConstants.TPL_TREE, tplCategory);
+ return tplCategory != null && StringUtils.equals(GenConstants.TPL_TREE, tplCategory);
}
public boolean isCrud() {
@@ -220,7 +220,7 @@
}
public static boolean isCrud(String tplCategory) {
- return tplCategory != null && StrUtil.equals(GenConstants.TPL_CRUD, tplCategory);
+ return tplCategory != null && StringUtils.equals(GenConstants.TPL_CRUD, tplCategory);
}
public boolean isSuperColumn(String javaField) {
@@ -229,9 +229,9 @@
public static boolean isSuperColumn(String tplCategory, String javaField) {
if (isTree(tplCategory)) {
- return StrUtil.equalsAnyIgnoreCase(javaField,
+ return StringUtils.equalsAnyIgnoreCase(javaField,
ArrayUtils.addAll(GenConstants.TREE_ENTITY, GenConstants.BASE_ENTITY));
}
- return StrUtil.equalsAnyIgnoreCase(javaField, GenConstants.BASE_ENTITY);
+ return StringUtils.equalsAnyIgnoreCase(javaField, GenConstants.BASE_ENTITY);
}
-}
\ No newline at end of file
+}
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java
index 9e03f5d..d5f8ba8 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java
@@ -1,6 +1,6 @@
package com.ruoyi.generator.domain;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
@@ -150,7 +150,7 @@
private Map<String, Object> params = new HashMap<>();
public String getCapJavaField() {
- return StrUtil.upperFirst(javaField);
+ return StringUtils.upperFirst(javaField);
}
public boolean isPk() {
@@ -158,7 +158,7 @@
}
public boolean isPk(String isPk) {
- return isPk != null && StrUtil.equals("1", isPk);
+ return isPk != null && StringUtils.equals("1", isPk);
}
public boolean isIncrement() {
@@ -166,7 +166,7 @@
}
public boolean isIncrement(String isIncrement) {
- return isIncrement != null && StrUtil.equals("1", isIncrement);
+ return isIncrement != null && StringUtils.equals("1", isIncrement);
}
public boolean isRequired() {
@@ -174,7 +174,7 @@
}
public boolean isRequired(String isRequired) {
- return isRequired != null && StrUtil.equals("1", isRequired);
+ return isRequired != null && StringUtils.equals("1", isRequired);
}
public boolean isInsert() {
@@ -182,7 +182,7 @@
}
public boolean isInsert(String isInsert) {
- return isInsert != null && StrUtil.equals("1", isInsert);
+ return isInsert != null && StringUtils.equals("1", isInsert);
}
public boolean isEdit() {
@@ -190,7 +190,7 @@
}
public boolean isEdit(String isEdit) {
- return isEdit != null && StrUtil.equals("1", isEdit);
+ return isEdit != null && StringUtils.equals("1", isEdit);
}
public boolean isList() {
@@ -198,7 +198,7 @@
}
public boolean isList(String isList) {
- return isList != null && StrUtil.equals("1", isList);
+ return isList != null && StringUtils.equals("1", isList);
}
public boolean isQuery() {
@@ -206,7 +206,7 @@
}
public boolean isQuery(String isQuery) {
- return isQuery != null && StrUtil.equals("1", isQuery);
+ return isQuery != null && StringUtils.equals("1", isQuery);
}
public boolean isSuperColumn() {
@@ -214,7 +214,7 @@
}
public static boolean isSuperColumn(String javaField) {
- return StrUtil.equalsAnyIgnoreCase(javaField,
+ return StringUtils.equalsAnyIgnoreCase(javaField,
// BaseEntity
"createBy", "createTime", "updateBy", "updateTime", "remark",
// TreeEntity
@@ -227,15 +227,15 @@
public static boolean isUsableColumn(String javaField) {
// isSuperColumn()涓殑鍚嶅崟鐢ㄤ簬閬垮厤鐢熸垚澶氫綑Domain灞炴�э紝鑻ユ煇浜涘睘鎬у湪鐢熸垚椤甸潰鏃堕渶瑕佺敤鍒颁笉鑳藉拷鐣ワ紝鍒欐斁鍦ㄦ澶勭櫧鍚嶅崟
- return StrUtil.equalsAnyIgnoreCase(javaField, "parentId", "orderNum", "remark");
+ return StringUtils.equalsAnyIgnoreCase(javaField, "parentId", "orderNum", "remark");
}
public String readConverterExp() {
- String remarks = StrUtil.subBetween(this.columnComment, "锛�", "锛�");
+ String remarks = StringUtils.subBetween(this.columnComment, "锛�", "锛�");
StringBuffer sb = new StringBuffer();
- if (StrUtil.isNotEmpty(remarks)) {
+ if (StringUtils.isNotEmpty(remarks)) {
for (String value : remarks.split(" ")) {
- if (StrUtil.isNotEmpty(value)) {
+ if (StringUtils.isNotEmpty(value)) {
Object startStr = value.subSequence(0, 1);
String endStr = value.substring(1);
sb.append("").append(startStr).append("=").append(endStr).append(",");
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
index 86bd128..9c39a99 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
@@ -3,7 +3,7 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.ruoyi.common.constant.Constants;
@@ -137,15 +137,15 @@
for (GenTableColumn cenTableColumn : genTable.getColumns()) {
genTableColumnMapper.update(cenTableColumn,
new LambdaUpdateWrapper<GenTableColumn>()
- .set(StrUtil.isBlank(cenTableColumn.getColumnComment()), GenTableColumn::getColumnComment, null)
- .set(StrUtil.isBlank(cenTableColumn.getIsPk()), GenTableColumn::getIsPk, null)
- .set(StrUtil.isBlank(cenTableColumn.getIsIncrement()), GenTableColumn::getIsIncrement, null)
- .set(StrUtil.isBlank(cenTableColumn.getIsInsert()), GenTableColumn::getIsInsert, null)
- .set(StrUtil.isBlank(cenTableColumn.getIsEdit()), GenTableColumn::getIsEdit, null)
- .set(StrUtil.isBlank(cenTableColumn.getIsList()), GenTableColumn::getIsList, null)
- .set(StrUtil.isBlank(cenTableColumn.getIsQuery()), GenTableColumn::getIsQuery, null)
- .set(StrUtil.isBlank(cenTableColumn.getIsRequired()), GenTableColumn::getIsRequired, null)
- .set(StrUtil.isBlank(cenTableColumn.getDictType()), GenTableColumn::getDictType, "")
+ .set(StringUtils.isBlank(cenTableColumn.getColumnComment()), GenTableColumn::getColumnComment, null)
+ .set(StringUtils.isBlank(cenTableColumn.getIsPk()), GenTableColumn::getIsPk, null)
+ .set(StringUtils.isBlank(cenTableColumn.getIsIncrement()), GenTableColumn::getIsIncrement, null)
+ .set(StringUtils.isBlank(cenTableColumn.getIsInsert()), GenTableColumn::getIsInsert, null)
+ .set(StringUtils.isBlank(cenTableColumn.getIsEdit()), GenTableColumn::getIsEdit, null)
+ .set(StringUtils.isBlank(cenTableColumn.getIsList()), GenTableColumn::getIsList, null)
+ .set(StringUtils.isBlank(cenTableColumn.getIsQuery()), GenTableColumn::getIsQuery, null)
+ .set(StringUtils.isBlank(cenTableColumn.getIsRequired()), GenTableColumn::getIsRequired, null)
+ .set(StringUtils.isBlank(cenTableColumn.getDictType()), GenTableColumn::getDictType, "")
.eq(GenTableColumn::getColumnId,cenTableColumn.getColumnId()));
}
}
@@ -260,7 +260,7 @@
// 鑾峰彇妯℃澘鍒楄〃
List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory());
for (String template : templates) {
- if (!StrUtil.containsAny("sql.vm", "api.js.vm", "index.vue.vm", "index-tree.vue.vm", template)) {
+ if (!StringUtils.containsAny("sql.vm", "api.js.vm", "index.vue.vm", "index-tree.vue.vm", template)) {
// 娓叉煋妯℃澘
StringWriter sw = new StringWriter();
Template tpl = Velocity.getTemplate(template, Constants.UTF8);
@@ -451,7 +451,7 @@
*/
public static String getGenPath(GenTable table, String template) {
String genPath = table.getGenPath();
- if (StrUtil.equals(genPath, "/")) {
+ if (StringUtils.equals(genPath, "/")) {
return System.getProperty("user.dir") + File.separator + "src" + File.separator + VelocityUtils.getFileName(template, table);
}
return genPath + File.separator + VelocityUtils.getFileName(template, table);
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
index 928a051..5e778d6 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
@@ -1,6 +1,6 @@
package com.ruoyi.generator.util;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.constant.GenConstants;
import com.ruoyi.generator.config.GenConfig;
import com.ruoyi.generator.domain.GenTable;
@@ -40,7 +40,7 @@
column.setTableId(table.getTableId());
column.setCreateBy(table.getCreateBy());
// 璁剧疆java瀛楁鍚�
- column.setJavaField(StrUtil.toCamelCase(columnName));
+ column.setJavaField(StringUtils.toCamelCase(columnName));
// 璁剧疆榛樿绫诲瀷
column.setJavaType(GenConstants.TYPE_STRING);
@@ -61,7 +61,7 @@
column.setHtmlType(GenConstants.HTML_INPUT);
// 濡傛灉鏄诞鐐瑰瀷 缁熶竴鐢˙igDecimal
- String[] str = StrUtil.splitToArray(StrUtil.subBetween(column.getColumnType(), "(", ")"), ",");
+ String[] str = StringUtils.splitToArray(StringUtils.subBetween(column.getColumnType(), "(", ")"), ",");
if (str != null && str.length == 2 && Integer.parseInt(str[1]) > 0)
{
column.setJavaType(GenConstants.TYPE_BIGDECIMAL);
@@ -98,33 +98,33 @@
}
// 鏌ヨ瀛楁绫诲瀷
- if (StrUtil.endWithIgnoreCase(columnName, "name"))
+ if (StringUtils.endWithIgnoreCase(columnName, "name"))
{
column.setQueryType(GenConstants.QUERY_LIKE);
}
// 鐘舵�佸瓧娈佃缃崟閫夋
- if (StrUtil.endWithIgnoreCase(columnName, "status"))
+ if (StringUtils.endWithIgnoreCase(columnName, "status"))
{
column.setHtmlType(GenConstants.HTML_RADIO);
}
// 绫诲瀷&鎬у埆瀛楁璁剧疆涓嬫媺妗�
- else if (StrUtil.endWithIgnoreCase(columnName, "type")
- || StrUtil.endWithIgnoreCase(columnName, "sex"))
+ else if (StringUtils.endWithIgnoreCase(columnName, "type")
+ || StringUtils.endWithIgnoreCase(columnName, "sex"))
{
column.setHtmlType(GenConstants.HTML_SELECT);
}
// 鍥剧墖瀛楁璁剧疆鍥剧墖涓婁紶鎺т欢
- else if (StrUtil.endWithIgnoreCase(columnName, "image"))
+ else if (StringUtils.endWithIgnoreCase(columnName, "image"))
{
column.setHtmlType(GenConstants.HTML_IMAGE_UPLOAD);
}
// 鏂囦欢瀛楁璁剧疆鏂囦欢涓婁紶鎺т欢
- else if (StrUtil.endWithIgnoreCase(columnName, "file"))
+ else if (StringUtils.endWithIgnoreCase(columnName, "file"))
{
column.setHtmlType(GenConstants.HTML_FILE_UPLOAD);
}
// 鍐呭瀛楁璁剧疆瀵屾枃鏈帶浠�
- else if (StrUtil.endWithIgnoreCase(columnName, "content"))
+ else if (StringUtils.endWithIgnoreCase(columnName, "content"))
{
column.setHtmlType(GenConstants.HTML_EDITOR);
}
@@ -152,7 +152,7 @@
{
int lastIndex = packageName.lastIndexOf(".");
int nameLength = packageName.length();
- String moduleName = StrUtil.sub(packageName, lastIndex + 1, nameLength);
+ String moduleName = StringUtils.sub(packageName, lastIndex + 1, nameLength);
return moduleName;
}
@@ -166,7 +166,7 @@
{
int lastIndex = tableName.lastIndexOf("_");
int nameLength = tableName.length();
- String businessName = StrUtil.sub(tableName, lastIndex + 1, nameLength);
+ String businessName = StringUtils.sub(tableName, lastIndex + 1, nameLength);
return businessName;
}
@@ -180,12 +180,12 @@
{
boolean autoRemovePre = GenConfig.getAutoRemovePre();
String tablePrefix = GenConfig.getTablePrefix();
- if (autoRemovePre && StrUtil.isNotEmpty(tablePrefix))
+ if (autoRemovePre && StringUtils.isNotEmpty(tablePrefix))
{
- String[] searchList = StrUtil.splitToArray(tablePrefix, ",");
+ String[] searchList = StringUtils.splitToArray(tablePrefix, ",");
tableName = replaceFirst(tableName, searchList);
}
- return StrUtil.upperFirst(StrUtil.toCamelCase(tableName));
+ return StringUtils.upperFirst(StringUtils.toCamelCase(tableName));
}
/**
@@ -228,9 +228,9 @@
*/
public static String getDbType(String columnType)
{
- if (StrUtil.indexOf(columnType, '(') > 0)
+ if (StringUtils.indexOf(columnType, '(') > 0)
{
- return StrUtil.subBefore(columnType, "(",false);
+ return StringUtils.subBefore(columnType, "(",false);
}
else
{
@@ -246,9 +246,9 @@
*/
public static Integer getColumnLength(String columnType)
{
- if (StrUtil.indexOf(columnType, '(') > 0)
+ if (StringUtils.indexOf(columnType, '(') > 0)
{
- String length = StrUtil.subBetween(columnType, "(", ")");
+ String length = StringUtils.subBetween(columnType, "(", ")");
return Integer.valueOf(length);
}
else
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
index b2125e0..59438e6 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
@@ -2,7 +2,7 @@
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.constant.GenConstants;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.JsonUtils;
@@ -47,11 +47,11 @@
VelocityContext velocityContext = new VelocityContext();
velocityContext.put("tplCategory", genTable.getTplCategory());
velocityContext.put("tableName", genTable.getTableName());
- velocityContext.put("functionName", StrUtil.isNotEmpty(functionName) ? functionName : "銆愯濉啓鍔熻兘鍚嶇О銆�");
+ velocityContext.put("functionName", StringUtils.isNotEmpty(functionName) ? functionName : "銆愯濉啓鍔熻兘鍚嶇О銆�");
velocityContext.put("ClassName", genTable.getClassName());
- velocityContext.put("className", StrUtil.lowerFirst(genTable.getClassName()));
+ velocityContext.put("className", StringUtils.lowerFirst(genTable.getClassName()));
velocityContext.put("moduleName", genTable.getModuleName());
- velocityContext.put("BusinessName", StrUtil.upperFirst(genTable.getBusinessName()));
+ velocityContext.put("BusinessName", StringUtils.upperFirst(genTable.getBusinessName()));
velocityContext.put("businessName", genTable.getBusinessName());
velocityContext.put("basePackage", getPackagePrefix(packageName));
velocityContext.put("packageName", packageName);
@@ -110,15 +110,15 @@
String subTableName = genTable.getSubTableName();
String subTableFkName = genTable.getSubTableFkName();
String subClassName = genTable.getSubTable().getClassName();
- String subTableFkClassName = StrUtil.toCamelCase(subTableFkName);
+ String subTableFkClassName = StringUtils.toCamelCase(subTableFkName);
context.put("subTable", subTable);
context.put("subTableName", subTableName);
context.put("subTableFkName", subTableFkName);
context.put("subTableFkClassName", subTableFkClassName);
- context.put("subTableFkclassName", StrUtil.lowerFirst(subTableFkClassName));
+ context.put("subTableFkclassName", StringUtils.lowerFirst(subTableFkClassName));
context.put("subClassName", subClassName);
- context.put("subclassName", StrUtil.lowerFirst(subClassName));
+ context.put("subclassName", StringUtils.lowerFirst(subClassName));
context.put("subImportList", getImportList(genTable.getSubTable()));
}
@@ -172,45 +172,45 @@
// 涓氬姟鍚嶇О
String businessName = genTable.getBusinessName();
- String javaPath = PROJECT_PATH + "/" + StrUtil.replace(packageName, ".", "/");
+ String javaPath = PROJECT_PATH + "/" + StringUtils.replace(packageName, ".", "/");
String mybatisPath = MYBATIS_PATH + "/" + moduleName;
String vuePath = "vue";
if (template.contains("domain.java.vm"))
{
- fileName = StrUtil.format("{}/domain/{}.java", javaPath, className);
+ fileName = StringUtils.format("{}/domain/{}.java", javaPath, className);
}
if (template.contains("vo.java.vm"))
{
- fileName = StrUtil.format("{}/domain/vo/{}Vo.java", javaPath, className);
+ fileName = StringUtils.format("{}/domain/vo/{}Vo.java", javaPath, className);
}
if (template.contains("bo.java.vm"))
{
- fileName = StrUtil.format("{}/domain/bo/{}Bo.java", javaPath, className);
+ fileName = StringUtils.format("{}/domain/bo/{}Bo.java", javaPath, className);
}
- if (template.contains("sub-domain.java.vm") && StrUtil.equals(GenConstants.TPL_SUB, genTable.getTplCategory()))
+ if (template.contains("sub-domain.java.vm") && StringUtils.equals(GenConstants.TPL_SUB, genTable.getTplCategory()))
{
- fileName = StrUtil.format("{}/domain/{}.java", javaPath, genTable.getSubTable().getClassName());
+ fileName = StringUtils.format("{}/domain/{}.java", javaPath, genTable.getSubTable().getClassName());
}
else if (template.contains("mapper.java.vm"))
{
- fileName = StrUtil.format("{}/mapper/{}Mapper.java", javaPath, className);
+ fileName = StringUtils.format("{}/mapper/{}Mapper.java", javaPath, className);
}
else if (template.contains("service.java.vm"))
{
- fileName = StrUtil.format("{}/service/I{}Service.java", javaPath, className);
+ fileName = StringUtils.format("{}/service/I{}Service.java", javaPath, className);
}
else if (template.contains("serviceImpl.java.vm"))
{
- fileName = StrUtil.format("{}/service/impl/{}ServiceImpl.java", javaPath, className);
+ fileName = StringUtils.format("{}/service/impl/{}ServiceImpl.java", javaPath, className);
}
else if (template.contains("controller.java.vm"))
{
- fileName = StrUtil.format("{}/controller/{}Controller.java", javaPath, className);
+ fileName = StringUtils.format("{}/controller/{}Controller.java", javaPath, className);
}
else if (template.contains("mapper.xml.vm"))
{
- fileName = StrUtil.format("{}/{}Mapper.xml", mybatisPath, className);
+ fileName = StringUtils.format("{}/{}Mapper.xml", mybatisPath, className);
}
else if (template.contains("sql.vm"))
{
@@ -218,15 +218,15 @@
}
else if (template.contains("api.js.vm"))
{
- fileName = StrUtil.format("{}/api/{}/{}.js", vuePath, moduleName, businessName);
+ fileName = StringUtils.format("{}/api/{}/{}.js", vuePath, moduleName, businessName);
}
else if (template.contains("index.vue.vm"))
{
- fileName = StrUtil.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName);
+ fileName = StringUtils.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName);
}
else if (template.contains("index-tree.vue.vm"))
{
- fileName = StrUtil.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName);
+ fileName = StringUtils.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName);
}
return fileName;
}
@@ -240,7 +240,7 @@
public static String getPackagePrefix(String packageName)
{
int lastIndex = packageName.lastIndexOf(".");
- String basePackage = StrUtil.sub(packageName, 0, lastIndex);
+ String basePackage = StringUtils.sub(packageName, 0, lastIndex);
return basePackage;
}
@@ -283,7 +283,7 @@
*/
public static String getPermissionPrefix(String moduleName, String businessName)
{
- return StrUtil.format("{}:{}", moduleName, businessName);
+ return StringUtils.format("{}:{}", moduleName, businessName);
}
/**
@@ -295,7 +295,7 @@
public static String getParentMenuId(Map<String, Object> paramsObj)
{
if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID)
- && StrUtil.isNotEmpty(paramsObj.getString(GenConstants.PARENT_MENU_ID)))
+ && StringUtils.isNotEmpty(Convert.toStr(paramsObj.get(GenConstants.PARENT_MENU_ID))))
{
return Convert.toStr(paramsObj.get(GenConstants.PARENT_MENU_ID));
}
@@ -312,9 +312,9 @@
{
if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_CODE))
{
- return StrUtil.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_CODE)));
+ return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_CODE)));
}
- return StrUtil.EMPTY;
+ return StringUtils.EMPTY;
}
/**
@@ -327,9 +327,9 @@
{
if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_PARENT_CODE))
{
- return StrUtil.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_PARENT_CODE)));
+ return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_PARENT_CODE)));
}
- return StrUtil.EMPTY;
+ return StringUtils.EMPTY;
}
/**
@@ -342,9 +342,9 @@
{
if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_NAME))
{
- return StrUtil.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_NAME)));
+ return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_NAME)));
}
- return StrUtil.EMPTY;
+ return StringUtils.EMPTY;
}
/**
diff --git a/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm b/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm
index ec3cac6..32a9ac0 100644
--- a/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm
+++ b/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm
@@ -1,7 +1,7 @@
package ${packageName}.service.impl;
import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
#if($table.crud || $table.sub)
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.core.page.PagePlus;
@@ -61,7 +61,7 @@
#set($mpMethod=$column.queryType.toLowerCase())
#if($queryType != 'BETWEEN')
#if($javaType == 'String')
-#set($condition='StrUtil.isNotBlank(bo.get'+$AttrName+'())')
+#set($condition='StringUtils.isNotBlank(bo.get'+$AttrName+'())')
#else
#set($condition='bo.get'+$AttrName+'() != null')
#end
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java
index c757ab4..9bd0013 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java
+++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java
@@ -3,7 +3,7 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.IdUtil;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.service.ICloudStorageService;
import org.springframework.beans.factory.InitializingBean;
@@ -30,7 +30,7 @@
String uuid = IdUtil.fastSimpleUUID();
// 鏂囦欢璺緞
String path = DateUtil.format(new Date(), "yyyyMMdd") + "/" + uuid;
- if (StrUtil.isNotBlank(prefix)) {
+ if (StringUtils.isNotBlank(prefix)) {
path = prefix + "/" + path;
}
return path + suffix;
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageServiceImpl.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageServiceImpl.java
index a4b43ec..2abde1c 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageServiceImpl.java
+++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageServiceImpl.java
@@ -1,6 +1,6 @@
package com.ruoyi.oss.service.impl;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.aliyun.oss.ClientConfiguration;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.common.auth.DefaultCredentialProvider;
@@ -116,9 +116,9 @@
public String getEndpointLink() {
String endpoint = properties.getEndpoint();
StringBuilder sb = new StringBuilder(endpoint);
- if (StrUtil.containsAnyIgnoreCase(endpoint, "http://")) {
+ if (StringUtils.containsAnyIgnoreCase(endpoint, "http://")) {
sb.insert(7, properties.getBucketName() + ".");
- } else if (StrUtil.containsAnyIgnoreCase(endpoint, "https://")) {
+ } else if (StringUtils.containsAnyIgnoreCase(endpoint, "https://")) {
sb.insert(8, properties.getBucketName() + ".");
} else {
throw new OssException("Endpoint閰嶇疆閿欒");
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageServiceImpl.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageServiceImpl.java
index 70ed684..375307b 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageServiceImpl.java
+++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageServiceImpl.java
@@ -1,6 +1,6 @@
package com.ruoyi.oss.service.impl;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.enumd.CloudServiceEnumd;
import com.ruoyi.oss.enumd.PolicyType;
@@ -80,7 +80,7 @@
minioClient.putObject(PutObjectArgs.builder()
.bucket(properties.getBucketName())
.object(path)
- .contentType(StrUtil.blankToDefault(contentType, MediaType.APPLICATION_OCTET_STREAM_VALUE))
+ .contentType(StringUtils.blankToDefault(contentType, MediaType.APPLICATION_OCTET_STREAM_VALUE))
.stream(inputStream, inputStream.available(), -1)
.build());
} catch (Exception e) {
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageServiceImpl.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageServiceImpl.java
index 35f008a..523dff6 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageServiceImpl.java
+++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageServiceImpl.java
@@ -1,6 +1,6 @@
package com.ruoyi.oss.service.impl;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.qcloud.cos.COSClient;
import com.qcloud.cos.ClientConfig;
import com.qcloud.cos.auth.BasicCOSCredentials;
@@ -124,9 +124,9 @@
public String getEndpointLink() {
String endpoint = properties.getEndpoint();
StringBuilder sb = new StringBuilder(endpoint);
- if (StrUtil.containsAnyIgnoreCase(endpoint, "http://")) {
+ if (StringUtils.containsAnyIgnoreCase(endpoint, "http://")) {
sb.insert(7, properties.getBucketName() + ".");
- } else if (StrUtil.containsAnyIgnoreCase(endpoint, "https://")) {
+ } else if (StringUtils.containsAnyIgnoreCase(endpoint, "https://")) {
sb.insert(8, properties.getBucketName() + ".");
} else {
throw new OssException("Endpoint閰嶇疆閿欒");
diff --git a/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java b/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
index 5c34a5c..590ba70 100644
--- a/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
+++ b/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java
@@ -1,6 +1,6 @@
package com.ruoyi.system.service.impl;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
@@ -41,21 +41,21 @@
private LambdaQueryWrapper<SysOss> buildQueryWrapper(SysOssBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<SysOss> lqw = Wrappers.lambdaQuery();
- lqw.like(StrUtil.isNotBlank(bo.getFileName()), SysOss::getFileName, bo.getFileName());
- lqw.like(StrUtil.isNotBlank(bo.getOriginalName()), SysOss::getOriginalName, bo.getOriginalName());
- lqw.eq(StrUtil.isNotBlank(bo.getFileSuffix()), SysOss::getFileSuffix, bo.getFileSuffix());
- lqw.eq(StrUtil.isNotBlank(bo.getUrl()), SysOss::getUrl, bo.getUrl());
+ lqw.like(StringUtils.isNotBlank(bo.getFileName()), SysOss::getFileName, bo.getFileName());
+ lqw.like(StringUtils.isNotBlank(bo.getOriginalName()), SysOss::getOriginalName, bo.getOriginalName());
+ lqw.eq(StringUtils.isNotBlank(bo.getFileSuffix()), SysOss::getFileSuffix, bo.getFileSuffix());
+ lqw.eq(StringUtils.isNotBlank(bo.getUrl()), SysOss::getUrl, bo.getUrl());
lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
SysOss::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime"));
- lqw.eq(StrUtil.isNotBlank(bo.getCreateBy()), SysOss::getCreateBy, bo.getCreateBy());
- lqw.eq(StrUtil.isNotBlank(bo.getService()), SysOss::getService, bo.getService());
+ lqw.eq(StringUtils.isNotBlank(bo.getCreateBy()), SysOss::getCreateBy, bo.getCreateBy());
+ lqw.eq(StringUtils.isNotBlank(bo.getService()), SysOss::getService, bo.getService());
return lqw;
}
@Override
public SysOss upload(MultipartFile file) {
String originalfileName = file.getOriginalFilename();
- String suffix = StrUtil.sub(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
+ String suffix = StringUtils.sub(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
ICloudStorageService storage = OssFactory.instance();
UploadResult uploadResult;
try {
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
index aedc7c4..b45acbc 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
@@ -1,6 +1,6 @@
package com.ruoyi.quartz.controller;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.controller.BaseController;
@@ -77,11 +77,11 @@
{
return error("鏂板浠诲姟'" + job.getJobName() + "'澶辫触锛孋ron琛ㄨ揪寮忎笉姝g‘");
}
- else if (StrUtil.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_RMI))
+ else if (StringUtils.containsIgnoreCase(job.getInvokeTarget(), Constants.LOOKUP_RMI))
{
return error("鏂板浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'rmi://'璋冪敤");
}
- else if (StrUtil.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS }))
+ else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS }))
{
return error("鏂板浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'http(s)//'璋冪敤");
}
@@ -105,7 +105,7 @@
{
return error("淇敼浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'rmi://'璋冪敤");
}
- else if (StrUtil.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS }))
+ else if (StringUtils.containsAnyIgnoreCase(job.getInvokeTarget(), new String[] { Constants.HTTP, Constants.HTTPS }))
{
return error("淇敼浠诲姟'" + job.getJobName() + "'澶辫触锛岀洰鏍囧瓧绗︿覆涓嶅厑璁�'http(s)//'璋冪敤");
}
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java
index b1c8941..26b8628 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java
@@ -1,6 +1,6 @@
package com.ruoyi.quartz.domain;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
@@ -125,7 +125,7 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
public Date getNextValidTime() {
- if (StrUtil.isNotEmpty(cronExpression)) {
+ if (StringUtils.isNotEmpty(cronExpression)) {
return CronUtils.getNextExecution(cronExpression);
}
return null;
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java
index f9f58b6..578f6a9 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobLogServiceImpl.java
@@ -1,7 +1,7 @@
package com.ruoyi.quartz.service.impl;
import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
@@ -27,10 +27,10 @@
public TableDataInfo<SysJobLog> selectPageJobLogList(SysJobLog jobLog) {
Map<String, Object> params = jobLog.getParams();
LambdaQueryWrapper<SysJobLog> lqw = new LambdaQueryWrapper<SysJobLog>()
- .like(StrUtil.isNotBlank(jobLog.getJobName()), SysJobLog::getJobName, jobLog.getJobName())
- .eq(StrUtil.isNotBlank(jobLog.getJobGroup()), SysJobLog::getJobGroup, jobLog.getJobGroup())
- .eq(StrUtil.isNotBlank(jobLog.getStatus()), SysJobLog::getStatus, jobLog.getStatus())
- .like(StrUtil.isNotBlank(jobLog.getInvokeTarget()), SysJobLog::getInvokeTarget, jobLog.getInvokeTarget())
+ .like(StringUtils.isNotBlank(jobLog.getJobName()), SysJobLog::getJobName, jobLog.getJobName())
+ .eq(StringUtils.isNotBlank(jobLog.getJobGroup()), SysJobLog::getJobGroup, jobLog.getJobGroup())
+ .eq(StringUtils.isNotBlank(jobLog.getStatus()), SysJobLog::getStatus, jobLog.getStatus())
+ .like(StringUtils.isNotBlank(jobLog.getInvokeTarget()), SysJobLog::getInvokeTarget, jobLog.getInvokeTarget())
.apply(Validator.isNotEmpty(params.get("beginTime")),
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
params.get("beginTime"))
@@ -50,10 +50,10 @@
public List<SysJobLog> selectJobLogList(SysJobLog jobLog) {
Map<String, Object> params = jobLog.getParams();
return list(new LambdaQueryWrapper<SysJobLog>()
- .like(StrUtil.isNotBlank(jobLog.getJobName()), SysJobLog::getJobName, jobLog.getJobName())
- .eq(StrUtil.isNotBlank(jobLog.getJobGroup()), SysJobLog::getJobGroup, jobLog.getJobGroup())
- .eq(StrUtil.isNotBlank(jobLog.getStatus()), SysJobLog::getStatus, jobLog.getStatus())
- .like(StrUtil.isNotBlank(jobLog.getInvokeTarget()), SysJobLog::getInvokeTarget, jobLog.getInvokeTarget())
+ .like(StringUtils.isNotBlank(jobLog.getJobName()), SysJobLog::getJobName, jobLog.getJobName())
+ .eq(StringUtils.isNotBlank(jobLog.getJobGroup()), SysJobLog::getJobGroup, jobLog.getJobGroup())
+ .eq(StringUtils.isNotBlank(jobLog.getStatus()), SysJobLog::getStatus, jobLog.getStatus())
+ .like(StringUtils.isNotBlank(jobLog.getInvokeTarget()), SysJobLog::getInvokeTarget, jobLog.getInvokeTarget())
.apply(Validator.isNotEmpty(params.get("beginTime")),
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
params.get("beginTime"))
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java
index b8ec256..835f975 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java
@@ -1,6 +1,6 @@
package com.ruoyi.quartz.service.impl;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.constant.ScheduleConstants;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
@@ -48,10 +48,10 @@
@Override
public TableDataInfo<SysJob> selectPageJobList(SysJob job) {
LambdaQueryWrapper<SysJob> lqw = new LambdaQueryWrapper<SysJob>()
- .like(StrUtil.isNotBlank(job.getJobName()), SysJob::getJobName, job.getJobName())
- .eq(StrUtil.isNotBlank(job.getJobGroup()), SysJob::getJobGroup, job.getJobGroup())
- .eq(StrUtil.isNotBlank(job.getStatus()), SysJob::getStatus, job.getStatus())
- .like(StrUtil.isNotBlank(job.getInvokeTarget()), SysJob::getInvokeTarget, job.getInvokeTarget());
+ .like(StringUtils.isNotBlank(job.getJobName()), SysJob::getJobName, job.getJobName())
+ .eq(StringUtils.isNotBlank(job.getJobGroup()), SysJob::getJobGroup, job.getJobGroup())
+ .eq(StringUtils.isNotBlank(job.getStatus()), SysJob::getStatus, job.getStatus())
+ .like(StringUtils.isNotBlank(job.getInvokeTarget()), SysJob::getInvokeTarget, job.getInvokeTarget());
return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw));
}
@@ -64,10 +64,10 @@
@Override
public List<SysJob> selectJobList(SysJob job) {
return list(new LambdaQueryWrapper<SysJob>()
- .like(StrUtil.isNotBlank(job.getJobName()), SysJob::getJobName, job.getJobName())
- .eq(StrUtil.isNotBlank(job.getJobGroup()), SysJob::getJobGroup, job.getJobGroup())
- .eq(StrUtil.isNotBlank(job.getStatus()), SysJob::getStatus, job.getStatus())
- .like(StrUtil.isNotBlank(job.getInvokeTarget()), SysJob::getInvokeTarget, job.getInvokeTarget()));
+ .like(StringUtils.isNotBlank(job.getJobName()), SysJob::getJobName, job.getJobName())
+ .eq(StringUtils.isNotBlank(job.getJobGroup()), SysJob::getJobGroup, job.getJobGroup())
+ .eq(StringUtils.isNotBlank(job.getStatus()), SysJob::getStatus, job.getStatus())
+ .like(StringUtils.isNotBlank(job.getInvokeTarget()), SysJob::getInvokeTarget, job.getInvokeTarget()));
}
/**
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index 7f88a58..e5bfcb7 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -1,29 +1,29 @@
-package com.ruoyi.quartz.task;
-
-import cn.hutool.core.lang.Console;
-import cn.hutool.core.util.StrUtil;
-import org.springframework.stereotype.Component;
-
-/**
- * 瀹氭椂浠诲姟璋冨害娴嬭瘯
- *
- * @author ruoyi
- */
-@Component("ryTask")
-public class RyTask
-{
- public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
- {
- Console.log(StrUtil.format("鎵ц澶氬弬鏂规硶锛� 瀛楃涓茬被鍨媨}锛屽竷灏旂被鍨媨}锛岄暱鏁村瀷{}锛屾诞鐐瑰瀷{}锛屾暣褰}", s, b, l, d, i));
- }
-
- public void ryParams(String params)
- {
- Console.log("鎵ц鏈夊弬鏂规硶锛�" + params);
- }
-
- public void ryNoParams()
- {
- Console.log("鎵ц鏃犲弬鏂规硶");
- }
-}
+package com.ruoyi.quartz.task;
+
+import cn.hutool.core.lang.Console;
+import com.ruoyi.common.utils.StringUtils;
+import org.springframework.stereotype.Component;
+
+/**
+ * 瀹氭椂浠诲姟璋冨害娴嬭瘯
+ *
+ * @author ruoyi
+ */
+@Component("ryTask")
+public class RyTask
+{
+ public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
+ {
+ Console.log(StringUtils.format("鎵ц澶氬弬鏂规硶锛� 瀛楃涓茬被鍨媨}锛屽竷灏旂被鍨媨}锛岄暱鏁村瀷{}锛屾诞鐐瑰瀷{}锛屾暣褰}", s, b, l, d, i));
+ }
+
+ public void ryParams(String params)
+ {
+ Console.log("鎵ц鏈夊弬鏂规硶锛�" + params);
+ }
+
+ public void ryNoParams()
+ {
+ Console.log("鎵ц鏃犲弬鏂规硶");
+ }
+}
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/AbstractQuartzJob.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/AbstractQuartzJob.java
index ed4584e..c780b06 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/AbstractQuartzJob.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/AbstractQuartzJob.java
@@ -1,109 +1,109 @@
-package com.ruoyi.quartz.util;
-
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.exceptions.ExceptionUtil;
-import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
-import com.ruoyi.common.constant.Constants;
-import com.ruoyi.common.constant.ScheduleConstants;
-import com.ruoyi.common.utils.spring.SpringUtils;
-import com.ruoyi.quartz.domain.SysJob;
-import com.ruoyi.quartz.domain.SysJobLog;
-import com.ruoyi.quartz.service.ISysJobLogService;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.Date;
-
-/**
- * 鎶借薄quartz璋冪敤
- *
- * @author ruoyi
- */
-public abstract class AbstractQuartzJob implements Job
-{
- private static final Logger log = LoggerFactory.getLogger(AbstractQuartzJob.class);
-
- /**
- * 绾跨▼鏈湴鍙橀噺
- */
- private static ThreadLocal<Date> threadLocal = new ThreadLocal<>();
-
- @Override
- public void execute(JobExecutionContext context) throws JobExecutionException
- {
- SysJob sysJob = new SysJob();
- BeanUtil.copyProperties(context.getMergedJobDataMap().get(ScheduleConstants.TASK_PROPERTIES),sysJob);
- try
- {
- before(context, sysJob);
- if (Validator.isNotNull(sysJob))
- {
- doExecute(context, sysJob);
- }
- after(context, sysJob, null);
- }
- catch (Exception e)
- {
- log.error("浠诲姟鎵ц寮傚父 - 锛�", e);
- after(context, sysJob, e);
- }
- }
-
- /**
- * 鎵ц鍓�
- *
- * @param context 宸ヤ綔鎵ц涓婁笅鏂囧璞�
- * @param sysJob 绯荤粺璁″垝浠诲姟
- */
- protected void before(JobExecutionContext context, SysJob sysJob)
- {
- threadLocal.set(new Date());
- }
-
- /**
- * 鎵ц鍚�
- *
- * @param context 宸ヤ綔鎵ц涓婁笅鏂囧璞�
- * @param sysJob 绯荤粺璁″垝浠诲姟
- */
- protected void after(JobExecutionContext context, SysJob sysJob, Exception e)
- {
- Date startTime = threadLocal.get();
- threadLocal.remove();
-
- final SysJobLog sysJobLog = new SysJobLog();
- sysJobLog.setJobName(sysJob.getJobName());
- sysJobLog.setJobGroup(sysJob.getJobGroup());
- sysJobLog.setInvokeTarget(sysJob.getInvokeTarget());
- sysJobLog.setStartTime(startTime);
- sysJobLog.setStopTime(new Date());
- long runMs = sysJobLog.getStopTime().getTime() - sysJobLog.getStartTime().getTime();
- sysJobLog.setJobMessage(sysJobLog.getJobName() + " 鎬诲叡鑰楁椂锛�" + runMs + "姣");
- if (e != null)
- {
- sysJobLog.setStatus(Constants.FAIL);
- String errorMsg = StrUtil.sub(ExceptionUtil.stacktraceToString(e), 0, 2000);
- sysJobLog.setExceptionInfo(errorMsg);
- }
- else
- {
- sysJobLog.setStatus(Constants.SUCCESS);
- }
-
- // 鍐欏叆鏁版嵁搴撳綋涓�
- SpringUtils.getBean(ISysJobLogService.class).addJobLog(sysJobLog);
- }
-
- /**
- * 鎵ц鏂规硶锛岀敱瀛愮被閲嶈浇
- *
- * @param context 宸ヤ綔鎵ц涓婁笅鏂囧璞�
- * @param sysJob 绯荤粺璁″垝浠诲姟
- * @throws Exception 鎵ц杩囩▼涓殑寮傚父
- */
- protected abstract void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception;
-}
+package com.ruoyi.quartz.util;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.exceptions.ExceptionUtil;
+import cn.hutool.core.lang.Validator;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.constant.ScheduleConstants;
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.quartz.domain.SysJob;
+import com.ruoyi.quartz.domain.SysJobLog;
+import com.ruoyi.quartz.service.ISysJobLogService;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Date;
+
+/**
+ * 鎶借薄quartz璋冪敤
+ *
+ * @author ruoyi
+ */
+public abstract class AbstractQuartzJob implements Job
+{
+ private static final Logger log = LoggerFactory.getLogger(AbstractQuartzJob.class);
+
+ /**
+ * 绾跨▼鏈湴鍙橀噺
+ */
+ private static ThreadLocal<Date> threadLocal = new ThreadLocal<>();
+
+ @Override
+ public void execute(JobExecutionContext context) throws JobExecutionException
+ {
+ SysJob sysJob = new SysJob();
+ BeanUtil.copyProperties(context.getMergedJobDataMap().get(ScheduleConstants.TASK_PROPERTIES),sysJob);
+ try
+ {
+ before(context, sysJob);
+ if (Validator.isNotNull(sysJob))
+ {
+ doExecute(context, sysJob);
+ }
+ after(context, sysJob, null);
+ }
+ catch (Exception e)
+ {
+ log.error("浠诲姟鎵ц寮傚父 - 锛�", e);
+ after(context, sysJob, e);
+ }
+ }
+
+ /**
+ * 鎵ц鍓�
+ *
+ * @param context 宸ヤ綔鎵ц涓婁笅鏂囧璞�
+ * @param sysJob 绯荤粺璁″垝浠诲姟
+ */
+ protected void before(JobExecutionContext context, SysJob sysJob)
+ {
+ threadLocal.set(new Date());
+ }
+
+ /**
+ * 鎵ц鍚�
+ *
+ * @param context 宸ヤ綔鎵ц涓婁笅鏂囧璞�
+ * @param sysJob 绯荤粺璁″垝浠诲姟
+ */
+ protected void after(JobExecutionContext context, SysJob sysJob, Exception e)
+ {
+ Date startTime = threadLocal.get();
+ threadLocal.remove();
+
+ final SysJobLog sysJobLog = new SysJobLog();
+ sysJobLog.setJobName(sysJob.getJobName());
+ sysJobLog.setJobGroup(sysJob.getJobGroup());
+ sysJobLog.setInvokeTarget(sysJob.getInvokeTarget());
+ sysJobLog.setStartTime(startTime);
+ sysJobLog.setStopTime(new Date());
+ long runMs = sysJobLog.getStopTime().getTime() - sysJobLog.getStartTime().getTime();
+ sysJobLog.setJobMessage(sysJobLog.getJobName() + " 鎬诲叡鑰楁椂锛�" + runMs + "姣");
+ if (e != null)
+ {
+ sysJobLog.setStatus(Constants.FAIL);
+ String errorMsg = StringUtils.sub(ExceptionUtil.stacktraceToString(e), 0, 2000);
+ sysJobLog.setExceptionInfo(errorMsg);
+ }
+ else
+ {
+ sysJobLog.setStatus(Constants.SUCCESS);
+ }
+
+ // 鍐欏叆鏁版嵁搴撳綋涓�
+ SpringUtils.getBean(ISysJobLogService.class).addJobLog(sysJobLog);
+ }
+
+ /**
+ * 鎵ц鏂规硶锛岀敱瀛愮被閲嶈浇
+ *
+ * @param context 宸ヤ綔鎵ц涓婁笅鏂囧璞�
+ * @param sysJob 绯荤粺璁″垝浠诲姟
+ * @throws Exception 鎵ц杩囩▼涓殑寮傚父
+ */
+ protected abstract void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception;
+}
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java
index f017e1b..44eb8fd 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java
@@ -1,184 +1,184 @@
-package com.ruoyi.quartz.util;
-
-import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
-import com.ruoyi.common.utils.spring.SpringUtils;
-import com.ruoyi.quartz.domain.SysJob;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * 浠诲姟鎵ц宸ュ叿
- *
- * @author ruoyi
- */
-public class JobInvokeUtil
-{
- /**
- * 鎵ц鏂规硶
- *
- * @param sysJob 绯荤粺浠诲姟
- */
- public static void invokeMethod(SysJob sysJob) throws Exception
- {
- String invokeTarget = sysJob.getInvokeTarget();
- String beanName = getBeanName(invokeTarget);
- String methodName = getMethodName(invokeTarget);
- List<Object[]> methodParams = getMethodParams(invokeTarget);
-
- if (!isValidClassName(beanName))
- {
- Object bean = SpringUtils.getBean(beanName);
- invokeMethod(bean, methodName, methodParams);
- }
- else
- {
- Object bean = Class.forName(beanName).newInstance();
- invokeMethod(bean, methodName, methodParams);
- }
- }
-
- /**
- * 璋冪敤浠诲姟鏂规硶
- *
- * @param bean 鐩爣瀵硅薄
- * @param methodName 鏂规硶鍚嶇О
- * @param methodParams 鏂规硶鍙傛暟
- */
- private static void invokeMethod(Object bean, String methodName, List<Object[]> methodParams)
- throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException,
- InvocationTargetException
- {
- if (Validator.isNotNull(methodParams) && methodParams.size() > 0)
- {
- Method method = bean.getClass().getDeclaredMethod(methodName, getMethodParamsType(methodParams));
- method.invoke(bean, getMethodParamsValue(methodParams));
- }
- else
- {
- Method method = bean.getClass().getDeclaredMethod(methodName);
- method.invoke(bean);
- }
- }
-
- /**
- * 鏍¢獙鏄惁涓轰负class鍖呭悕
- *
- * @param str 鍚嶇О
- * @return true鏄� false鍚�
- */
- public static boolean isValidClassName(String invokeTarget)
- {
- return StrUtil.count(invokeTarget, ".") > 1;
- }
-
- /**
- * 鑾峰彇bean鍚嶇О
- *
- * @param invokeTarget 鐩爣瀛楃涓�
- * @return bean鍚嶇О
- */
- public static String getBeanName(String invokeTarget)
- {
- String beanName = StrUtil.subBefore(invokeTarget, "(",false);
- return StrUtil.subBefore(beanName, ".",true);
- }
-
- /**
- * 鑾峰彇bean鏂规硶
- *
- * @param invokeTarget 鐩爣瀛楃涓�
- * @return method鏂规硶
- */
- public static String getMethodName(String invokeTarget)
- {
- String methodName = StrUtil.subBefore(invokeTarget, "(",false);
- return StrUtil.subAfter(methodName, ".",true);
- }
-
- /**
- * 鑾峰彇method鏂规硶鍙傛暟鐩稿叧鍒楄〃
- *
- * @param invokeTarget 鐩爣瀛楃涓�
- * @return method鏂规硶鐩稿叧鍙傛暟鍒楄〃
- */
- public static List<Object[]> getMethodParams(String invokeTarget)
- {
- String methodStr = StrUtil.subBetween(invokeTarget, "(", ")");
- if (StrUtil.isEmpty(methodStr))
- {
- return null;
- }
- String[] methodParams = methodStr.split(",");
- List<Object[]> classs = new LinkedList<>();
- for (int i = 0; i < methodParams.length; i++)
- {
- String str = StrUtil.trimToEmpty(methodParams[i]);
- // String瀛楃涓茬被鍨嬶紝鍖呭惈'
- if (StrUtil.contains(str, "'"))
- {
- classs.add(new Object[] { StrUtil.replace(str, "'", ""), String.class });
- }
- // boolean甯冨皵绫诲瀷锛岀瓑浜巘rue鎴栬�協alse
- else if (StrUtil.equals(str, "true") || StrUtil.equalsIgnoreCase(str, "false"))
- {
- classs.add(new Object[] { Boolean.valueOf(str), Boolean.class });
- }
- // long闀挎暣褰紝鍖呭惈L
- else if (StrUtil.containsIgnoreCase(str, "L"))
- {
- classs.add(new Object[] { Long.valueOf(StrUtil.replaceIgnoreCase(str, "L", "")), Long.class });
- }
- // double娴偣绫诲瀷锛屽寘鍚獶
- else if (StrUtil.containsIgnoreCase(str, "D"))
- {
- classs.add(new Object[] { Double.valueOf(StrUtil.replaceIgnoreCase(str, "D", "")), Double.class });
- }
- // 鍏朵粬绫诲瀷褰掔被涓烘暣褰�
- else
- {
- classs.add(new Object[] { Integer.valueOf(str), Integer.class });
- }
- }
- return classs;
- }
-
- /**
- * 鑾峰彇鍙傛暟绫诲瀷
- *
- * @param methodParams 鍙傛暟鐩稿叧鍒楄〃
- * @return 鍙傛暟绫诲瀷鍒楄〃
- */
- public static Class<?>[] getMethodParamsType(List<Object[]> methodParams)
- {
- Class<?>[] classs = new Class<?>[methodParams.size()];
- int index = 0;
- for (Object[] os : methodParams)
- {
- classs[index] = (Class<?>) os[1];
- index++;
- }
- return classs;
- }
-
- /**
- * 鑾峰彇鍙傛暟鍊�
- *
- * @param methodParams 鍙傛暟鐩稿叧鍒楄〃
- * @return 鍙傛暟鍊煎垪琛�
- */
- public static Object[] getMethodParamsValue(List<Object[]> methodParams)
- {
- Object[] classs = new Object[methodParams.size()];
- int index = 0;
- for (Object[] os : methodParams)
- {
- classs[index] = (Object) os[0];
- index++;
- }
- return classs;
- }
-}
+package com.ruoyi.quartz.util;
+
+import cn.hutool.core.lang.Validator;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.quartz.domain.SysJob;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * 浠诲姟鎵ц宸ュ叿
+ *
+ * @author ruoyi
+ */
+public class JobInvokeUtil
+{
+ /**
+ * 鎵ц鏂规硶
+ *
+ * @param sysJob 绯荤粺浠诲姟
+ */
+ public static void invokeMethod(SysJob sysJob) throws Exception
+ {
+ String invokeTarget = sysJob.getInvokeTarget();
+ String beanName = getBeanName(invokeTarget);
+ String methodName = getMethodName(invokeTarget);
+ List<Object[]> methodParams = getMethodParams(invokeTarget);
+
+ if (!isValidClassName(beanName))
+ {
+ Object bean = SpringUtils.getBean(beanName);
+ invokeMethod(bean, methodName, methodParams);
+ }
+ else
+ {
+ Object bean = Class.forName(beanName).newInstance();
+ invokeMethod(bean, methodName, methodParams);
+ }
+ }
+
+ /**
+ * 璋冪敤浠诲姟鏂规硶
+ *
+ * @param bean 鐩爣瀵硅薄
+ * @param methodName 鏂规硶鍚嶇О
+ * @param methodParams 鏂规硶鍙傛暟
+ */
+ private static void invokeMethod(Object bean, String methodName, List<Object[]> methodParams)
+ throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException,
+ InvocationTargetException
+ {
+ if (Validator.isNotNull(methodParams) && methodParams.size() > 0)
+ {
+ Method method = bean.getClass().getDeclaredMethod(methodName, getMethodParamsType(methodParams));
+ method.invoke(bean, getMethodParamsValue(methodParams));
+ }
+ else
+ {
+ Method method = bean.getClass().getDeclaredMethod(methodName);
+ method.invoke(bean);
+ }
+ }
+
+ /**
+ * 鏍¢獙鏄惁涓轰负class鍖呭悕
+ *
+ * @param str 鍚嶇О
+ * @return true鏄� false鍚�
+ */
+ public static boolean isValidClassName(String invokeTarget)
+ {
+ return StringUtils.count(invokeTarget, ".") > 1;
+ }
+
+ /**
+ * 鑾峰彇bean鍚嶇О
+ *
+ * @param invokeTarget 鐩爣瀛楃涓�
+ * @return bean鍚嶇О
+ */
+ public static String getBeanName(String invokeTarget)
+ {
+ String beanName = StringUtils.subBefore(invokeTarget, "(",false);
+ return StringUtils.subBefore(beanName, ".",true);
+ }
+
+ /**
+ * 鑾峰彇bean鏂规硶
+ *
+ * @param invokeTarget 鐩爣瀛楃涓�
+ * @return method鏂规硶
+ */
+ public static String getMethodName(String invokeTarget)
+ {
+ String methodName = StringUtils.subBefore(invokeTarget, "(",false);
+ return StringUtils.subAfter(methodName, ".",true);
+ }
+
+ /**
+ * 鑾峰彇method鏂规硶鍙傛暟鐩稿叧鍒楄〃
+ *
+ * @param invokeTarget 鐩爣瀛楃涓�
+ * @return method鏂规硶鐩稿叧鍙傛暟鍒楄〃
+ */
+ public static List<Object[]> getMethodParams(String invokeTarget)
+ {
+ String methodStr = StringUtils.subBetween(invokeTarget, "(", ")");
+ if (StringUtils.isEmpty(methodStr))
+ {
+ return null;
+ }
+ String[] methodParams = methodStr.split(",");
+ List<Object[]> classs = new LinkedList<>();
+ for (int i = 0; i < methodParams.length; i++)
+ {
+ String str = StringUtils.trimToEmpty(methodParams[i]);
+ // String瀛楃涓茬被鍨嬶紝鍖呭惈'
+ if (StringUtils.contains(str, "'"))
+ {
+ classs.add(new Object[] { StringUtils.replace(str, "'", ""), String.class });
+ }
+ // boolean甯冨皵绫诲瀷锛岀瓑浜巘rue鎴栬�協alse
+ else if (StringUtils.equals(str, "true") || StringUtils.equalsIgnoreCase(str, "false"))
+ {
+ classs.add(new Object[] { Boolean.valueOf(str), Boolean.class });
+ }
+ // long闀挎暣褰紝鍖呭惈L
+ else if (StringUtils.containsIgnoreCase(str, "L"))
+ {
+ classs.add(new Object[] { Long.valueOf(StringUtils.replaceIgnoreCase(str, "L", "")), Long.class });
+ }
+ // double娴偣绫诲瀷锛屽寘鍚獶
+ else if (StringUtils.containsIgnoreCase(str, "D"))
+ {
+ classs.add(new Object[] { Double.valueOf(StringUtils.replaceIgnoreCase(str, "D", "")), Double.class });
+ }
+ // 鍏朵粬绫诲瀷褰掔被涓烘暣褰�
+ else
+ {
+ classs.add(new Object[] { Integer.valueOf(str), Integer.class });
+ }
+ }
+ return classs;
+ }
+
+ /**
+ * 鑾峰彇鍙傛暟绫诲瀷
+ *
+ * @param methodParams 鍙傛暟鐩稿叧鍒楄〃
+ * @return 鍙傛暟绫诲瀷鍒楄〃
+ */
+ public static Class<?>[] getMethodParamsType(List<Object[]> methodParams)
+ {
+ Class<?>[] classs = new Class<?>[methodParams.size()];
+ int index = 0;
+ for (Object[] os : methodParams)
+ {
+ classs[index] = (Class<?>) os[1];
+ index++;
+ }
+ return classs;
+ }
+
+ /**
+ * 鑾峰彇鍙傛暟鍊�
+ *
+ * @param methodParams 鍙傛暟鐩稿叧鍒楄〃
+ * @return 鍙傛暟鍊煎垪琛�
+ */
+ public static Object[] getMethodParamsValue(List<Object[]> methodParams)
+ {
+ Object[] classs = new Object[methodParams.size()];
+ int index = 0;
+ for (Object[] os : methodParams)
+ {
+ classs[index] = (Object) os[0];
+ index++;
+ }
+ return classs;
+ }
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java
index dbe7a6e..495db54 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java
@@ -1,6 +1,6 @@
package com.ruoyi.system.domain.vo;
-import cn.hutool.core.lang.Validator;
+import com.ruoyi.common.utils.StringUtils;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@@ -56,7 +56,7 @@
this.title = title;
this.icon = icon;
this.noCache = noCache;
- if (Validator.isUrl(link)) {
+ if (StringUtils.ishttp(link)) {
this.link = link;
}
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
index 84b10db..250ccf1 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
@@ -2,7 +2,7 @@
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.constant.Constants;
@@ -48,9 +48,9 @@
public TableDataInfo<SysConfig> selectPageConfigList(SysConfig config) {
Map<String, Object> params = config.getParams();
LambdaQueryWrapper<SysConfig> lqw = new LambdaQueryWrapper<SysConfig>()
- .like(StrUtil.isNotBlank(config.getConfigName()), SysConfig::getConfigName, config.getConfigName())
- .eq(StrUtil.isNotBlank(config.getConfigType()), SysConfig::getConfigType, config.getConfigType())
- .like(StrUtil.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey())
+ .like(StringUtils.isNotBlank(config.getConfigName()), SysConfig::getConfigName, config.getConfigName())
+ .eq(StringUtils.isNotBlank(config.getConfigType()), SysConfig::getConfigType, config.getConfigType())
+ .like(StringUtils.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey())
.apply(Validator.isNotEmpty(params.get("beginTime")),
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
params.get("beginTime"))
@@ -90,7 +90,7 @@
redisCache.setCacheObject(getCacheKey(configKey), retConfig.getConfigValue());
return retConfig.getConfigValue();
}
- return StrUtil.EMPTY;
+ return StringUtils.EMPTY;
}
/**
@@ -101,7 +101,7 @@
@Override
public boolean selectCaptchaOnOff() {
String captchaOnOff = selectConfigByKey("sys.account.captchaOnOff");
- if (StrUtil.isEmpty(captchaOnOff)) {
+ if (StringUtils.isEmpty(captchaOnOff)) {
return true;
}
return Convert.toBool(captchaOnOff);
@@ -117,9 +117,9 @@
public List<SysConfig> selectConfigList(SysConfig config) {
Map<String, Object> params = config.getParams();
LambdaQueryWrapper<SysConfig> lqw = new LambdaQueryWrapper<SysConfig>()
- .like(StrUtil.isNotBlank(config.getConfigName()), SysConfig::getConfigName, config.getConfigName())
- .eq(StrUtil.isNotBlank(config.getConfigType()), SysConfig::getConfigType, config.getConfigType())
- .like(StrUtil.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey())
+ .like(StringUtils.isNotBlank(config.getConfigName()), SysConfig::getConfigName, config.getConfigName())
+ .eq(StringUtils.isNotBlank(config.getConfigType()), SysConfig::getConfigType, config.getConfigType())
+ .like(StringUtils.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey())
.apply(Validator.isNotEmpty(params.get("beginTime")),
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
params.get("beginTime"))
@@ -169,7 +169,7 @@
public void deleteConfigByIds(Long[] configIds) {
for (Long configId : configIds) {
SysConfig config = selectConfigById(configId);
- if (StrUtil.equals(UserConstants.YES, config.getConfigType())) {
+ if (StringUtils.equals(UserConstants.YES, config.getConfigType())) {
throw new CustomException(String.format("鍐呯疆鍙傛暟銆�%1$s銆戜笉鑳藉垹闄� ", config.getConfigKey()));
}
redisCache.deleteObject(getCacheKey(config.getConfigKey()));
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
index 7866844..3667302 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.Validator;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.ruoyi.common.annotation.DataScope;
@@ -204,8 +205,8 @@
updateDeptChildren(dept.getDeptId(), newAncestors, oldAncestors);
}
int result = baseMapper.updateById(dept);
- if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StrUtil.isNotEmpty(dept.getAncestors())
- && !StrUtil.equals("0", dept.getAncestors())) {
+ if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StringUtils.isNotEmpty(dept.getAncestors())
+ && !StringUtils.equals("0", dept.getAncestors())) {
// 濡傛灉璇ラ儴闂ㄦ槸鍚敤鐘舵�侊紝鍒欏惎鐢ㄨ閮ㄩ棬鐨勬墍鏈変笂绾ч儴闂�
updateParentDeptStatusNormal(dept);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java
index 9ccafc0..fdd436f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java
@@ -1,6 +1,6 @@
package com.ruoyi.system.service.impl;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
@@ -24,9 +24,9 @@
@Override
public TableDataInfo<SysDictData> selectPageDictDataList(SysDictData dictData) {
LambdaQueryWrapper<SysDictData> lqw = new LambdaQueryWrapper<SysDictData>()
- .eq(StrUtil.isNotBlank(dictData.getDictType()), SysDictData::getDictType, dictData.getDictType())
- .like(StrUtil.isNotBlank(dictData.getDictLabel()), SysDictData::getDictLabel, dictData.getDictLabel())
- .eq(StrUtil.isNotBlank(dictData.getStatus()), SysDictData::getStatus, dictData.getStatus())
+ .eq(StringUtils.isNotBlank(dictData.getDictType()), SysDictData::getDictType, dictData.getDictType())
+ .like(StringUtils.isNotBlank(dictData.getDictLabel()), SysDictData::getDictLabel, dictData.getDictLabel())
+ .eq(StringUtils.isNotBlank(dictData.getStatus()), SysDictData::getStatus, dictData.getStatus())
.orderByAsc(SysDictData::getDictSort);
return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw));
}
@@ -40,9 +40,9 @@
@Override
public List<SysDictData> selectDictDataList(SysDictData dictData) {
return list(new LambdaQueryWrapper<SysDictData>()
- .eq(StrUtil.isNotBlank(dictData.getDictType()), SysDictData::getDictType, dictData.getDictType())
- .like(StrUtil.isNotBlank(dictData.getDictLabel()), SysDictData::getDictLabel, dictData.getDictLabel())
- .eq(StrUtil.isNotBlank(dictData.getStatus()), SysDictData::getStatus, dictData.getStatus())
+ .eq(StringUtils.isNotBlank(dictData.getDictType()), SysDictData::getDictType, dictData.getDictType())
+ .like(StringUtils.isNotBlank(dictData.getDictLabel()), SysDictData::getDictLabel, dictData.getDictLabel())
+ .eq(StringUtils.isNotBlank(dictData.getStatus()), SysDictData::getStatus, dictData.getStatus())
.orderByAsc(SysDictData::getDictSort));
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
index 7e2644f..cfd8e1f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
@@ -2,7 +2,7 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.ruoyi.common.constant.UserConstants;
@@ -48,9 +48,9 @@
public TableDataInfo<SysDictType> selectPageDictTypeList(SysDictType dictType) {
Map<String, Object> params = dictType.getParams();
LambdaQueryWrapper<SysDictType> lqw = new LambdaQueryWrapper<SysDictType>()
- .like(StrUtil.isNotBlank(dictType.getDictName()), SysDictType::getDictName, dictType.getDictName())
- .eq(StrUtil.isNotBlank(dictType.getStatus()), SysDictType::getStatus, dictType.getStatus())
- .like(StrUtil.isNotBlank(dictType.getDictType()), SysDictType::getDictType, dictType.getDictType())
+ .like(StringUtils.isNotBlank(dictType.getDictName()), SysDictType::getDictName, dictType.getDictName())
+ .eq(StringUtils.isNotBlank(dictType.getStatus()), SysDictType::getStatus, dictType.getStatus())
+ .like(StringUtils.isNotBlank(dictType.getDictType()), SysDictType::getDictType, dictType.getDictType())
.apply(Validator.isNotEmpty(params.get("beginTime")),
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
params.get("beginTime"))
@@ -70,9 +70,9 @@
public List<SysDictType> selectDictTypeList(SysDictType dictType) {
Map<String, Object> params = dictType.getParams();
return list(new LambdaQueryWrapper<SysDictType>()
- .like(StrUtil.isNotBlank(dictType.getDictName()), SysDictType::getDictName, dictType.getDictName())
- .eq(StrUtil.isNotBlank(dictType.getStatus()), SysDictType::getStatus, dictType.getStatus())
- .like(StrUtil.isNotBlank(dictType.getDictType()), SysDictType::getDictType, dictType.getDictType())
+ .like(StringUtils.isNotBlank(dictType.getDictName()), SysDictType::getDictName, dictType.getDictName())
+ .eq(StringUtils.isNotBlank(dictType.getStatus()), SysDictType::getStatus, dictType.getStatus())
+ .like(StringUtils.isNotBlank(dictType.getDictType()), SysDictType::getDictType, dictType.getDictType())
.apply(Validator.isNotEmpty(params.get("beginTime")),
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
params.get("beginTime"))
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java
index 45ed439..035ee5e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java
@@ -1,11 +1,11 @@
package com.ruoyi.system.service.impl;
import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SysLogininfor;
import com.ruoyi.system.mapper.SysLogininforMapper;
import com.ruoyi.system.service.ISysLogininforService;
@@ -28,9 +28,9 @@
public TableDataInfo<SysLogininfor> selectPageLogininforList(SysLogininfor logininfor) {
Map<String, Object> params = logininfor.getParams();
LambdaQueryWrapper<SysLogininfor> lqw = new LambdaQueryWrapper<SysLogininfor>()
- .like(StrUtil.isNotBlank(logininfor.getIpaddr()), SysLogininfor::getIpaddr, logininfor.getIpaddr())
- .eq(StrUtil.isNotBlank(logininfor.getStatus()), SysLogininfor::getStatus, logininfor.getStatus())
- .like(StrUtil.isNotBlank(logininfor.getUserName()), SysLogininfor::getUserName, logininfor.getUserName())
+ .like(StringUtils.isNotBlank(logininfor.getIpaddr()), SysLogininfor::getIpaddr, logininfor.getIpaddr())
+ .eq(StringUtils.isNotBlank(logininfor.getStatus()), SysLogininfor::getStatus, logininfor.getStatus())
+ .like(StringUtils.isNotBlank(logininfor.getUserName()), SysLogininfor::getUserName, logininfor.getUserName())
.apply(Validator.isNotEmpty(params.get("beginTime")),
"date_format(login_time,'%y%m%d') >= date_format({0},'%y%m%d')",
params.get("beginTime"))
@@ -61,9 +61,9 @@
public List<SysLogininfor> selectLogininforList(SysLogininfor logininfor) {
Map<String, Object> params = logininfor.getParams();
return list(new LambdaQueryWrapper<SysLogininfor>()
- .like(StrUtil.isNotBlank(logininfor.getIpaddr()),SysLogininfor::getIpaddr,logininfor.getIpaddr())
- .eq(StrUtil.isNotBlank(logininfor.getStatus()),SysLogininfor::getStatus,logininfor.getStatus())
- .like(StrUtil.isNotBlank(logininfor.getUserName()),SysLogininfor::getUserName,logininfor.getUserName())
+ .like(StringUtils.isNotBlank(logininfor.getIpaddr()),SysLogininfor::getIpaddr,logininfor.getIpaddr())
+ .eq(StringUtils.isNotBlank(logininfor.getStatus()),SysLogininfor::getStatus,logininfor.getStatus())
+ .like(StringUtils.isNotBlank(logininfor.getUserName()),SysLogininfor::getUserName,logininfor.getUserName())
.apply(Validator.isNotEmpty(params.get("beginTime")),
"date_format(login_time,'%y%m%d') >= date_format({0},'%y%m%d')",
params.get("beginTime"))
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
index 13d283b..3d31396 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
@@ -1,7 +1,7 @@
package com.ruoyi.system.service.impl;
import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constant.UserConstants;
@@ -18,7 +18,6 @@
import com.ruoyi.system.mapper.SysRoleMapper;
import com.ruoyi.system.mapper.SysRoleMenuMapper;
import com.ruoyi.system.service.ISysMenuService;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -63,9 +62,9 @@
// 绠$悊鍛樻樉绀烘墍鏈夎彍鍗曚俊鎭�
if (SysUser.isAdmin(userId)) {
menuList = list(new LambdaQueryWrapper<SysMenu>()
- .like(StrUtil.isNotBlank(menu.getMenuName()),SysMenu::getMenuName,menu.getMenuName())
- .eq(StrUtil.isNotBlank(menu.getVisible()),SysMenu::getVisible,menu.getVisible())
- .eq(StrUtil.isNotBlank(menu.getStatus()),SysMenu::getStatus,menu.getStatus())
+ .like(StringUtils.isNotBlank(menu.getMenuName()),SysMenu::getMenuName,menu.getMenuName())
+ .eq(StringUtils.isNotBlank(menu.getVisible()),SysMenu::getVisible,menu.getVisible())
+ .eq(StringUtils.isNotBlank(menu.getStatus()),SysMenu::getStatus,menu.getStatus())
.orderByAsc(SysMenu::getParentId)
.orderByAsc(SysMenu::getOrderNum));
} else {
@@ -137,7 +136,7 @@
router.setName(getRouteName(menu));
router.setPath(getRouterPath(menu));
router.setComponent(getComponent(menu));
- router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StrUtil.equals("1", menu.getIsCache()), menu.getPath()));
+ router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath()));
List<SysMenu> cMenus = menu.getChildren();
if (!cMenus.isEmpty() && UserConstants.TYPE_DIR.equals(menu.getMenuType())) {
router.setAlwaysShow(true);
@@ -149,8 +148,8 @@
RouterVo children = new RouterVo();
children.setPath(menu.getPath());
children.setComponent(menu.getComponent());
- children.setName(StrUtil.upperFirst(menu.getPath()));
- children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StrUtil.equals("1", menu.getIsCache()), menu.getPath()));
+ children.setName(StringUtils.upperFirst(menu.getPath()));
+ children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath()));
childrenList.add(children);
router.setChildren(childrenList);
} else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) {
@@ -161,7 +160,7 @@
String routerPath = StringUtils.replaceEach(menu.getPath(), new String[] { Constants.HTTP, Constants.HTTPS }, new String[] { "", "" });
children.setPath(routerPath);
children.setComponent(UserConstants.INNER_LINK);
- children.setName(StrUtil.upperFirst(routerPath));
+ children.setName(StringUtils.upperFirst(routerPath));
children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), menu.getPath()));
childrenList.add(children);
router.setChildren(childrenList);
@@ -303,10 +302,10 @@
* @return 璺敱鍚嶇О
*/
public String getRouteName(SysMenu menu) {
- String routerName = StrUtil.upperFirst(menu.getPath());
+ String routerName = StringUtils.upperFirst(menu.getPath());
// 闈炲閾惧苟涓旀槸涓�绾х洰褰曪紙绫诲瀷涓虹洰褰曪級
if (isMenuFrame(menu)) {
- routerName = StrUtil.EMPTY;
+ routerName = StringUtils.EMPTY;
}
return routerName;
}
@@ -343,11 +342,11 @@
*/
public String getComponent(SysMenu menu) {
String component = UserConstants.LAYOUT;
- if (StrUtil.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) {
+ if (StringUtils.isNotEmpty(menu.getComponent()) && !isMenuFrame(menu)) {
component = menu.getComponent();
- } else if (StrUtil.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu)) {
+ } else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu)) {
component = UserConstants.INNER_LINK;
- } else if (StrUtil.isEmpty(menu.getComponent()) && isParentView(menu)) {
+ } else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu)) {
component = UserConstants.PARENT_VIEW;
}
return component;
@@ -371,7 +370,7 @@
* @return 缁撴灉
*/
public boolean isInnerLink(SysMenu menu) {
- return menu.getIsFrame().equals(UserConstants.NO_FRAME) && Validator.isUrl(menu.getPath());
+ return menu.getIsFrame().equals(UserConstants.NO_FRAME) && StringUtils.ishttp(menu.getPath());
}
/**
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java
index 5c7f623..dd8fdbc 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysNoticeServiceImpl.java
@@ -1,6 +1,6 @@
package com.ruoyi.system.service.impl;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
@@ -24,9 +24,9 @@
@Override
public TableDataInfo<SysNotice> selectPageNoticeList(SysNotice notice) {
LambdaQueryWrapper<SysNotice> lqw = new LambdaQueryWrapper<SysNotice>()
- .like(StrUtil.isNotBlank(notice.getNoticeTitle()), SysNotice::getNoticeTitle, notice.getNoticeTitle())
- .eq(StrUtil.isNotBlank(notice.getNoticeType()), SysNotice::getNoticeType, notice.getNoticeType())
- .like(StrUtil.isNotBlank(notice.getCreateBy()), SysNotice::getCreateBy, notice.getCreateBy());
+ .like(StringUtils.isNotBlank(notice.getNoticeTitle()), SysNotice::getNoticeTitle, notice.getNoticeTitle())
+ .eq(StringUtils.isNotBlank(notice.getNoticeType()), SysNotice::getNoticeType, notice.getNoticeType())
+ .like(StringUtils.isNotBlank(notice.getCreateBy()), SysNotice::getCreateBy, notice.getCreateBy());
return PageUtils.buildDataInfo(page(PageUtils.buildPage(),lqw));
}
@@ -50,9 +50,9 @@
@Override
public List<SysNotice> selectNoticeList(SysNotice notice) {
return list(new LambdaQueryWrapper<SysNotice>()
- .like(StrUtil.isNotBlank(notice.getNoticeTitle()),SysNotice::getNoticeTitle,notice.getNoticeTitle())
- .eq(StrUtil.isNotBlank(notice.getNoticeType()),SysNotice::getNoticeType,notice.getNoticeType())
- .like(StrUtil.isNotBlank(notice.getCreateBy()),SysNotice::getCreateBy,notice.getCreateBy()));
+ .like(StringUtils.isNotBlank(notice.getNoticeTitle()),SysNotice::getNoticeTitle,notice.getNoticeTitle())
+ .eq(StringUtils.isNotBlank(notice.getNoticeType()),SysNotice::getNoticeType,notice.getNoticeType())
+ .like(StringUtils.isNotBlank(notice.getCreateBy()),SysNotice::getCreateBy,notice.getCreateBy()));
}
/**
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java
index 4fd5313..694f607 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperLogServiceImpl.java
@@ -2,7 +2,7 @@
import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.ArrayUtil;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
@@ -29,7 +29,7 @@
public TableDataInfo<SysOperLog> selectPageOperLogList(SysOperLog operLog) {
Map<String, Object> params = operLog.getParams();
LambdaQueryWrapper<SysOperLog> lqw = new LambdaQueryWrapper<SysOperLog>()
- .like(StrUtil.isNotBlank(operLog.getTitle()), SysOperLog::getTitle, operLog.getTitle())
+ .like(StringUtils.isNotBlank(operLog.getTitle()), SysOperLog::getTitle, operLog.getTitle())
.eq(operLog.getBusinessType() != null && operLog.getBusinessType() > 0,
SysOperLog::getBusinessType, operLog.getBusinessType())
.func(f -> {
@@ -39,7 +39,7 @@
})
.eq(operLog.getStatus() != null && operLog.getStatus() > 0,
SysOperLog::getStatus, operLog.getStatus())
- .like(StrUtil.isNotBlank(operLog.getOperName()), SysOperLog::getOperName, operLog.getOperName())
+ .like(StringUtils.isNotBlank(operLog.getOperName()), SysOperLog::getOperName, operLog.getOperName())
.apply(Validator.isNotEmpty(params.get("beginTime")),
"date_format(oper_time,'%y%m%d') >= date_format({0},'%y%m%d')",
params.get("beginTime"))
@@ -70,7 +70,7 @@
public List<SysOperLog> selectOperLogList(SysOperLog operLog) {
Map<String, Object> params = operLog.getParams();
return list(new LambdaQueryWrapper<SysOperLog>()
- .like(StrUtil.isNotBlank(operLog.getTitle()),SysOperLog::getTitle,operLog.getTitle())
+ .like(StringUtils.isNotBlank(operLog.getTitle()),SysOperLog::getTitle,operLog.getTitle())
.eq(operLog.getBusinessType() != null && operLog.getBusinessType() > 0,
SysOperLog::getBusinessType,operLog.getBusinessType())
.func(f -> {
@@ -80,7 +80,7 @@
})
.eq(operLog.getStatus() != null && operLog.getStatus() > 0,
SysOperLog::getStatus,operLog.getStatus())
- .like(StrUtil.isNotBlank(operLog.getOperName()),SysOperLog::getOperName,operLog.getOperName())
+ .like(StringUtils.isNotBlank(operLog.getOperName()),SysOperLog::getOperName,operLog.getOperName())
.apply(Validator.isNotEmpty(params.get("beginTime")),
"date_format(oper_time,'%y%m%d') >= date_format({0},'%y%m%d')",
params.get("beginTime"))
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
index 6660431..495c2e9 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
@@ -1,13 +1,13 @@
package com.ruoyi.system.service.impl;
import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.exception.CustomException;
import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.mapper.SysPostMapper;
@@ -33,9 +33,9 @@
@Override
public TableDataInfo<SysPost> selectPagePostList(SysPost post) {
LambdaQueryWrapper<SysPost> lqw = new LambdaQueryWrapper<SysPost>()
- .like(StrUtil.isNotBlank(post.getPostCode()), SysPost::getPostCode, post.getPostCode())
- .eq(StrUtil.isNotBlank(post.getStatus()), SysPost::getStatus, post.getStatus())
- .like(StrUtil.isNotBlank(post.getPostName()), SysPost::getPostName, post.getPostName());
+ .like(StringUtils.isNotBlank(post.getPostCode()), SysPost::getPostCode, post.getPostCode())
+ .eq(StringUtils.isNotBlank(post.getStatus()), SysPost::getStatus, post.getStatus())
+ .like(StringUtils.isNotBlank(post.getPostName()), SysPost::getPostName, post.getPostName());
return PageUtils.buildDataInfo(page(PageUtils.buildPage(),lqw));
}
@@ -48,9 +48,9 @@
@Override
public List<SysPost> selectPostList(SysPost post) {
return list(new LambdaQueryWrapper<SysPost>()
- .like(StrUtil.isNotBlank(post.getPostCode()), SysPost::getPostCode, post.getPostCode())
- .eq(StrUtil.isNotBlank(post.getStatus()), SysPost::getStatus, post.getStatus())
- .like(StrUtil.isNotBlank(post.getPostName()), SysPost::getPostName, post.getPostName()));
+ .like(StringUtils.isNotBlank(post.getPostCode()), SysPost::getPostCode, post.getPostCode())
+ .eq(StringUtils.isNotBlank(post.getStatus()), SysPost::getStatus, post.getStatus())
+ .like(StringUtils.isNotBlank(post.getPostName()), SysPost::getPostName, post.getPostName()));
}
/**
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java
index 1dec949..fd1384d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java
@@ -1,7 +1,7 @@
package com.ruoyi.system.service.impl;
import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.system.domain.SysUserOnline;
import com.ruoyi.system.service.ISysUserOnlineService;
@@ -23,7 +23,7 @@
*/
@Override
public SysUserOnline selectOnlineByIpaddr(String ipaddr, LoginUser user) {
- if (StrUtil.equals(ipaddr, user.getIpaddr())) {
+ if (StringUtils.equals(ipaddr, user.getIpaddr())) {
return loginUserToUserOnline(user);
}
return null;
@@ -38,7 +38,7 @@
*/
@Override
public SysUserOnline selectOnlineByUserName(String userName, LoginUser user) {
- if (StrUtil.equals(userName, user.getUsername())) {
+ if (StringUtils.equals(userName, user.getUsername())) {
return loginUserToUserOnline(user);
}
return null;
@@ -54,7 +54,7 @@
*/
@Override
public SysUserOnline selectOnlineByInfo(String ipaddr, String userName, LoginUser user) {
- if (StrUtil.equals(ipaddr, user.getIpaddr()) && StrUtil.equals(userName, user.getUsername())) {
+ if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername())) {
return loginUserToUserOnline(user);
}
return null;
diff --git a/ruoyi-ui/src/utils/ossdownload.js b/ruoyi-ui/src/utils/ossdownload.js
index 0b9cf10..6da52bb 100644
--- a/ruoyi-ui/src/utils/ossdownload.js
+++ b/ruoyi-ui/src/utils/ossdownload.js
@@ -31,9 +31,11 @@
var result = patt.exec(contentDisposition)
var fileName = result[1]
fileName = fileName.replace(/\"/g, '')
+ aLink.style.display = 'none'
aLink.href = URL.createObjectURL(blob)
aLink.setAttribute('download', decodeURI(fileName)) // 璁剧疆涓嬭浇鏂囦欢鍚嶇О
document.body.appendChild(aLink)
aLink.click()
+ URL.revokeObjectURL(aLink.href);//娓呴櫎寮曠敤
document.body.removeChild(aLink);
}
--
Gitblit v1.9.3