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 fb2fb200..210cceec 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 @@ -107,9 +107,9 @@ public class CaptchaController { private String getCodeResult(String capStr) { int numberLength = captchaProperties.getNumberLength(); - int a = Convert.toInt(StringUtils.sub(capStr, 0, numberLength).trim()); + int a = Convert.toInt(StringUtils.substring(capStr, 0, numberLength).trim()); char operator = capStr.charAt(numberLength); - int b = Convert.toInt(StringUtils.sub(capStr, numberLength + 1, numberLength + 1 + numberLength).trim()); + int b = Convert.toInt(StringUtils.substring(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 a54333ea..3e57de87 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 @@ -72,9 +72,9 @@ public class CommonController // 本地资源路径 String localPath = RuoYiConfig.getProfile(); // 数据库资源地址 - String downloadPath = localPath + StringUtils.subAfter(resource, Constants.RESOURCE_PREFIX,false); + String downloadPath = localPath + StringUtils.substringAfter(resource, Constants.RESOURCE_PREFIX); // 下载名称 - String downloadName = StringUtils.subAfter(downloadPath, "/",true); + String downloadName = StringUtils.substringAfterLast(downloadPath, "/"); 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 48e95dd3..66749ef4 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 @@ -40,8 +40,8 @@ public class CacheController commandStats.stringPropertyNames().forEach(key -> { Map data = new HashMap<>(2); String property = commandStats.getProperty(key); - data.put("name", StringUtils.removePrefix(key, "cmdstat_")); - data.put("value", StringUtils.subBetween(property, "calls=", ",usec")); + data.put("name", StringUtils.removeStart(key, "cmdstat_")); + data.put("value", StringUtils.substringBetween(property, "calls=", ",usec")); pieList.add(data); }); result.put("commandStats", pieList); 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 edcf766b..f1442cc7 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,5 @@ package com.ruoyi.web.controller.monitor; -import cn.hutool.core.lang.Validator; -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; @@ -11,6 +9,7 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.PageUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.domain.SysUserOnline; import com.ruoyi.system.service.ISysUserOnlineService; import org.springframework.beans.factory.annotation.Autowired; @@ -46,21 +45,21 @@ public class SysUserOnlineController extends BaseController for (String key : keys) { LoginUser user = redisCache.getCacheObject(key); - if (Validator.isNotEmpty(ipaddr) && Validator.isNotEmpty(userName)) + if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName)) { if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername())) { userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, user)); } } - else if (Validator.isNotEmpty(ipaddr)) + else if (StringUtils.isNotEmpty(ipaddr)) { if (StringUtils.equals(ipaddr, user.getIpaddr())) { userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, user)); } } - else if (Validator.isNotEmpty(userName) && Validator.isNotNull(user.getUser())) + else if (StringUtils.isNotEmpty(userName) && StringUtils.isNotNull(user.getUser())) { if (StringUtils.equals(userName, user.getUsername())) { 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 420ac04b..f80a532d 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 com.ruoyi.common.utils.StringUtils; +import cn.hutool.core.util.ArrayUtil; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; @@ -8,8 +8,8 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.service.ISysDeptService; -import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; @@ -56,7 +56,7 @@ public class SysDeptController extends BaseController { SysDept d = (SysDept) it.next(); if (d.getDeptId().intValue() == deptId - || ArrayUtils.contains(StringUtils.splitToArray(d.getAncestors(), ","), deptId + "")) + || ArrayUtil.contains(StringUtils.split(d.getAncestors(), ","), deptId + "")) { it.remove(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java index a272a6e9..cfafdb3d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.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.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -8,6 +7,7 @@ import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.service.ISysDictDataService; import com.ruoyi.system.service.ISysDictTypeService; @@ -68,7 +68,7 @@ public class SysDictDataController extends BaseController public AjaxResult dictType(@PathVariable String dictType) { List data = dictTypeService.selectDictDataByType(dictType); - if (Validator.isNull(data)) + if (StringUtils.isNull(data)) { data = new ArrayList(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java index 5701aa1a..cc6c37de 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.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; @@ -12,6 +11,7 @@ import com.ruoyi.common.core.page.TableDataInfo; 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.common.utils.poi.ExcelUtil; import com.ruoyi.framework.web.service.SysPermissionService; import com.ruoyi.framework.web.service.TokenService; @@ -117,7 +117,7 @@ public class SysRoleController extends BaseController { // 更新缓存用户权限 LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); - if (Validator.isNotNull(loginUser.getUser()) && !loginUser.getUser().isAdmin()) + if (StringUtils.isNotNull(loginUser.getUser()) && !loginUser.getUser().isAdmin()) { loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser())); loginUser.setUser(userService.selectUserByUserName(loginUser.getUser().getUserName())); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index a67615f3..ee104cac 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.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; @@ -12,6 +11,7 @@ import com.ruoyi.common.core.page.TableDataInfo; 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.common.utils.poi.ExcelUtil; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.service.ISysPostService; @@ -100,7 +100,7 @@ public class SysUserController extends BaseController List roles = roleService.selectRoleAll(); ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); ajax.put("posts", postService.selectPostAll()); - if (Validator.isNotNull(userId)) + if (StringUtils.isNotNull(userId)) { ajax.put("user", userService.selectUserById(userId)); ajax.put("postIds", postService.selectPostListByUserId(userId)); @@ -121,12 +121,12 @@ public class SysUserController extends BaseController { return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); } - else if (Validator.isNotEmpty(user.getPhonenumber()) + else if (StringUtils.isNotEmpty(user.getPhonenumber()) && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) { return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); } - else if (Validator.isNotEmpty(user.getEmail()) + else if (StringUtils.isNotEmpty(user.getEmail()) && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) { return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); @@ -145,12 +145,12 @@ public class SysUserController extends BaseController public AjaxResult edit(@Validated @RequestBody SysUser user) { userService.checkUserAllowed(user); - if (Validator.isNotEmpty(user.getPhonenumber()) + if (StringUtils.isNotEmpty(user.getPhonenumber()) && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) { return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); } - else if (Validator.isNotEmpty(user.getEmail()) + else if (StringUtils.isNotEmpty(user.getEmail()) && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) { return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); 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 a0db86b7..ffe614ce 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 @@ -26,7 +26,7 @@ public class RepeatableFilter implements Filter { ServletRequest requestWrapper = null; if (request instanceof HttpServletRequest - && StringUtils.startWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE)) + && StringUtils.startsWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE)) { requestWrapper = new RepeatedlyRequestWrapper((HttpServletRequest) request, response); } 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 973697b2..700a88dc 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 @@ -102,6 +102,6 @@ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper public boolean isJsonRequest() { String header = super.getHeader(HttpHeaders.CONTENT_TYPE); - return StringUtils.startWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE); + return StringUtils.startsWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE); } } 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 246df9b5..676de013 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 @@ -1,6 +1,5 @@ package com.ruoyi.common.utils; -import cn.hutool.core.lang.Validator; import cn.hutool.core.util.ArrayUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; 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 e6dc3d5d..27125ab8 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 @@ -92,7 +92,7 @@ public class PageUtils { Page page = new Page<>(pageNum, pageSize); if (StringUtils.isNotBlank(orderByColumn)) { String orderBy = SqlUtil.escapeOrderBySql(orderByColumn); - orderBy = StringUtils.toUnderlineCase(orderBy); + orderBy = StringUtils.toUnderScoreCase(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/StringUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java index ed53d868..c6371cc3 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 @@ -2,17 +2,140 @@ package com.ruoyi.common.utils; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Validator; +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.ArrayUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ReUtil; import cn.hutool.core.util.StrUtil; -import java.util.List; +import java.util.*; /** * 字符串工具类 * - * @author Lion Li + * @author ruoyi */ -public class StringUtils extends StrUtil { +public class StringUtils extends org.apache.commons.lang3.StringUtils { + + /** + * 获取参数不为空值 + * + * @param value defaultValue 要判断的value + * @return value 返回值 + */ + public static T nvl(T value, T defaultValue) { + return ObjectUtil.defaultIfNull(value, defaultValue); + } + + /** + * 获取参数不为空值 + * + * @param str defaultValue 要判断的value + * @return value 返回值 + */ + public static String blankToDefault(String str, String defaultValue) { + return StrUtil.blankToDefault(str, defaultValue); + } + + /** + * * 判断一个Collection是否为空, 包含List,Set,Queue + * + * @param coll 要判断的Collection + * @return true:为空 false:非空 + */ + public static boolean isEmpty(Collection coll) { + return CollUtil.isEmpty(coll); + } + + /** + * * 判断一个Collection是否非空,包含List,Set,Queue + * + * @param coll 要判断的Collection + * @return true:非空 false:空 + */ + public static boolean isNotEmpty(Collection coll) { + return !isEmpty(coll); + } + + /** + * * 判断一个对象数组是否为空 + * + * @param objects 要判断的对象数组 + * * @return true:为空 false:非空 + */ + public static boolean isEmpty(Object[] objects) { + return ArrayUtil.isEmpty(objects); + } + + /** + * * 判断一个对象数组是否非空 + * + * @param objects 要判断的对象数组 + * @return true:非空 false:空 + */ + public static boolean isNotEmpty(Object[] objects) { + return !isEmpty(objects); + } + + /** + * * 判断一个对象是否为空 + * + * @param object 要判断的对象数组 + * * @return true:为空 false:非空 + */ + public static boolean isEmpty(Object object) { + return ObjectUtil.isEmpty(object); + } + + /** + * * 判断一个对象是否非空 + * + * @param object 要判断的对象数组 + * @return true:非空 false:空 + */ + public static boolean isNotEmpty(Object object) { + return !isEmpty(object); + } + + /** + * * 判断一个Map是否为空 + * + * @param map 要判断的Map + * @return true:为空 false:非空 + */ + public static boolean isEmpty(Map map) { + return MapUtil.isEmpty(map); + } + + /** + * * 判断一个Map是否为空 + * + * @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 StrUtil.isEmpty(str); + } + + /** + * * 判断一个字符串是否为非空串 + * + * @param str String + * @return true:非空串 false:空串 + */ + public static boolean isNotEmpty(String str) { + return !isEmpty(str); + } /** * * 判断一个对象是否为空 @@ -21,7 +144,7 @@ public class StringUtils extends StrUtil { * @return true:为空 false:非空 */ public static boolean isNull(Object object) { - return Validator.isNull(object); + return ObjectUtil.isNull(object); } /** @@ -31,24 +154,64 @@ public class StringUtils extends StrUtil { * @return true:非空 false:空 */ public static boolean isNotNull(Object object) { - return Validator.isNotNull(object); + return !isNull(object); } /** - * 替换所有 - */ - public static String replaceEach(String text, String[] searchList, String[] replacementList) { - return org.apache.commons.lang3.StringUtils.replaceEach(text, searchList, replacementList); - } - - /** - * 验证该字符串是否是数字 + * * 判断一个对象是否是数组类型(Java基本型别的数组) * - * @param value 字符串内容 - * @return 是否是数字 + * @param object 对象 + * @return true:是数组 false:不是数组 */ - public static boolean isNumeric(CharSequence value) { - return Validator.isNumber(value); + public static boolean isArray(Object object) { + return ArrayUtil.isArray(object); + } + + /** + * 去空格 + */ + public static String trim(String str) { + return StrUtil.trim(str); + } + + /** + * 截取字符串 + * + * @param str 字符串 + * @param start 开始 + * @return 结果 + */ + public static String substring(final String str, int start) { + return substring(str, start, str.length()); + } + + /** + * 截取字符串 + * + * @param str 字符串 + * @param start 开始 + * @param end 结束 + * @return 结果 + */ + public static String substring(final String str, int start, int end) { + return StrUtil.sub(str, start, end); + } + + /** + * 格式化文本, {} 表示占位符
+ * 此方法只是简单将占位符 {} 按照顺序替换为参数
+ * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可
+ * 例:
+ * 通常使用:format("this is {} for {}", "a", "b") -> this is a for b
+ * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a
+ * 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b
+ * + * @param template 文本模板,被替换的部分用 {} 表示 + * @param params 参数值 + * @return 格式化后的文本 + */ + public static String format(String template, Object... params) { + return StrUtil.format(template, params); } /** @@ -61,6 +224,96 @@ public class StringUtils extends StrUtil { return Validator.isUrl(link); } + /** + * 字符串转set + * + * @param str 字符串 + * @param sep 分隔符 + * @return set集合 + */ + public static Set str2Set(String str, String sep) { + return new HashSet<>(str2List(str, sep, true, false)); + } + + /** + * 字符串转list + * + * @param str 字符串 + * @param sep 分隔符 + * @param filterBlank 过滤纯空白 + * @param trim 去掉首尾空白 + * @return list集合 + */ + public static List str2List(String str, String sep, boolean filterBlank, boolean trim) { + List list = new ArrayList<>(); + if (isEmpty(str)) { + return list; + } + + // 过滤空白字符串 + if (filterBlank && isBlank(str)) { + return list; + } + String[] split = str.split(sep); + for (String string : split) { + if (filterBlank && isBlank(string)) { + continue; + } + if (trim) { + string = trim(string); + } + list.add(string); + } + + return list; + } + + /** + * 查找指定字符串是否包含指定字符串列表中的任意一个字符串同时串忽略大小写 + * + * @param cs 指定字符串 + * @param searchCharSequences 需要检查的字符串数组 + * @return 是否包含任意一个字符串 + */ + public static boolean containsAnyIgnoreCase(CharSequence cs, CharSequence... searchCharSequences) { + return StrUtil.containsAnyIgnoreCase(cs, searchCharSequences); + } + + /** + * 驼峰转下划线命名 + */ + public static String toUnderScoreCase(String str) { + return StrUtil.toUnderlineCase(str); + } + + /** + * 是否包含字符串 + * + * @param str 验证字符串 + * @param strs 字符串组 + * @return 包含返回true + */ + public static boolean inStringIgnoreCase(String str, String... strs) { + return StrUtil.equalsAnyIgnoreCase(str, strs); + } + + /** + * 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如:HELLO_WORLD->HelloWorld + * + * @param name 转换前的下划线大写方式命名的字符串 + * @return 转换后的驼峰式命名的字符串 + */ + public static String convertToCamelCase(String name) { + return StrUtil.upperFirst(StrUtil.toCamelCase(name)); + } + + /** + * 驼峰式命名法 例如:user_name->userName + */ + public static String toCamelCase(String s) { + return StrUtil.toCamelCase(s); + } + /** * 查找指定字符串是否匹配指定字符串列表中的任意一个字符串 * @@ -69,14 +322,33 @@ public class StringUtils extends StrUtil { * @return 是否匹配 */ public static boolean matches(String str, List strs) { - if (isEmpty(str) || CollUtil.isEmpty(strs)) { + if (isEmpty(str) || isEmpty(strs)) { return false; } for (String pattern : strs) { - if (ReUtil.isMatch(pattern, str)) { + if (isMatch(pattern, str)) { return true; } } return false; } + + /** + * 判断url是否与规则配置: + * ? 表示单个字符; + * * 表示一层路径内的任意字符串,不可跨层级; + * ** 表示任意层路径; + * + * @param pattern 匹配规则 + * @param url 需要匹配的url + * @return + */ + public static boolean isMatch(String pattern, String url) { + return ReUtil.isMatch(pattern, url); + } + + @SuppressWarnings("unchecked") + public static T cast(Object obj) { + return (T) obj; + } } 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 32457dc9..c8ce6ec9 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 @@ -147,7 +147,7 @@ public class FileUploadUtils private static final String getPathFileName(String uploadDir, String fileName) throws IOException { int dirLastIndex = RuoYiConfig.getProfile().length() + 1; - String currentDir = StringUtils.subSuf(uploadDir, dirLastIndex); + String currentDir = StringUtils.substring(uploadDir, dirLastIndex); String pathFileName = Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName; return pathFileName; } 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 632a21e1..0d26ef15 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 @@ -83,7 +83,7 @@ public class ImageUtils { // 本机地址 String localPath = RuoYiConfig.getProfile(); - String downloadPath = localPath + StringUtils.subAfter(url, Constants.RESOURCE_PREFIX,false); + String downloadPath = localPath + StringUtils.substringAfter(url, Constants.RESOURCE_PREFIX); in = new FileInputStream(downloadPath); } return IOUtils.toByteArray(in); 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 15b7d543..e60abf2f 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 @@ -218,9 +218,9 @@ public class ExcelUtil if (String.class == fieldType) { String s = Convert.toStr(val); - if (StringUtils.endWith(s, ".0")) + if (StringUtils.endsWith(s, ".0")) { - val = StringUtils.subBefore(s, ".0",false); + val = StringUtils.substringBefore(s, ".0"); } else { @@ -715,7 +715,7 @@ public class ExcelUtil for (String item : convertSource) { String[] itemArray = item.split("="); - if (StringUtils.containsAny(propertyValue, separator)) + if (StringUtils.containsAny(separator, propertyValue)) { for (String value : propertyValue.split(separator)) { @@ -734,7 +734,7 @@ public class ExcelUtil } } } - return StringUtils.strip(propertyString.toString(), null,separator); + return StringUtils.stripEnd(propertyString.toString(), separator); } /** @@ -752,7 +752,7 @@ public class ExcelUtil for (String item : convertSource) { String[] itemArray = item.split("="); - if (StringUtils.containsAny(propertyValue, separator)) + if (StringUtils.containsAny(separator, propertyValue)) { for (String value : propertyValue.split(separator)) { @@ -771,7 +771,7 @@ public class ExcelUtil } } } - return StringUtils.strip(propertyString.toString(), null,separator); + return StringUtils.stripEnd(propertyString.toString(), separator); } /** 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 78a74b74..749f1abd 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 @@ -4,7 +4,6 @@ import cn.hutool.core.util.ReflectUtil; import com.ruoyi.common.utils.StringUtils; import java.lang.reflect.Method; -import java.util.List; /** * 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数. @@ -26,7 +25,7 @@ public class ReflectUtils extends ReflectUtil { public static E invokeGetter(Object obj, String propertyName) { Object object = obj; for (String name : StringUtils.split(propertyName, ".")) { - String getterMethodName = GETTER_PREFIX + StringUtils.upperFirst(name); + String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(name); object = invoke(object, getterMethodName); } return (E) object; @@ -38,13 +37,13 @@ public class ReflectUtils extends ReflectUtil { */ public static void invokeSetter(Object obj, String propertyName, E value) { Object object = obj; - List names = StringUtils.split(propertyName, "."); - for (int i = 0; i < names.size(); i++) { - if (i < names.size() - 1) { - String getterMethodName = GETTER_PREFIX + StringUtils.upperFirst(names.get(i)); + String[] names = StringUtils.split(propertyName, "."); + for (int i = 0; i < names.length; i++) { + if (i < names.length - 1) { + String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(names[i]); object = invoke(object, getterMethodName); } else { - String setterMethodName = SETTER_PREFIX + StringUtils.upperFirst(names.get(i)); + String setterMethodName = SETTER_PREFIX + StringUtils.capitalize(names[i]); Method method = getMethodByName(object.getClass(), setterMethodName); invoke(object, method, value); } 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 90f94d3a..773952a6 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,13 +1,12 @@ package com.ruoyi.framework.aspectj; -import cn.hutool.core.lang.Validator; -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; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.ServletUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.reflect.ReflectUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.framework.web.service.TokenService; @@ -80,10 +79,10 @@ public class DataScopeAspect { } // 获取当前的用户 LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest()); - if (Validator.isNotNull(loginUser)) { + if (StringUtils.isNotNull(loginUser)) { SysUser currentUser = loginUser.getUser(); // 如果是超级管理员,则不过滤数据 - if (Validator.isNotNull(currentUser) && !currentUser.isAdmin()) { + if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin()) { dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(), controllerDataScope.userAlias(), controllerDataScope.isUser()); } @@ -155,14 +154,14 @@ public class DataScopeAspect { */ private void clearDataScope(final JoinPoint joinPoint) { Object params = joinPoint.getArgs()[0]; - if (Validator.isNotNull(params)) { + if (StringUtils.isNotNull(params)) { putDataScope(joinPoint, ""); } } private static void putDataScope(JoinPoint joinPoint, String sql) { Object params = joinPoint.getArgs()[0]; - if (Validator.isNotNull(params)) { + if (StringUtils.isNotNull(params)) { if (params instanceof BaseEntity) { BaseEntity baseEntity = (BaseEntity) params; baseEntity.getParams().put(DATA_SCOPE, sql); diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java index f82b2ae4..47e77426 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java @@ -1,8 +1,8 @@ package com.ruoyi.framework.aspectj; -import cn.hutool.core.lang.Validator; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.utils.StringUtils; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; @@ -33,7 +33,7 @@ public class DataSourceAspect { public Object around(ProceedingJoinPoint point) throws Throwable { DataSource dataSource = getDataSource(point); - if (Validator.isNotNull(dataSource)) { + if (StringUtils.isNotNull(dataSource)) { DynamicDataSourceContextHolder.poll(); String source = dataSource.value().getSource(); DynamicDataSourceContextHolder.push(source); 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 83a3b8ff..c9025117 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,13 +1,12 @@ package com.ruoyi.framework.aspectj; -import cn.hutool.core.lang.Validator; -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; import com.ruoyi.common.enums.HttpMethod; import com.ruoyi.common.utils.JsonUtils; import com.ruoyi.common.utils.ServletUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.framework.web.service.AsyncService; import com.ruoyi.framework.web.service.TokenService; @@ -104,7 +103,7 @@ public class LogAspect if (e != null) { operLog.setStatus(BusinessStatus.FAIL.ordinal()); - operLog.setErrorMsg(StringUtils.sub(e.getMessage(), 0, 2000)); + operLog.setErrorMsg(StringUtils.substring(e.getMessage(), 0, 2000)); } // 设置方法名称 String className = joinPoint.getTarget().getClass().getName(); @@ -161,12 +160,12 @@ public class LogAspect if (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod)) { String params = argsArrayToString(joinPoint.getArgs()); - operLog.setOperParam(StringUtils.sub(params, 0, 2000)); + operLog.setOperParam(StringUtils.substring(params, 0, 2000)); } else { Map paramsMap = (Map) ServletUtils.getRequest().getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE); - operLog.setOperParam(StringUtils.sub(paramsMap.toString(), 0, 2000)); + operLog.setOperParam(StringUtils.substring(paramsMap.toString(), 0, 2000)); } } @@ -195,7 +194,7 @@ public class LogAspect if (paramsArray != null && paramsArray.length > 0) { for (Object o : paramsArray) { - if (Validator.isNotNull(o) && !isFilterObject(o)) { + if (StringUtils.isNotNull(o) && !isFilterObject(o)) { params.append(JsonUtils.toJsonString(o)).append(" "); } } 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 1103bc6d..f35afdf6 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 @@ -45,8 +45,8 @@ public class UnsignedMathGenerator implements CodeGenerator { int max = RandomUtil.randomInt(min, limit); String number1 = Integer.toString(max); String number2 = Integer.toString(min); - number1 = StringUtils.padAfter(number1, this.numberLength, CharUtil.SPACE); - number2 = StringUtils.padAfter(number2, this.numberLength, CharUtil.SPACE); + number1 = StringUtils.rightPad(number1, this.numberLength, CharUtil.SPACE); + number2 = StringUtils.rightPad(number2, this.numberLength, CharUtil.SPACE); return number1 + RandomUtil.randomChar(operators) + number2 + '='; } 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 57c92765..459020d8 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 @@ -32,7 +32,7 @@ public class FilterConfig { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setDispatcherTypes(DispatcherType.REQUEST); registration.setFilter(new XssFilter()); - registration.addUrlPatterns(StringUtils.splitToArray(xssProperties.getUrlPatterns(), ",")); + registration.addUrlPatterns(StringUtils.split(xssProperties.getUrlPatterns(), ",")); registration.setName("xssFilter"); registration.setOrder(FilterRegistrationBean.HIGHEST_PRECEDENCE); Map initParameters = new HashMap(); diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java index 8fc4e795..d9b3464e 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java @@ -2,12 +2,12 @@ package com.ruoyi.framework.interceptor.impl; import cn.hutool.core.convert.Convert; import cn.hutool.core.io.IoUtil; -import cn.hutool.core.lang.Validator; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.filter.RepeatedlyRequestWrapper; import com.ruoyi.common.utils.JsonUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.config.properties.RepeatSubmitProperties; import com.ruoyi.framework.config.properties.TokenProperties; import com.ruoyi.framework.interceptor.RepeatSubmitInterceptor; @@ -60,7 +60,7 @@ public class SameUrlDataInterceptor extends RepeatSubmitInterceptor { } // body参数为空,获取Parameter的数据 - if (Validator.isEmpty(nowParams)) { + if (StringUtils.isEmpty(nowParams)) { nowParams = JsonUtils.toJsonString(request.getParameterMap()); } Map nowDataMap = new HashMap(); @@ -72,7 +72,7 @@ public class SameUrlDataInterceptor extends RepeatSubmitInterceptor { // 唯一值(没有消息头则使用请求地址) String submitKey = request.getHeader(tokenProperties.getHeader()); - if (Validator.isEmpty(submitKey)) { + if (StringUtils.isEmpty(submitKey)) { submitKey = url; } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java index 83c0d225..20439da6 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java @@ -1,11 +1,11 @@ package com.ruoyi.framework.mybatisplus; -import cn.hutool.core.lang.Validator; import cn.hutool.http.HttpStatus; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.exception.CustomException; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.reflection.MetaObject; @@ -25,12 +25,12 @@ public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler { try { //根据属性名字设置要填充的值 if (metaObject.hasGetter("createTime")) { - if (Validator.isEmpty(metaObject.getValue("createTime"))) { + if (StringUtils.isEmpty(metaObject.getValue("createTime"))) { this.setFieldValByName("createTime", new Date(), metaObject); } } if (metaObject.hasGetter("createBy")) { - if (Validator.isEmpty(metaObject.getValue("createBy"))) { + if (StringUtils.isEmpty(metaObject.getValue("createBy"))) { this.setFieldValByName("createBy", getLoginUsername(), metaObject); } } @@ -43,12 +43,12 @@ public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler { public void updateFill(MetaObject metaObject) { try { if (metaObject.hasGetter("updateBy")) { - if (Validator.isEmpty(metaObject.getValue("updateBy"))) { + if (StringUtils.isEmpty(metaObject.getValue("updateBy"))) { this.setFieldValByName("updateBy", getLoginUsername(), metaObject); } } if (metaObject.hasGetter("updateTime")) { - if (Validator.isEmpty(metaObject.getValue("updateTime"))) { + if (StringUtils.isEmpty(metaObject.getValue("updateTime"))) { this.setFieldValByName("updateTime", new Date(), metaObject); } } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java index fb2cdaaf..188e24fd 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java @@ -1,8 +1,8 @@ package com.ruoyi.framework.security.filter; -import cn.hutool.core.lang.Validator; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.service.TokenService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -19,7 +19,7 @@ import java.io.IOException; /** * token过滤器 验证token有效性 - * + * * @author ruoyi */ @Component @@ -33,7 +33,7 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter throws ServletException, IOException { LoginUser loginUser = tokenService.getLoginUser(request); - if (Validator.isNotNull(loginUser) && Validator.isNull(SecurityUtils.getAuthentication())) + if (StringUtils.isNotNull(loginUser) && StringUtils.isNull(SecurityUtils.getAuthentication())) { tokenService.verifyToken(loginUser); UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(loginUser, null, loginUser.getAuthorities()); diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java index 2a12126a..371a6612 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java @@ -1,12 +1,12 @@ package com.ruoyi.framework.security.handle; -import cn.hutool.core.lang.Validator; import cn.hutool.http.HttpStatus; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.JsonUtils; import com.ruoyi.common.utils.ServletUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.service.AsyncService; import com.ruoyi.framework.web.service.TokenService; import org.springframework.beans.factory.annotation.Autowired; @@ -40,7 +40,7 @@ public class LogoutSuccessHandlerImpl implements LogoutSuccessHandler { public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { LoginUser loginUser = tokenService.getLoginUser(request); - if (Validator.isNotNull(loginUser)) { + if (StringUtils.isNotNull(loginUser)) { String userName = loginUser.getUsername(); // 删除用户缓存记录 tokenService.delLoginUser(loginUser.getToken()); diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java index 9614a8d5..55af0395 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java @@ -1,11 +1,11 @@ package com.ruoyi.framework.web.exception; -import cn.hutool.core.lang.Validator; import cn.hutool.http.HttpStatus; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.exception.BaseException; import com.ruoyi.common.exception.CustomException; import com.ruoyi.common.exception.DemoModeException; +import com.ruoyi.common.utils.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.security.access.AccessDeniedException; @@ -21,7 +21,7 @@ import javax.validation.ConstraintViolationException; /** * 全局异常处理器 - * + * * @author ruoyi */ @RestControllerAdvice @@ -44,7 +44,7 @@ public class GlobalExceptionHandler @ExceptionHandler(CustomException.class) public AjaxResult businessException(CustomException e) { - if (Validator.isNull(e.getCode())) + if (StringUtils.isNull(e.getCode())) { return AjaxResult.error(e.getMessage()); } 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 0cda991f..af7fd572 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,12 +1,12 @@ package com.ruoyi.framework.web.service; -import cn.hutool.core.lang.Validator; 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; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.util.Set; @@ -39,12 +39,12 @@ public class PermissionService */ public boolean hasPermi(String permission) { - if (Validator.isEmpty(permission)) + if (StringUtils.isEmpty(permission)) { return false; } LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); - if (Validator.isNull(loginUser) || Validator.isEmpty(loginUser.getPermissions())) + if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getPermissions())) { return false; } @@ -70,12 +70,12 @@ public class PermissionService */ public boolean hasAnyPermi(String permissions) { - if (Validator.isEmpty(permissions)) + if (StringUtils.isEmpty(permissions)) { return false; } LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); - if (Validator.isNull(loginUser) || Validator.isEmpty(loginUser.getPermissions())) + if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getPermissions())) { return false; } @@ -98,12 +98,12 @@ public class PermissionService */ public boolean hasRole(String role) { - if (Validator.isEmpty(role)) + if (StringUtils.isEmpty(role)) { return false; } LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); - if (Validator.isNull(loginUser) || Validator.isEmpty(loginUser.getUser().getRoles())) + if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getUser().getRoles())) { return false; } @@ -137,12 +137,12 @@ public class PermissionService */ public boolean hasAnyRoles(String roles) { - if (Validator.isEmpty(roles)) + if (StringUtils.isEmpty(roles)) { return false; } LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); - if (Validator.isNull(loginUser) || Validator.isEmpty(loginUser.getUser().getRoles())) + if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getUser().getRoles())) { return false; } 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 a6ff95fd..3414e372 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 @@ -1,6 +1,5 @@ package com.ruoyi.framework.web.service; -import cn.hutool.core.lang.Validator; import cn.hutool.core.util.IdUtil; import cn.hutool.http.useragent.UserAgent; import cn.hutool.http.useragent.UserAgentUtil; @@ -8,6 +7,7 @@ import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.utils.ServletUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.ip.AddressUtils; import com.ruoyi.framework.config.properties.TokenProperties; import io.jsonwebtoken.Claims; @@ -49,7 +49,7 @@ public class TokenService { public LoginUser getLoginUser(HttpServletRequest request) { // 获取请求携带的令牌 String token = getToken(request); - if (Validator.isNotEmpty(token)) { + if (StringUtils.isNotEmpty(token)) { try { Claims claims = parseToken(token); // 解析对应的权限以及用户信息 @@ -68,7 +68,7 @@ public class TokenService { * 设置用户身份信息 */ public void setLoginUser(LoginUser loginUser) { - if (Validator.isNotNull(loginUser) && Validator.isNotEmpty(loginUser.getToken())) { + if (StringUtils.isNotNull(loginUser) && StringUtils.isNotEmpty(loginUser.getToken())) { refreshToken(loginUser); } } @@ -77,7 +77,7 @@ public class TokenService { * 删除用户身份信息 */ public void delLoginUser(String token) { - if (Validator.isNotEmpty(token)) { + if (StringUtils.isNotEmpty(token)) { String userKey = getTokenKey(token); redisCache.deleteObject(userKey); } @@ -186,7 +186,7 @@ public class TokenService { */ private String getToken(HttpServletRequest request) { String token = request.getHeader(tokenProperties.getHeader()); - if (Validator.isNotEmpty(token) && token.startsWith(Constants.TOKEN_PREFIX)) { + if (StringUtils.isNotEmpty(token) && token.startsWith(Constants.TOKEN_PREFIX)) { token = token.replace(Constants.TOKEN_PREFIX, ""); } return token; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java index 46b96bad..22a58689 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java @@ -1,10 +1,10 @@ package com.ruoyi.framework.web.service; -import cn.hutool.core.lang.Validator; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.enums.UserStatus; import com.ruoyi.common.exception.BaseException; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.service.ISysUserService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,7 +34,7 @@ public class UserDetailsServiceImpl implements UserDetailsService public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { SysUser user = userService.selectUserByUserName(username); - if (Validator.isNull(user)) + if (StringUtils.isNull(user)) { log.info("登录用户:{} 不存在.", username); throw new UsernameNotFoundException("登录用户:" + username + " 不存在"); 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 d5f8ba88..92ba7a98 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 @@ -150,7 +150,7 @@ public class GenTableColumn implements Serializable { private Map params = new HashMap<>(); public String getCapJavaField() { - return StringUtils.upperFirst(javaField); + return StringUtils.uncapitalize(javaField); } public boolean isPk() { @@ -231,7 +231,7 @@ public class GenTableColumn implements Serializable { } public String readConverterExp() { - String remarks = StringUtils.subBetween(this.columnComment, "(", ")"); + String remarks = StringUtils.substringBetween(this.columnComment, "(", ")"); StringBuffer sb = new StringBuffer(); if (StringUtils.isNotEmpty(remarks)) { for (String value : remarks.split(" ")) { 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 9c39a993..fddd0bd3 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 @@ -2,7 +2,6 @@ package com.ruoyi.generator.service; import cn.hutool.core.collection.CollUtil; 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; @@ -260,7 +259,7 @@ public class GenTableServiceImpl extends ServicePlusImpl templates = VelocityUtils.getTemplateList(table.getTplCategory()); for (String template : templates) { - if (!StringUtils.containsAny("sql.vm", "api.js.vm", "index.vue.vm", "index-tree.vue.vm", template)) { + if (!StringUtils.containsAny(template, "sql.vm", "api.js.vm", "index.vue.vm", "index-tree.vue.vm")) { // 渲染模板 StringWriter sw = new StringWriter(); Template tpl = Velocity.getTemplate(template, Constants.UTF8); @@ -284,7 +283,7 @@ public class GenTableServiceImpl extends ServicePlusImpl tableColumnNames = tableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList()); List dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName); - if (Validator.isEmpty(dbTableColumns)) { + if (StringUtils.isEmpty(dbTableColumns)) { throw new CustomException("同步数据失败,原表结构不存在"); } List dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList()); @@ -364,16 +363,16 @@ public class GenTableServiceImpl extends ServicePlusImpl paramsObj = genTable.getParams(); - if (Validator.isEmpty(paramsObj.get(GenConstants.TREE_CODE))) { + if (StringUtils.isEmpty(paramsObj.get(GenConstants.TREE_CODE))) { throw new CustomException("树编码字段不能为空"); - } else if (Validator.isEmpty(paramsObj.get(GenConstants.TREE_PARENT_CODE))) { + } else if (StringUtils.isEmpty(paramsObj.get(GenConstants.TREE_PARENT_CODE))) { throw new CustomException("树父编码字段不能为空"); - } else if (Validator.isEmpty(paramsObj.get(GenConstants.TREE_NAME))) { + } else if (StringUtils.isEmpty(paramsObj.get(GenConstants.TREE_NAME))) { throw new CustomException("树名称字段不能为空"); } else if (GenConstants.TPL_SUB.equals(genTable.getTplCategory())) { - if (Validator.isEmpty(genTable.getSubTableName())) { + if (StringUtils.isEmpty(genTable.getSubTableName())) { throw new CustomException("关联子表的表名不能为空"); - } else if (Validator.isEmpty(genTable.getSubTableFkName())) { + } else if (StringUtils.isEmpty(genTable.getSubTableFkName())) { throw new CustomException("子表关联的外键名不能为空"); } } @@ -392,7 +391,7 @@ public class GenTableServiceImpl extends ServicePlusImpl paramsObj = JsonUtils.parseMap(genTable.getOptions()); - if (Validator.isNotNull(paramsObj)) { + if (StringUtils.isNotNull(paramsObj)) { String treeCode = Convert.toStr(paramsObj.get(GenConstants.TREE_CODE)); String treeParentCode = Convert.toStr(paramsObj.get(GenConstants.TREE_PARENT_CODE)); String treeName = Convert.toStr(paramsObj.get(GenConstants.TREE_NAME)); 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 5e778d61..01afce00 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 @@ -61,7 +61,7 @@ public class GenUtils column.setHtmlType(GenConstants.HTML_INPUT); // 如果是浮点型 统一用BigDecimal - String[] str = StringUtils.splitToArray(StringUtils.subBetween(column.getColumnType(), "(", ")"), ","); + String[] str = StringUtils.split(StringUtils.substringBetween(column.getColumnType(), "(", ")"), ","); if (str != null && str.length == 2 && Integer.parseInt(str[1]) > 0) { column.setJavaType(GenConstants.TYPE_BIGDECIMAL); @@ -98,33 +98,33 @@ public class GenUtils } // 查询字段类型 - if (StringUtils.endWithIgnoreCase(columnName, "name")) + if (StringUtils.endsWithIgnoreCase(columnName, "name")) { column.setQueryType(GenConstants.QUERY_LIKE); } // 状态字段设置单选框 - if (StringUtils.endWithIgnoreCase(columnName, "status")) + if (StringUtils.endsWithIgnoreCase(columnName, "status")) { column.setHtmlType(GenConstants.HTML_RADIO); } // 类型&性别字段设置下拉框 - else if (StringUtils.endWithIgnoreCase(columnName, "type") - || StringUtils.endWithIgnoreCase(columnName, "sex")) + else if (StringUtils.endsWithIgnoreCase(columnName, "type") + || StringUtils.endsWithIgnoreCase(columnName, "sex")) { column.setHtmlType(GenConstants.HTML_SELECT); } // 图片字段设置图片上传控件 - else if (StringUtils.endWithIgnoreCase(columnName, "image")) + else if (StringUtils.endsWithIgnoreCase(columnName, "image")) { column.setHtmlType(GenConstants.HTML_IMAGE_UPLOAD); } // 文件字段设置文件上传控件 - else if (StringUtils.endWithIgnoreCase(columnName, "file")) + else if (StringUtils.endsWithIgnoreCase(columnName, "file")) { column.setHtmlType(GenConstants.HTML_FILE_UPLOAD); } // 内容字段设置富文本控件 - else if (StringUtils.endWithIgnoreCase(columnName, "content")) + else if (StringUtils.endsWithIgnoreCase(columnName, "content")) { column.setHtmlType(GenConstants.HTML_EDITOR); } @@ -152,7 +152,7 @@ public class GenUtils { int lastIndex = packageName.lastIndexOf("."); int nameLength = packageName.length(); - String moduleName = StringUtils.sub(packageName, lastIndex + 1, nameLength); + String moduleName = StringUtils.substring(packageName, lastIndex + 1, nameLength); return moduleName; } @@ -166,7 +166,7 @@ public class GenUtils { int lastIndex = tableName.lastIndexOf("_"); int nameLength = tableName.length(); - String businessName = StringUtils.sub(tableName, lastIndex + 1, nameLength); + String businessName = StringUtils.substring(tableName, lastIndex + 1, nameLength); return businessName; } @@ -182,10 +182,10 @@ public class GenUtils String tablePrefix = GenConfig.getTablePrefix(); if (autoRemovePre && StringUtils.isNotEmpty(tablePrefix)) { - String[] searchList = StringUtils.splitToArray(tablePrefix, ","); + String[] searchList = StringUtils.split(tablePrefix, ","); tableName = replaceFirst(tableName, searchList); } - return StringUtils.upperFirst(StringUtils.toCamelCase(tableName)); + return StringUtils.convertToCamelCase(tableName); } /** @@ -230,7 +230,7 @@ public class GenUtils { if (StringUtils.indexOf(columnType, '(') > 0) { - return StringUtils.subBefore(columnType, "(",false); + return StringUtils.substringBefore(columnType, "("); } else { @@ -248,7 +248,7 @@ public class GenUtils { if (StringUtils.indexOf(columnType, '(') > 0) { - String length = StringUtils.subBetween(columnType, "(", ")"); + String length = StringUtils.substringBetween(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 59438e61..098a9189 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 @@ -1,11 +1,10 @@ package com.ruoyi.generator.util; import cn.hutool.core.convert.Convert; -import cn.hutool.core.lang.Validator; -import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.constant.GenConstants; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.JsonUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.generator.domain.GenTable; import com.ruoyi.generator.domain.GenTableColumn; import org.apache.velocity.VelocityContext; @@ -49,9 +48,9 @@ public class VelocityUtils velocityContext.put("tableName", genTable.getTableName()); velocityContext.put("functionName", StringUtils.isNotEmpty(functionName) ? functionName : "【请填写功能名称】"); velocityContext.put("ClassName", genTable.getClassName()); - velocityContext.put("className", StringUtils.lowerFirst(genTable.getClassName())); + velocityContext.put("className", StringUtils.uncapitalize(genTable.getClassName())); velocityContext.put("moduleName", genTable.getModuleName()); - velocityContext.put("BusinessName", StringUtils.upperFirst(genTable.getBusinessName())); + velocityContext.put("BusinessName", StringUtils.capitalize(genTable.getBusinessName())); velocityContext.put("businessName", genTable.getBusinessName()); velocityContext.put("basePackage", getPackagePrefix(packageName)); velocityContext.put("packageName", packageName); @@ -110,15 +109,15 @@ public class VelocityUtils String subTableName = genTable.getSubTableName(); String subTableFkName = genTable.getSubTableFkName(); String subClassName = genTable.getSubTable().getClassName(); - String subTableFkClassName = StringUtils.toCamelCase(subTableFkName); + String subTableFkClassName = StringUtils.convertToCamelCase(subTableFkName); context.put("subTable", subTable); context.put("subTableName", subTableName); context.put("subTableFkName", subTableFkName); context.put("subTableFkClassName", subTableFkClassName); - context.put("subTableFkclassName", StringUtils.lowerFirst(subTableFkClassName)); + context.put("subTableFkclassName", StringUtils.uncapitalize(subTableFkClassName)); context.put("subClassName", subClassName); - context.put("subclassName", StringUtils.lowerFirst(subClassName)); + context.put("subclassName", StringUtils.uncapitalize(subClassName)); context.put("subImportList", getImportList(genTable.getSubTable())); } @@ -240,7 +239,7 @@ public class VelocityUtils public static String getPackagePrefix(String packageName) { int lastIndex = packageName.lastIndexOf("."); - String basePackage = StringUtils.sub(packageName, 0, lastIndex); + String basePackage = StringUtils.substring(packageName, 0, lastIndex); return basePackage; } @@ -255,7 +254,7 @@ public class VelocityUtils List columns = genTable.getColumns(); GenTable subGenTable = genTable.getSubTable(); HashSet importList = new HashSet(); - if (Validator.isNotNull(subGenTable)) + if (StringUtils.isNotNull(subGenTable)) { importList.add("java.util.List"); } @@ -294,7 +293,7 @@ public class VelocityUtils */ public static String getParentMenuId(Map paramsObj) { - if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID) + if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID) && StringUtils.isNotEmpty(Convert.toStr(paramsObj.get(GenConstants.PARENT_MENU_ID)))) { return Convert.toStr(paramsObj.get(GenConstants.PARENT_MENU_ID)); @@ -310,7 +309,7 @@ public class VelocityUtils */ public static String getTreecode(Map paramsObj) { - if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_CODE)) + if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_CODE)) { return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_CODE))); } @@ -325,7 +324,7 @@ public class VelocityUtils */ public static String getTreeParentCode(Map paramsObj) { - if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_PARENT_CODE)) + if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_PARENT_CODE)) { return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_PARENT_CODE))); } @@ -340,7 +339,7 @@ public class VelocityUtils */ public static String getTreeName(Map paramsObj) { - if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_NAME)) + if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_NAME)) { return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_NAME))); } 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 590ba70f..0d754432 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 @@ -55,7 +55,7 @@ public class SysOssServiceImpl extends ServicePlusImpl= date_format({0},'%y%m%d')", params.get("beginTime")) - .apply(Validator.isNotEmpty(params.get("endTime")), + .apply(StringUtils.isNotEmpty(params.get("endTime")), "date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')", params.get("endTime")); return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw)); @@ -54,10 +53,10 @@ public class SysJobLogServiceImpl extends ServicePlusImpl= date_format({0},'%y%m%d')", params.get("beginTime")) - .apply(Validator.isNotEmpty(params.get("endTime")), + .apply(StringUtils.isNotEmpty(params.get("endTime")), "date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')", params.get("endTime"))); } 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 c780b06f..95437a81 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 @@ -2,10 +2,9 @@ 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.StringUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.quartz.domain.SysJob; import com.ruoyi.quartz.domain.SysJobLog; @@ -40,7 +39,7 @@ public abstract class AbstractQuartzJob implements Job try { before(context, sysJob); - if (Validator.isNotNull(sysJob)) + if (StringUtils.isNotNull(sysJob)) { doExecute(context, sysJob); } @@ -86,7 +85,7 @@ public abstract class AbstractQuartzJob implements Job if (e != null) { sysJobLog.setStatus(Constants.FAIL); - String errorMsg = StringUtils.sub(ExceptionUtil.stacktraceToString(e), 0, 2000); + String errorMsg = StringUtils.substring(ExceptionUtil.stacktraceToString(e), 0, 2000); sysJobLog.setExceptionInfo(errorMsg); } else 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 44eb8fdb..ba55d2d1 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,6 +1,5 @@ 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; @@ -52,7 +51,7 @@ public class JobInvokeUtil throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { - if (Validator.isNotNull(methodParams) && methodParams.size() > 0) + if (StringUtils.isNotNull(methodParams) && methodParams.size() > 0) { Method method = bean.getClass().getDeclaredMethod(methodName, getMethodParamsType(methodParams)); method.invoke(bean, getMethodParamsValue(methodParams)); @@ -72,7 +71,7 @@ public class JobInvokeUtil */ public static boolean isValidClassName(String invokeTarget) { - return StringUtils.count(invokeTarget, ".") > 1; + return StringUtils.countMatches(invokeTarget, ".") > 1; } /** @@ -83,8 +82,8 @@ public class JobInvokeUtil */ public static String getBeanName(String invokeTarget) { - String beanName = StringUtils.subBefore(invokeTarget, "(",false); - return StringUtils.subBefore(beanName, ".",true); + String beanName = StringUtils.substringBefore(invokeTarget, "("); + return StringUtils.substringBefore(beanName, "."); } /** @@ -95,8 +94,8 @@ public class JobInvokeUtil */ public static String getMethodName(String invokeTarget) { - String methodName = StringUtils.subBefore(invokeTarget, "(",false); - return StringUtils.subAfter(methodName, ".",true); + String methodName = StringUtils.substringBefore(invokeTarget, "("); + return StringUtils.substringBefore(methodName, "."); } /** @@ -107,7 +106,7 @@ public class JobInvokeUtil */ public static List getMethodParams(String invokeTarget) { - String methodStr = StringUtils.subBetween(invokeTarget, "(", ")"); + String methodStr = StringUtils.substringBetween(invokeTarget, "(", ")"); if (StringUtils.isEmpty(methodStr)) { return null; 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 250ccf1a..ddf45e85 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 @@ -1,7 +1,6 @@ package com.ruoyi.system.service.impl; 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.ruoyi.common.annotation.DataSource; @@ -51,10 +50,10 @@ public class SysConfigServiceImpl extends ServicePlusImpl= date_format({0},'%y%m%d')", params.get("beginTime")) - .apply(Validator.isNotEmpty(params.get("endTime")), + .apply(StringUtils.isNotEmpty(params.get("endTime")), "date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')", params.get("endTime")); return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw)); @@ -81,12 +80,12 @@ public class SysConfigServiceImpl extends ServicePlusImpl() .eq(SysConfig::getConfigKey, configKey)); - if (Validator.isNotNull(retConfig)) { + if (StringUtils.isNotNull(retConfig)) { redisCache.setCacheObject(getCacheKey(configKey), retConfig.getConfigValue()); return retConfig.getConfigValue(); } @@ -120,10 +119,10 @@ public class SysConfigServiceImpl extends ServicePlusImpl= date_format({0},'%y%m%d')", params.get("beginTime")) - .apply(Validator.isNotEmpty(params.get("endTime")), + .apply(StringUtils.isNotEmpty(params.get("endTime")), "date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')", params.get("endTime")); return baseMapper.selectList(lqw); @@ -214,9 +213,9 @@ public class SysConfigServiceImpl extends ServicePlusImpl().eq(SysConfig::getConfigKey, config.getConfigKey())); - if (Validator.isNotNull(info) && info.getConfigId().longValue() != configId.longValue()) { + if (StringUtils.isNotNull(info) && info.getConfigId().longValue() != configId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; 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 36673029..93d01296 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 @@ -1,8 +1,6 @@ package com.ruoyi.system.service.impl; 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; @@ -13,6 +11,7 @@ import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.ruoyi.common.exception.CustomException; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.mapper.SysDeptMapper; import com.ruoyi.system.mapper.SysRoleMapper; import com.ruoyi.system.mapper.SysUserMapper; @@ -160,12 +159,12 @@ public class SysDeptServiceImpl extends ServicePlusImpl() .eq(SysDept::getDeptName, dept.getDeptName()) .eq(SysDept::getParentId, dept.getParentId()) .last("limit 1")); - if (Validator.isNotNull(info) && info.getDeptId().longValue() != deptId.longValue()) { + if (StringUtils.isNotNull(info) && info.getDeptId().longValue() != deptId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; @@ -198,7 +197,7 @@ public class SysDeptServiceImpl extends ServicePlusImpl getChildList(List list, SysDept t) { List tlist = new ArrayList(); for (SysDept n : list) { - if (Validator.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId().longValue()) { + if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId().longValue()) { tlist.add(n); } } 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 cfd8e1fc..5178aa3b 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 @@ -1,7 +1,6 @@ package com.ruoyi.system.service.impl; import cn.hutool.core.collection.CollUtil; -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; @@ -51,10 +50,10 @@ public class SysDictTypeServiceImpl extends ServicePlusImpl= date_format({0},'%y%m%d')", params.get("beginTime")) - .apply(Validator.isNotEmpty(params.get("endTime")), + .apply(StringUtils.isNotEmpty(params.get("endTime")), "date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')", params.get("endTime")); return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw)); @@ -73,10 +72,10 @@ public class SysDictTypeServiceImpl extends ServicePlusImpl= date_format({0},'%y%m%d')", params.get("beginTime")) - .apply(Validator.isNotEmpty(params.get("endTime")), + .apply(StringUtils.isNotEmpty(params.get("endTime")), "date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')", params.get("endTime"))); } @@ -225,11 +224,11 @@ public class SysDictTypeServiceImpl extends ServicePlusImpl() .eq(SysDictType::getDictType, dict.getDictType()) .last("limit 1")); - if (Validator.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue()) { + if (StringUtils.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; 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 035ee5e2..8b566192 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,6 +1,5 @@ package com.ruoyi.system.service.impl; -import cn.hutool.core.lang.Validator; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.ruoyi.common.core.page.TableDataInfo; @@ -31,10 +30,10 @@ public class SysLogininforServiceImpl extends ServicePlusImpl= date_format({0},'%y%m%d')", params.get("beginTime")) - .apply(Validator.isNotEmpty(params.get("endTime")), + .apply(StringUtils.isNotEmpty(params.get("endTime")), "date_format(login_time,'%y%m%d') <= date_format({0},'%y%m%d')", params.get("endTime")); return PageUtils.buildDataInfo(page(PageUtils.buildPage("info_id","desc"), lqw)); @@ -64,10 +63,10 @@ public class SysLogininforServiceImpl extends ServicePlusImpl= date_format({0},'%y%m%d')", params.get("beginTime")) - .apply(Validator.isNotEmpty(params.get("endTime")), + .apply(StringUtils.isNotEmpty(params.get("endTime")), "date_format(login_time,'%y%m%d') <= date_format({0},'%y%m%d')", params.get("endTime")) .orderByDesc(SysLogininfor::getInfoId)); 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 3d313969..a46d62c2 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,5 @@ package com.ruoyi.system.service.impl; -import cn.hutool.core.lang.Validator; -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; @@ -11,6 +9,7 @@ import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.domain.SysRoleMenu; import com.ruoyi.system.domain.vo.MetaVo; import com.ruoyi.system.domain.vo.RouterVo; @@ -85,7 +84,7 @@ public class SysMenuServiceImpl extends ServicePlusImpl perms = baseMapper.selectMenuPermsByUserId(userId); Set permsSet = new HashSet<>(); for (String perm : perms) { - if (Validator.isNotEmpty(perm)) { + if (StringUtils.isNotEmpty(perm)) { permsSet.addAll(Arrays.asList(perm.trim().split(","))); } } @@ -148,7 +147,7 @@ public class SysMenuServiceImpl extends ServicePlusImpl() .eq(SysMenu::getMenuName,menu.getMenuName()) .eq(SysMenu::getParentId,menu.getParentId()) .last("limit 1")); - if (Validator.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) { + if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; @@ -302,7 +301,7 @@ public class SysMenuServiceImpl extends ServicePlusImpl 0, SysOperLog::getStatus, operLog.getStatus()) .like(StringUtils.isNotBlank(operLog.getOperName()), SysOperLog::getOperName, operLog.getOperName()) - .apply(Validator.isNotEmpty(params.get("beginTime")), + .apply(StringUtils.isNotEmpty(params.get("beginTime")), "date_format(oper_time,'%y%m%d') >= date_format({0},'%y%m%d')", params.get("beginTime")) - .apply(Validator.isNotEmpty(params.get("endTime")), + .apply(StringUtils.isNotEmpty(params.get("endTime")), "date_format(oper_time,'%y%m%d') <= date_format({0},'%y%m%d')", params.get("endTime")); return PageUtils.buildDataInfo(page(PageUtils.buildPage("oper_id","desc"), lqw)); @@ -81,10 +80,10 @@ public class SysOperLogServiceImpl extends ServicePlusImpl 0, SysOperLog::getStatus,operLog.getStatus()) .like(StringUtils.isNotBlank(operLog.getOperName()),SysOperLog::getOperName,operLog.getOperName()) - .apply(Validator.isNotEmpty(params.get("beginTime")), + .apply(StringUtils.isNotEmpty(params.get("beginTime")), "date_format(oper_time,'%y%m%d') >= date_format({0},'%y%m%d')", params.get("beginTime")) - .apply(Validator.isNotEmpty(params.get("endTime")), + .apply(StringUtils.isNotEmpty(params.get("endTime")), "date_format(oper_time,'%y%m%d') <= date_format({0},'%y%m%d')", params.get("endTime")) .orderByDesc(SysOperLog::getOperId)); 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 495c2e9d..82d09e85 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,6 +1,5 @@ package com.ruoyi.system.service.impl; -import cn.hutool.core.lang.Validator; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; @@ -93,10 +92,10 @@ public class SysPostServiceImpl extends ServicePlusImpl() .eq(SysPost::getPostName, post.getPostName()).last("limit 1")); - if (Validator.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) { + if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; @@ -110,10 +109,10 @@ public class SysPostServiceImpl extends ServicePlusImpl() .eq(SysPost::getPostCode, post.getPostCode()).last("limit 1")); - if (Validator.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) { + if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index 70a33eeb..a9ecb369 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -1,6 +1,5 @@ package com.ruoyi.system.service.impl; -import cn.hutool.core.lang.Validator; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.constant.UserConstants; @@ -9,6 +8,7 @@ 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.common.utils.spring.SpringUtils; import com.ruoyi.system.domain.SysRoleDept; import com.ruoyi.system.domain.SysRoleMenu; @@ -91,7 +91,7 @@ public class SysRoleServiceImpl extends ServicePlusImpl perms = baseMapper.selectRolePermissionByUserId(userId); Set permsSet = new HashSet<>(); for (SysRole perm : perms) { - if (Validator.isNotNull(perm)) { + if (StringUtils.isNotNull(perm)) { permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(","))); } } @@ -138,10 +138,10 @@ public class SysRoleServiceImpl extends ServicePlusImpl() .eq(SysRole::getRoleName, role.getRoleName()).last("limit 1")); - if (Validator.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) { + if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; @@ -155,10 +155,10 @@ public class SysRoleServiceImpl extends ServicePlusImpl() .eq(SysRole::getRoleKey, role.getRoleKey()).last("limit 1")); - if (Validator.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) { + if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; @@ -171,7 +171,7 @@ public class SysRoleServiceImpl extends ServicePlusImpl() .select(SysUser::getUserId, SysUser::getPhonenumber) .eq(SysUser::getPhonenumber, user.getPhonenumber()).last("limit 1")); - if (Validator.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; @@ -194,11 +194,11 @@ public class SysUserServiceImpl extends ServicePlusImpl() .select(SysUser::getUserId, SysUser::getEmail) .eq(SysUser::getEmail, user.getEmail()).last("limit 1")); - if (Validator.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; @@ -211,7 +211,7 @@ public class SysUserServiceImpl extends ServicePlusImpl list = new ArrayList(); for (Long roleId : roles) { @@ -373,7 +373,7 @@ public class SysUserServiceImpl extends ServicePlusImpl list = new ArrayList(); for (Long postId : posts) { @@ -395,7 +395,7 @@ public class SysUserServiceImpl extends ServicePlusImpl list = new ArrayList(); for (Long roleId : roleIds) { @@ -456,7 +456,7 @@ public class SysUserServiceImpl extends ServicePlusImpl userList, Boolean isUpdateSupport, String operName) { - if (Validator.isNull(userList) || userList.size() == 0) { + if (StringUtils.isNull(userList) || userList.size() == 0) { throw new CustomException("导入用户数据不能为空!"); } int successNum = 0; @@ -468,7 +468,7 @@ public class SysUserServiceImpl extends ServicePlusImpl