From d7914a897c3d9e1760e03e70e903c388a7766bef Mon Sep 17 00:00:00 2001 From: lizhengwei Date: Mon, 1 Dec 2025 15:18:33 +0800 Subject: [PATCH] =?UTF-8?q?pom=E4=BC=98=E5=8C=96=EF=BC=8C=E8=AE=A9?= =?UTF-8?q?=E5=85=B6=E6=9B=B4=E7=8B=AC=E7=AB=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/annotation/ExcelDictFormat.java | 3 +- .../excel/convert/ExcelDictConvert.java | 12 ++-- .../common/oss/constant/Constants.java | 20 +++++++ .../common/oss/constant/OssConstant.java | 12 +++- .../dromara/common/oss/core/OssClient.java | 55 ++++++++++--------- .../common/oss/factory/OssFactory.java | 9 ++- ruoyi-common/ruoyi-common-redis/pom.xml | 12 +++- .../common/redis/config/RedisConfig.java | 24 ++++---- .../redis/handler/KeyPrefixHandler.java | 12 ++-- .../redis/handler/RedisExceptionHandler.java | 30 ---------- .../redis/manager/CaffeineCacheDecorator.java | 4 +- .../common/redis/utils/CacheUtils.java | 4 +- .../common/redis/utils/QueueUtils.java | 4 +- .../common/redis/utils/RedisUtils.java | 4 +- ruoyi-common/ruoyi-common-translation/pom.xml | 5 +- ruoyi-common/ruoyi-common-web/pom.xml | 4 ++ 16 files changed, 113 insertions(+), 101 deletions(-) create mode 100644 ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/constant/Constants.java delete mode 100644 ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/handler/RedisExceptionHandler.java diff --git a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/annotation/ExcelDictFormat.java b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/annotation/ExcelDictFormat.java index 5c5184284..98de17d98 100644 --- a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/annotation/ExcelDictFormat.java +++ b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/annotation/ExcelDictFormat.java @@ -1,6 +1,5 @@ package org.dromara.common.excel.annotation; -import org.dromara.common.core.utils.StringUtils; import java.lang.annotation.*; @@ -27,6 +26,6 @@ public @interface ExcelDictFormat { /** * 分隔符,读取字符串组内容 */ - String separator() default StringUtils.SEPARATOR; + String separator() default ","; } diff --git a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/convert/ExcelDictConvert.java b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/convert/ExcelDictConvert.java index 61eeabfd7..7fc994386 100644 --- a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/convert/ExcelDictConvert.java +++ b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/convert/ExcelDictConvert.java @@ -3,6 +3,8 @@ package org.dromara.common.excel.convert; import cn.hutool.core.annotation.AnnotationUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.extra.spring.SpringUtil; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.metadata.GlobalConfiguration; @@ -11,8 +13,6 @@ import com.alibaba.excel.metadata.data.WriteCellData; import com.alibaba.excel.metadata.property.ExcelContentProperty; import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.core.service.DictService; -import org.dromara.common.core.utils.SpringUtils; -import org.dromara.common.core.utils.StringUtils; import org.dromara.common.excel.utils.ExcelUtil; import lombok.extern.slf4j.Slf4j; @@ -42,10 +42,10 @@ public class ExcelDictConvert implements Converter { String type = anno.dictType(); String label = cellData.getStringValue(); String value; - if (StringUtils.isBlank(type)) { + if (StrUtil.isBlank(type)) { value = ExcelUtil.reverseByExp(label, anno.readConverterExp(), anno.separator()); } else { - value = SpringUtils.getBean(DictService.class).getDictValue(type, label, anno.separator()); + value = SpringUtil.getBean(DictService.class).getDictValue(type, label, anno.separator()); } return Convert.convert(contentProperty.getField().getType(), value); } @@ -59,10 +59,10 @@ public class ExcelDictConvert implements Converter { String type = anno.dictType(); String value = Convert.toStr(object); String label; - if (StringUtils.isBlank(type)) { + if (StrUtil.isBlank(type)) { label = ExcelUtil.convertByExp(value, anno.readConverterExp(), anno.separator()); } else { - label = SpringUtils.getBean(DictService.class).getDictLabel(type, value, anno.separator()); + label = SpringUtil.getBean(DictService.class).getDictLabel(type, value, anno.separator()); } return new WriteCellData<>(label); } diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/constant/Constants.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/constant/Constants.java new file mode 100644 index 000000000..f7351fe8a --- /dev/null +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/constant/Constants.java @@ -0,0 +1,20 @@ +package org.dromara.common.oss.constant; + +/** + * 通用常量信息 + * + * @author ruoyi + */ +public interface Constants { + /** + * http请求 + */ + String HTTP = "http://"; + + /** + * https请求 + */ + String HTTPS = "https://"; + +} + diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/constant/OssConstant.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/constant/OssConstant.java index 9d8db9335..d39e42aa8 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/constant/OssConstant.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/constant/OssConstant.java @@ -1,7 +1,5 @@ package org.dromara.common.oss.constant; -import org.dromara.common.core.constant.GlobalConstants; - import java.util.Arrays; import java.util.List; @@ -11,11 +9,19 @@ import java.util.List; * @author Lion Li */ public interface OssConstant { + /** + * OSS配置 key 全局 redis key (业务无关的key) + */ + String GLOBAL_REDIS_KEY = "global:"; + /** + * OSS配置 key + */ + String SYS_OSS_CONFIG = GLOBAL_REDIS_KEY + "sys_oss_config"; /** * 默认配置KEY */ - String DEFAULT_CONFIG_KEY = GlobalConstants.GLOBAL_REDIS_KEY + "sys_oss:default_config"; + String DEFAULT_CONFIG_KEY = GLOBAL_REDIS_KEY + "sys_oss:default_config"; /** * 预览列表资源开关Key diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java index 5e300da22..61d07a7ca 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java @@ -1,11 +1,11 @@ package org.dromara.common.oss.core; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.IdUtil; -import org.dromara.common.core.constant.Constants; -import org.dromara.common.core.utils.DateUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.core.utils.file.FileUtils; +import cn.hutool.core.util.StrUtil; +import org.dromara.common.oss.constant.Constants; import org.dromara.common.oss.constant.OssConstant; import org.dromara.common.oss.entity.UploadResult; import org.dromara.common.oss.enumd.AccessPolicyType; @@ -35,6 +35,7 @@ import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; import java.time.Duration; +import java.util.Date; /** * S3 存储协议 所有兼容S3协议的云厂商均支持 @@ -84,7 +85,7 @@ public class OssClient { AwsBasicCredentials.create(properties.getAccessKey(), properties.getSecretKey())); //MinIO 使用 HTTPS 限制使用域名访问,站点填域名。需要启用路径样式访问 - boolean isStyle = !StringUtils.containsAny(properties.getEndpoint(), OssConstant.CLOUD_SERVICE); + boolean isStyle = !StrUtil.containsAny(properties.getEndpoint(), OssConstant.CLOUD_SERVICE); //创建AWS基于 CRT 的 S3 客户端 this.client = S3AsyncClient.crtBuilder() @@ -176,7 +177,7 @@ public class OssClient { x -> x.putObjectRequest( y -> y.bucket(properties.getBucketName()) .key(key) - .contentMD5(StringUtils.isNotEmpty(md5Digest) ? md5Digest : null) + .contentMD5(StrUtil.isNotEmpty(md5Digest) ? md5Digest : null) .contentType(contentType) .acl(getAccessPolicy().getObjectCannedACL()) .build()) @@ -188,13 +189,13 @@ public class OssClient { String eTag = uploadResult.response().eTag(); // 提取上传结果中的 ETag,并构建一个自定义的 UploadResult 对象 - return UploadResult.builder().url(getUrl() + StringUtils.SLASH + key).filename(key).eTag(eTag).build(); + return UploadResult.builder().url(getUrl() + StrUtil.SLASH + key).filename(key).eTag(eTag).build(); } catch (Exception e) { // 捕获异常并抛出自定义异常 throw new OssException("上传文件失败,请检查配置信息:[" + e.getMessage() + "]"); } finally { // 无论上传是否成功,最终都会删除临时文件 - FileUtils.del(filePath); + FileUtil.del(filePath); } } @@ -236,7 +237,7 @@ public class OssClient { String eTag = uploadResult.response().eTag(); // 提取上传结果中的 ETag,并构建一个自定义的 UploadResult 对象 - return UploadResult.builder().url(getUrl() + StringUtils.SLASH + key).filename(key).eTag(eTag).build(); + return UploadResult.builder().url(getUrl() + StrUtil.SLASH + key).filename(key).eTag(eTag).build(); } catch (Exception e) { throw new OssException("上传文件失败,请检查配置信息:[" + e.getMessage() + "]"); } @@ -251,7 +252,7 @@ public class OssClient { */ public Path fileDownload(String path) { // 构建临时文件 - Path tempFilePath = FileUtils.createTempFile().toPath(); + Path tempFilePath = FileUtil.createTempFile().toPath(); // 使用 S3TransferManager 下载文件 FileDownload downloadFile = transferManager.downloadFile( x -> x.getObjectRequest( @@ -341,7 +342,7 @@ public class OssClient { * @throws OssException 如果上传失败,抛出自定义异常 */ public UploadResult uploadSuffix(byte[] data, String suffix) { - return upload(new ByteArrayInputStream(data), getPath(properties.getPrefix(), suffix), Long.valueOf(data.length), FileUtils.getMimeType(suffix)); + return upload(new ByteArrayInputStream(data), getPath(properties.getPrefix(), suffix), Long.valueOf(data.length), FileUtil.getMimeType(suffix)); } /** @@ -354,7 +355,7 @@ public class OssClient { * @throws OssException 如果上传失败,抛出自定义异常 */ public UploadResult uploadSuffix(InputStream inputStream, String suffix, Long length) { - return upload(inputStream, getPath(properties.getPrefix(), suffix), length, FileUtils.getMimeType(suffix)); + return upload(inputStream, getPath(properties.getPrefix(), suffix), length, FileUtil.getMimeType(suffix)); } /** @@ -366,7 +367,7 @@ public class OssClient { * @throws OssException 如果上传失败,抛出自定义异常 */ public UploadResult uploadSuffix(File file, String suffix) { - return upload(file.toPath(), getPath(properties.getPrefix(), suffix), null, FileUtils.getMimeType(suffix)); + return upload(file.toPath(), getPath(properties.getPrefix(), suffix), null, FileUtil.getMimeType(suffix)); } /** @@ -381,7 +382,7 @@ public class OssClient { // 创建输入流 InputStream inputStream = Files.newInputStream(tempFilePath); // 删除临时文件 - FileUtils.del(tempFilePath); + FileUtil.del(tempFilePath); // 返回对象内容的输入流 return inputStream; } @@ -410,12 +411,12 @@ public class OssClient { String header = getIsHttps(); // 如果是云服务商,直接返回域名或终端点 - if (StringUtils.containsAny(endpoint, OssConstant.CLOUD_SERVICE)) { - return StringUtils.isNotEmpty(domain) ? header + domain : header + endpoint; + if (StrUtil.containsAny(endpoint, OssConstant.CLOUD_SERVICE)) { + return StrUtil.isNotEmpty(domain) ? header + domain : header + endpoint; } // 如果是 MinIO,处理域名并返回 - if (StringUtils.isNotEmpty(domain)) { + if (StrUtil.isNotEmpty(domain)) { return domain.startsWith(Constants.HTTPS) || domain.startsWith(Constants.HTTP) ? domain : header + domain; } @@ -434,7 +435,7 @@ public class OssClient { //AWS 区域字符串 String region = properties.getRegion(); // 如果 region 参数非空,使用 Region.of 方法创建对应的 AWS 区域对象,否则返回默认区域 - return StringUtils.isNotEmpty(region) ? Region.of(region) : Region.US_EAST_1; + return StrUtil.isNotEmpty(region) ? Region.of(region) : Region.US_EAST_1; } /** @@ -447,16 +448,16 @@ public class OssClient { String endpoint = properties.getEndpoint(); String header = getIsHttps(); // 云服务商直接返回 - if (StringUtils.containsAny(endpoint, OssConstant.CLOUD_SERVICE)) { - return header + (StringUtils.isNotEmpty(domain) ? domain : properties.getBucketName() + "." + endpoint); + if (StrUtil.containsAny(endpoint, OssConstant.CLOUD_SERVICE)) { + return header + (StrUtil.isNotEmpty(domain) ? domain : properties.getBucketName() + "." + endpoint); } // MinIO 单独处理 - if (StringUtils.isNotEmpty(domain)) { + if (StrUtil.isNotEmpty(domain)) { // 如果 domain 以 "https://" 或 "http://" 开头 return (domain.startsWith(Constants.HTTPS) || domain.startsWith(Constants.HTTP)) ? - domain + StringUtils.SLASH + properties.getBucketName() : header + domain + StringUtils.SLASH + properties.getBucketName(); + domain + StrUtil.SLASH + properties.getBucketName() : header + domain + StrUtil.SLASH + properties.getBucketName(); } - return header + endpoint + StringUtils.SLASH + properties.getBucketName(); + return header + endpoint + StrUtil.SLASH + properties.getBucketName(); } /** @@ -470,10 +471,10 @@ public class OssClient { // 生成uuid String uuid = IdUtil.fastSimpleUUID(); // 生成日期路径 - String datePath = DateUtils.datePath(); + String datePath = DateUtil.format(new Date(), "yyyy/MM/dd"); // 拼接路径 - String path = StringUtils.isNotEmpty(prefix) ? - prefix + StringUtils.SLASH + datePath + StringUtils.SLASH + uuid : datePath + StringUtils.SLASH + uuid; + String path = StrUtil.isNotEmpty(prefix) ? + prefix + StrUtil.SLASH + datePath + StrUtil.SLASH + uuid : datePath + StrUtil.SLASH + uuid; return path + suffix; } @@ -484,7 +485,7 @@ public class OssClient { * @return 去除基础URL后的相对路径 */ public String removeBaseUrl(String path) { - return path.replace(getUrl() + StringUtils.SLASH, ""); + return path.replace(getUrl() + StrUtil.SLASH, ""); } /** diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/factory/OssFactory.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/factory/OssFactory.java index 3da1ba5cd..e5db8922c 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/factory/OssFactory.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/factory/OssFactory.java @@ -1,8 +1,7 @@ package org.dromara.common.oss.factory; +import cn.hutool.core.util.StrUtil; import lombok.extern.slf4j.Slf4j; -import org.dromara.common.core.constant.CacheNames; -import org.dromara.common.core.utils.StringUtils; import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.oss.constant.OssConstant; import org.dromara.common.oss.core.OssClient; @@ -32,7 +31,7 @@ public class OssFactory { public static OssClient instance() { // 获取redis 默认类型 String configKey = RedisUtils.getCacheObject(OssConstant.DEFAULT_CONFIG_KEY); - if (StringUtils.isEmpty(configKey)) { + if (StrUtil.isEmpty(configKey)) { throw new OssException("文件存储服务类型无法找到!"); } return instance(configKey); @@ -42,14 +41,14 @@ public class OssFactory { * 根据类型获取实例 */ public static OssClient instance(String configKey) { - String json = CacheUtils.get(CacheNames.SYS_OSS_CONFIG, configKey); + String json = CacheUtils.get(OssConstant.SYS_OSS_CONFIG, configKey); if (json == null) { throw new OssException("系统异常, '" + configKey + "'配置信息不存在!"); } OssProperties properties = JsonUtils.parseObject(json, OssProperties.class); // 使用租户标识避免多个租户相同key实例覆盖 String key = configKey; - if (StringUtils.isNotBlank(properties.getTenantId())) { + if (StrUtil.isNotBlank(properties.getTenantId())) { key = properties.getTenantId() + ":" + configKey; } OssClient client = CLIENT_CACHE.get(key); diff --git a/ruoyi-common/ruoyi-common-redis/pom.xml b/ruoyi-common/ruoyi-common-redis/pom.xml index f56f8aad3..900fa249b 100644 --- a/ruoyi-common/ruoyi-common-redis/pom.xml +++ b/ruoyi-common/ruoyi-common-redis/pom.xml @@ -18,8 +18,16 @@ - org.dromara - ruoyi-common-core + org.projectlombok + lombok + + + cn.hutool + hutool-core + + + cn.hutool + hutool-extra diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java index f8fe79a8c..1757b2979 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java @@ -1,6 +1,7 @@ package org.dromara.common.redis.config; -import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.extra.spring.SpringUtil; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.ObjectMapper; @@ -9,18 +10,18 @@ import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import lombok.extern.slf4j.Slf4j; -import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.redis.config.properties.RedissonProperties; import org.dromara.common.redis.handler.KeyPrefixHandler; -import org.dromara.common.redis.handler.RedisExceptionHandler; import org.redisson.client.codec.StringCodec; import org.redisson.codec.CompositeCodec; import org.redisson.codec.TypedJsonJacksonCodec; import org.redisson.spring.starter.RedissonAutoConfigurationCustomizer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.AutoConfiguration; +import org.springframework.boot.autoconfigure.thread.Threading; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; +import org.springframework.core.env.Environment; import org.springframework.core.task.VirtualThreadTaskExecutor; import java.time.LocalDateTime; @@ -61,7 +62,7 @@ public class RedisConfig { // 缓存 Lua 脚本 减少网络传输(redisson 大部分的功能都是基于 Lua 脚本实现) .setUseScriptCache(true) .setCodec(codec); - if (SpringUtils.isVirtual()) { + if (Threading.VIRTUAL.isActive(SpringUtil.getBean(Environment.class))) { config.setNettyExecutor(new VirtualThreadTaskExecutor("redisson-")); } RedissonProperties.SingleServerConfig singleServerConfig = redissonProperties.getSingleServerConfig(); @@ -98,13 +99,14 @@ public class RedisConfig { }; } - /** - * 异常处理器 - */ - @Bean - public RedisExceptionHandler redisExceptionHandler() { - return new RedisExceptionHandler(); - } + //TODO 异常处理应该放在业务代码包里面 +// /** +// * 异常处理器 +// */ +// @Bean +// public RedisExceptionHandler redisExceptionHandler() { +// return new RedisExceptionHandler(); +// } /** * redis集群配置 yml diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/handler/KeyPrefixHandler.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/handler/KeyPrefixHandler.java index 3bf3e346a..39ba06e8f 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/handler/KeyPrefixHandler.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/handler/KeyPrefixHandler.java @@ -1,6 +1,6 @@ package org.dromara.common.redis.handler; -import org.dromara.common.core.utils.StringUtils; +import cn.hutool.core.util.StrUtil; import org.redisson.api.NameMapper; /** @@ -16,7 +16,7 @@ public class KeyPrefixHandler implements NameMapper { public KeyPrefixHandler(String keyPrefix) { //前缀为空 则返回空前缀 - this.keyPrefix = StringUtils.isBlank(keyPrefix) ? "" : keyPrefix + ":"; + this.keyPrefix = StrUtil.isBlank(keyPrefix) ? "" : keyPrefix + ":"; } /** @@ -24,10 +24,10 @@ public class KeyPrefixHandler implements NameMapper { */ @Override public String map(String name) { - if (StringUtils.isBlank(name)) { + if (StrUtil.isBlank(name)) { return null; } - if (StringUtils.isNotBlank(keyPrefix) && !name.startsWith(keyPrefix)) { + if (StrUtil.isNotBlank(keyPrefix) && !name.startsWith(keyPrefix)) { return keyPrefix + name; } return name; @@ -38,10 +38,10 @@ public class KeyPrefixHandler implements NameMapper { */ @Override public String unmap(String name) { - if (StringUtils.isBlank(name)) { + if (StrUtil.isBlank(name)) { return null; } - if (StringUtils.isNotBlank(keyPrefix) && name.startsWith(keyPrefix)) { + if (StrUtil.isNotBlank(keyPrefix) && name.startsWith(keyPrefix)) { return name.substring(keyPrefix.length()); } return name; diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/handler/RedisExceptionHandler.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/handler/RedisExceptionHandler.java deleted file mode 100644 index 5e904f37f..000000000 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/handler/RedisExceptionHandler.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.dromara.common.redis.handler; - -import cn.hutool.http.HttpStatus; -import com.baomidou.lock.exception.LockFailureException; -import jakarta.servlet.http.HttpServletRequest; -import lombok.extern.slf4j.Slf4j; -import org.dromara.common.core.domain.R; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.RestControllerAdvice; - -/** - * Redis异常处理器 - * - * @author AprilWind - */ -@Slf4j -@RestControllerAdvice -public class RedisExceptionHandler { - - /** - * 分布式锁Lock4j异常 - */ - @ExceptionHandler(LockFailureException.class) - public R handleLockFailureException(LockFailureException e, HttpServletRequest request) { - String requestURI = request.getRequestURI(); - log.error("获取锁失败了'{}',发生Lock4j异常.", requestURI, e); - return R.fail(HttpStatus.HTTP_UNAVAILABLE, "业务处理中,请稍后再试..."); - } - -} diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/manager/CaffeineCacheDecorator.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/manager/CaffeineCacheDecorator.java index 793e21f5c..dfd9439d3 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/manager/CaffeineCacheDecorator.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/manager/CaffeineCacheDecorator.java @@ -1,6 +1,6 @@ package org.dromara.common.redis.manager; -import org.dromara.common.core.utils.SpringUtils; +import cn.hutool.extra.spring.SpringUtil; import org.springframework.cache.Cache; import java.util.concurrent.Callable; @@ -13,7 +13,7 @@ import java.util.concurrent.Callable; public class CaffeineCacheDecorator implements Cache { private static final com.github.benmanes.caffeine.cache.Cache - CAFFEINE = SpringUtils.getBean("caffeine"); + CAFFEINE = SpringUtil.getBean("caffeine"); private final String name; private final Cache cache; diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/CacheUtils.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/CacheUtils.java index 42a88d678..f0e08c972 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/CacheUtils.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/CacheUtils.java @@ -1,6 +1,6 @@ package org.dromara.common.redis.utils; -import org.dromara.common.core.utils.SpringUtils; +import cn.hutool.extra.spring.SpringUtil; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.redisson.api.RMap; @@ -19,7 +19,7 @@ import java.util.Set; @SuppressWarnings(value = {"unchecked"}) public class CacheUtils { - private static final CacheManager CACHE_MANAGER = SpringUtils.getBean(CacheManager.class); + private static final CacheManager CACHE_MANAGER = SpringUtil.getBean(CacheManager.class); /** * 获取缓存组内所有的KEY diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/QueueUtils.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/QueueUtils.java index e436a467f..0f577fa92 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/QueueUtils.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/QueueUtils.java @@ -1,8 +1,8 @@ package org.dromara.common.redis.utils; +import cn.hutool.extra.spring.SpringUtil; import lombok.AccessLevel; import lombok.NoArgsConstructor; -import org.dromara.common.core.utils.SpringUtils; import org.redisson.api.*; import java.util.concurrent.CompletionStage; @@ -20,7 +20,7 @@ import java.util.function.Function; @NoArgsConstructor(access = AccessLevel.PRIVATE) public class QueueUtils { - private static final RedissonClient CLIENT = SpringUtils.getBean(RedissonClient.class); + private static final RedissonClient CLIENT = SpringUtil.getBean(RedissonClient.class); /** diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java index 67be2fb76..55c8cc885 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java @@ -1,8 +1,8 @@ package org.dromara.common.redis.utils; +import cn.hutool.extra.spring.SpringUtil; import lombok.AccessLevel; import lombok.NoArgsConstructor; -import org.dromara.common.core.utils.SpringUtils; import org.redisson.api.*; import java.time.Duration; @@ -24,7 +24,7 @@ import java.util.stream.Stream; @SuppressWarnings(value = {"unchecked", "rawtypes"}) public class RedisUtils { - private static final RedissonClient CLIENT = SpringUtils.getBean(RedissonClient.class); + private static final RedissonClient CLIENT = SpringUtil.getBean(RedissonClient.class); /** * 限流 diff --git a/ruoyi-common/ruoyi-common-translation/pom.xml b/ruoyi-common/ruoyi-common-translation/pom.xml index e77b868bb..77a9c4e29 100644 --- a/ruoyi-common/ruoyi-common-translation/pom.xml +++ b/ruoyi-common/ruoyi-common-translation/pom.xml @@ -16,7 +16,10 @@ - + + org.dromara + ruoyi-common-core + org.dromara ruoyi-common-json diff --git a/ruoyi-common/ruoyi-common-web/pom.xml b/ruoyi-common/ruoyi-common-web/pom.xml index 5e366bc3b..3236b2e18 100644 --- a/ruoyi-common/ruoyi-common-web/pom.xml +++ b/ruoyi-common/ruoyi-common-web/pom.xml @@ -16,6 +16,10 @@ + + org.dromara + ruoyi-common-core + org.dromara ruoyi-common-json