sonar代码规范问题修复;

This commit is contained in:
gaoqr
2024-09-14 10:47:03 +08:00
parent 73440a7f3a
commit 59296b19c8
30 changed files with 75 additions and 72 deletions
@@ -2,7 +2,6 @@ package com.cf.imes.framework.common.util.json;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.PrimitiveArrayUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.type.TypeReference;
@@ -144,7 +143,7 @@ public class JsonUtils {
}
public static <T> List<T> parseArray(String text, Class<T> clazz) {
if (StrUtil.isEmpty(text)) {
if (CharSequenceUtil.isEmpty(text)) {
return new ArrayList<>();
}
try {
@@ -156,7 +155,7 @@ public class JsonUtils {
}
public static <T> List<T> parseArray(String text, String path, Class<T> clazz) {
if (StrUtil.isEmpty(text)) {
if (CharSequenceUtil.isEmpty(text)) {
return null;
}
try {
@@ -2,7 +2,7 @@ package com.cf.imes.framework.organ.core.job;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.ExceptionUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.cf.imes.framework.common.util.json.JsonUtils;
import com.cf.imes.framework.organ.core.service.OrganFrameworkService;
import com.cf.imes.framework.organ.core.util.OrganUtils;
@@ -51,7 +51,7 @@ public class OrganJobAspect {
} catch (Throwable e) {
results.put(organId, ExceptionUtil.getRootCauseMessage(e));
// 打印异常
XxlJobHelper.log(StrUtil.format("[多组织({}) 执行任务({}),发生异常:{}]",
XxlJobHelper.log(CharSequenceUtil.format("[多组织({}) 执行任务({}),发生异常:{}]",
organId, joinPoint.getSignature(), ExceptionUtils.getStackTrace(e)));
}
});
@@ -1,6 +1,6 @@
package com.cf.imes.framework.organ.core.mq.kafka;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.env.EnvironmentPostProcessor;
@@ -23,7 +23,7 @@ public class OrganKafkaEnvironmentPostProcessor implements EnvironmentPostProces
// 添加 OrganKafkaProducerInterceptor 拦截器
try {
String value = environment.getProperty(PROPERTY_KEY_INTERCEPTOR_CLASSES);
if (StrUtil.isEmpty(value)) {
if (CharSequenceUtil.isEmpty(value)) {
value = OrganKafkaProducerInterceptor.class.getName();
} else {
value += "," + OrganKafkaProducerInterceptor.class.getName();
@@ -1,6 +1,6 @@
package com.cf.imes.framework.organ.core.mq.redis;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.cf.imes.framework.mq.redis.core.interceptor.RedisMessageInterceptor;
import com.cf.imes.framework.mq.redis.core.message.AbstractRedisMessage;
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
@@ -28,7 +28,7 @@ public class OrganRedisMessageInterceptor implements RedisMessageInterceptor {
@Override
public void consumeMessageBefore(AbstractRedisMessage message) {
String organIdStr = message.getHeader(HEADER_ORGAN_ID);
if (StrUtil.isNotEmpty(organIdStr)) {
if (CharSequenceUtil.isNotEmpty(organIdStr)) {
OrganContextHolder.setOrganId(Long.valueOf(organIdStr));
}
}
@@ -1,7 +1,7 @@
package com.cf.imes.framework.organ.core.mq.rocketmq;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
import org.apache.rocketmq.client.hook.ConsumeMessageContext;
import org.apache.rocketmq.client.hook.ConsumeMessageHook;
@@ -33,7 +33,7 @@ public class OrganRocketMQConsumeMessageHook implements ConsumeMessageHook {
Assert.isTrue(messages.size() == 1, "消息条数({})不正确", messages.size());
// 设置组织编号
String organId = messages.get(0).getUserProperty(HEADER_ORGAN_ID);
if (StrUtil.isNotEmpty(organId)) {
if (CharSequenceUtil.isNotEmpty(organId)) {
OrganContextHolder.setOrganId(Long.parseLong(organId));
}
}
@@ -2,7 +2,7 @@ package com.cf.imes.framework.pay.core.client.impl.alipay;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.cf.imes.framework.pay.core.client.dto.order.PayOrderRespDTO;
import com.cf.imes.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO;
import com.cf.imes.framework.pay.core.enums.channel.PayChannelEnum;
@@ -37,7 +37,7 @@ public class AlipayBarPayClient extends AbstractAlipayPayClient {
@Override
public PayOrderRespDTO doUnifiedOrder(PayOrderUnifiedReqDTO reqDTO) throws AlipayApiException {
String authCode = MapUtil.getStr(reqDTO.getChannelExtras(), "auth_code");
if (StrUtil.isEmpty(authCode)) {
if (CharSequenceUtil.isEmpty(authCode)) {
throw exception0(BAD_REQUEST.getCode(), "条形码不能为空");
}
@@ -30,6 +30,7 @@ public class MockPayClient extends AbstractPayClient<NonePayClientConfig> {
@Override
protected void doInit() {
// nothing
}
@Override
@@ -40,6 +40,7 @@ public class DebugDingTalkSmsClient extends AbstractSmsClient {
@Override
protected void doInit() {
// nothing
}
@Override
@@ -1,8 +1,8 @@
package com.cf.imes.framework.es.core.service;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import co.elastic.clients.elasticsearch.ElasticsearchAsyncClient;
import co.elastic.clients.elasticsearch.ElasticsearchClient;
@@ -50,7 +50,7 @@ public class ESDocumentServiceImpl implements ESDocumentService {
document.setCreateTime(simpleDateFormat.format(date));
document.setUpdateTime(simpleDateFormat.format(date));
if (StrUtil.isBlank(document.getId())) {
if (CharSequenceUtil.isBlank(document.getId())) {
document.setId(snowflake.nextIdStr());
}
return elasticsearchClient.index(idx -> idx
@@ -77,7 +77,7 @@ public class ESDocumentServiceImpl implements ESDocumentService {
document.setUpdateTime(simpleDateFormat.format(date));
IndexRequest.Builder<Object> indexReqBuilder = new IndexRequest.Builder<>();
indexReqBuilder.index(idxName);
if (StrUtil.isBlank(idxId)) {
if (CharSequenceUtil.isBlank(idxId)) {
idxId = snowflake.nextIdStr();
}
indexReqBuilder.id(idxId);
@@ -94,7 +94,7 @@ public class ESDocumentServiceImpl implements ESDocumentService {
*/
@Override
public IndexResponse createByJson(String idxName, String idxId, String jsonContent) throws Exception {
if (StrUtil.isBlank(idxId)) {
if (CharSequenceUtil.isBlank(idxId)) {
idxId = snowflake.nextIdStr();
}
String finalIdxId = idxId;
@@ -136,7 +136,7 @@ public class ESDocumentServiceImpl implements ESDocumentService {
Date date = new Date();
LocalDateTime now = LocalDateTime.now();
documents.forEach(esDocument -> {
if (StrUtil.isBlank(esDocument.getId())) {
if (CharSequenceUtil.isBlank(esDocument.getId())) {
esDocument.setId(snowflake.nextIdStr());
}
esDocument.setCreator(loginUser.getNickname());
@@ -169,7 +169,7 @@ public class ESDocumentServiceImpl implements ESDocumentService {
Date date = new Date();
documents.forEach(esDocument -> {
// 假设esDocument有一个ID集。如果没有,则应该抛出异常或进行相应的处理。
if (StrUtil.isBlank(esDocument.getId())) {
if (CharSequenceUtil.isBlank(esDocument.getId())) {
throw new IllegalArgumentException("更新操作的文档ID不能为空");
}
esDocument.setUpdater(loginUser.getNickname());
@@ -1,6 +1,6 @@
package com.cf.imes.framework.env.config;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.cf.imes.framework.common.util.collection.SetUtils;
import com.cf.imes.framework.env.core.util.EnvUtils;
import org.springframework.boot.SpringApplication;
@@ -25,20 +25,20 @@ public class EnvEnvironmentPostProcessor implements EnvironmentPostProcessor {
@Override
public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
// 0. 设置 ${HOST_NAME} 兜底的环境变量
String hostNameKey = StrUtil.subBetween(EnvUtils.HOST_NAME_VALUE, "{", "}");
String hostNameKey = CharSequenceUtil.subBetween(EnvUtils.HOST_NAME_VALUE, "{", "}");
if (!environment.containsProperty(hostNameKey)) {
environment.getSystemProperties().put(hostNameKey, EnvUtils.getHostName());
}
// 1.1 如果没有 chenfeng.env.tag 配置项,则不进行配置项的修改
String tag = EnvUtils.getTag(environment);
if (StrUtil.isEmpty(tag)) {
if (CharSequenceUtil.isEmpty(tag)) {
return;
}
// 1.2 需要修改的配置项
for (String targetTagKey : TARGET_TAG_KEYS) {
String targetTagValue = environment.getProperty(targetTagKey);
if (StrUtil.isNotEmpty(targetTagValue)) {
if (CharSequenceUtil.isNotEmpty(targetTagValue)) {
continue;
}
environment.getSystemProperties().put(targetTagKey, tag);
@@ -1,7 +1,7 @@
package com.cf.imes.framework.env.core.fegin;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.cf.imes.framework.common.util.collection.CollectionUtils;
import com.cf.imes.framework.env.core.context.EnvContextHolder;
import com.cf.imes.framework.env.core.util.EnvUtils;
@@ -51,7 +51,7 @@ public class EnvLoadBalancerClient implements ReactorServiceInstanceLoadBalancer
public Mono<Response<ServiceInstance>> choose(Request request) {
// 情况一,没有 tag 时,使用默认的 reactiveLoadBalancer 实现负载均衡
String tag = EnvContextHolder.getTag();
if (StrUtil.isEmpty(tag)) {
if (CharSequenceUtil.isEmpty(tag)) {
return Mono.from(reactiveLoadBalancer.choose(request));
}
@@ -1,6 +1,6 @@
package com.cf.imes.framework.env.core.fegin;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.cf.imes.framework.env.core.context.EnvContextHolder;
import com.cf.imes.framework.env.core.util.EnvUtils;
import feign.RequestInterceptor;
@@ -16,7 +16,7 @@ public class EnvRequestInterceptor implements RequestInterceptor {
@Override
public void apply(RequestTemplate requestTemplate) {
String tag = EnvContextHolder.getTag();
if (StrUtil.isNotEmpty(tag)) {
if (CharSequenceUtil.isNotEmpty(tag)) {
EnvUtils.setTag(requestTemplate, tag);
}
}
@@ -1,6 +1,6 @@
package com.cf.imes.framework.env.core.web;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.cf.imes.framework.env.core.context.EnvContextHolder;
import com.cf.imes.framework.env.core.util.EnvUtils;
import org.springframework.web.filter.OncePerRequestFilter;
@@ -24,7 +24,7 @@ public class EnvWebFilter extends OncePerRequestFilter {
throws ServletException, IOException {
// 如果没有 tag,则走默认的流程
String tag = EnvUtils.getTag(request);
if (StrUtil.isEmpty(tag)) {
if (CharSequenceUtil.isEmpty(tag)) {
chain.doFilter(request, response);
return;
}
@@ -1,6 +1,6 @@
package com.cf.imes.framework.excel.core.util;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.converters.longconverter.LongStringConverter;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import org.springframework.web.multipart.MultipartFile;
@@ -32,7 +32,7 @@ public class ExcelUtils {
public static <T> void write(HttpServletResponse response, String filename, String sheetName,
Class<T> head, List<T> data) throws IOException {
// 输出 Excel
EasyExcel.write(response.getOutputStream(), head)
EasyExcelFactory.write(response.getOutputStream(), head)
.autoCloseStream(false) // 不要自动关闭,交给 Servlet 自己处理
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 基于 column 长度,自动适配。最大 255 宽度
.registerConverter(new LongStringConverter()) // 避免 Long 类型丢失精度
@@ -43,7 +43,7 @@ public class ExcelUtils {
}
public static <T> List<T> read(MultipartFile file, Class<T> head) throws IOException {
return EasyExcel.read(file.getInputStream(), head, null)
return EasyExcelFactory.read(file.getInputStream(), head, null)
.autoCloseStream(false) // 不要自动关闭,交给 Servlet 自己处理
.doReadAllSync();
}
@@ -18,6 +18,7 @@ public class DBFileClient extends AbstractFileClient<DBFileClientConfig> {
@Override
protected void doInit() {
// nothing
}
@Override
@@ -1,8 +1,9 @@
package com.cf.imes.framework.file.core.client.ftp;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.text.StrPool;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.ftp.Ftp;
import cn.hutool.extra.ftp.FtpException;
import cn.hutool.extra.ftp.FtpMode;
@@ -27,10 +28,10 @@ public class FtpFileClient extends AbstractFileClient<FtpFileClientConfig> {
@Override
protected void doInit() {
// 把配置的 \ 替换成 /, 如果路径配置 \a\test, 替换成 /a/test, 替换方法已经处理 null 情况
config.setBasePath(StrUtil.replace(config.getBasePath(), StrUtil.BACKSLASH, StrUtil.SLASH));
config.setBasePath(CharSequenceUtil.replace(config.getBasePath(), StrPool.BACKSLASH, StrPool.SLASH));
// ftp的路径是 / 结尾
if (!config.getBasePath().endsWith(StrUtil.SLASH)) {
config.setBasePath(config.getBasePath() + StrUtil.SLASH);
if (!config.getBasePath().endsWith(StrPool.SLASH)) {
config.setBasePath(config.getBasePath() + StrPool.SLASH);
}
// 初始化 Ftp 对象
this.ftp = new Ftp(config.getHost(), config.getPort(), config.getUsername(), config.getPassword(),
@@ -42,11 +43,11 @@ public class FtpFileClient extends AbstractFileClient<FtpFileClientConfig> {
// 执行写入
String filePath = getFilePath(path);
String fileName = FileUtil.getName(filePath);
String dir = StrUtil.removeSuffix(filePath, fileName);
String dir = CharSequenceUtil.removeSuffix(filePath, fileName);
ftp.reconnectIfTimeout();
boolean success = ftp.upload(dir, fileName, new ByteArrayInputStream(content));
if (!success) {
throw new FtpException(StrUtil.format("上传文件到目标目录 ({}) 失败", filePath));
throw new FtpException(CharSequenceUtil.format("上传文件到目标目录 ({}) 失败", filePath));
}
// 拼接返回路径
return super.formatFileUrl(config.getDomain(), path);
@@ -63,7 +64,7 @@ public class FtpFileClient extends AbstractFileClient<FtpFileClientConfig> {
public byte[] getContent(String path) {
String filePath = getFilePath(path);
String fileName = FileUtil.getName(filePath);
String dir = StrUtil.removeSuffix(filePath, fileName);
String dir = CharSequenceUtil.removeSuffix(filePath, fileName);
ByteArrayOutputStream out = new ByteArrayOutputStream();
ftp.reconnectIfTimeout();
ftp.download(dir, fileName, out);
@@ -1,7 +1,7 @@
package com.cf.imes.framework.tracer.core.aop;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.cf.imes.framework.tracer.core.annotation.BizTrace;
import com.cf.imes.framework.common.util.spring.SpringExpressionUtils;
import com.cf.imes.framework.tracer.core.util.TracerFrameworkUtils;
@@ -55,7 +55,7 @@ public class BizTraceAspect {
private String getOperationName(ProceedingJoinPoint joinPoint, BizTrace trace) {
// 自定义操作名
if (StrUtil.isNotEmpty(trace.operationName())) {
if (CharSequenceUtil.isNotEmpty(trace.operationName())) {
return BIZ_OPERATION_NAME_PREFIX + trace.operationName();
}
// 默认操作名,使用方法名
@@ -1,7 +1,7 @@
package com.cf.imes.framework.mq.redis.config;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.system.SystemUtil;
import com.cf.imes.framework.common.enums.DocumentEnum;
import com.cf.imes.framework.mq.redis.core.RedisMQTemplate;
@@ -162,9 +162,9 @@ public class ChenfengRedisMQConsumerAutoConfiguration {
Properties info = redisTemplate.execute((RedisCallback<Properties>) RedisServerCommands::info);
String version = MapUtil.getStr(info, "redis_version");
// 校验最低版本必须大于等于 5.0.0
int majorVersion = Integer.parseInt(StrUtil.subBefore(version, '.', false));
int majorVersion = Integer.parseInt(CharSequenceUtil.subBefore(version, '.', false));
if (majorVersion < 5) {
throw new IllegalStateException(StrUtil.format("您当前的 Redis 版本为 {},小于最低要求的 5.0.0 版本!" +
throw new IllegalStateException(CharSequenceUtil.format("您当前的 Redis 版本为 {},小于最低要求的 5.0.0 版本!" +
"请参考 {} 文档进行安装。", version, DocumentEnum.REDIS_INSTALL.getUrl()));
}
}
@@ -29,7 +29,7 @@ public class ChenfengDataSourceAutoConfiguration {
DruidStatProperties.StatViewServlet config = properties.getStatViewServlet();
// 提取 common.js 的配置路径
String pattern = config.getUrlPattern() != null ? config.getUrlPattern() : "/druid/*";
String commonJsPattern = pattern.replaceAll("\\*", "js/common.js");
String commonJsPattern = pattern.replace("\\*", "js/common.js");
// 创建 DruidAdRemoveFilter Bean
FilterRegistrationBean<DruidAdRemoveFilter> registrationBean = new FilterRegistrationBean<>();
registrationBean.setFilter(new DruidAdRemoveFilter());
@@ -1,6 +1,6 @@
package com.cf.imes.framework.mybatis.config;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator;
import com.cf.imes.framework.mybatis.core.handler.DefaultDBFieldHandler;
@@ -70,7 +70,7 @@ public class ChenfengMybatisAutoConfiguration {
}
}
// 找不到合适的 IKeyGenerator 实现类
throw new IllegalArgumentException(StrUtil.format("DbType{} 找不到合适的 IKeyGenerator 实现类", dbType));
throw new IllegalArgumentException(CharSequenceUtil.format("DbType{} 找不到合适的 IKeyGenerator 实现类", dbType));
}
}
@@ -1,6 +1,6 @@
package com.cf.imes.framework.mybatis.config;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.cf.imes.framework.common.util.collection.SetUtils;
import com.cf.imes.framework.mybatis.core.enums.SqlConstants;
import com.cf.imes.framework.mybatis.core.util.JdbcUtils;
@@ -70,7 +70,7 @@ public class IdTypeEnvironmentPostProcessor implements EnvironmentPostProcessor
public void setJobStoreDriverIfPresent(ConfigurableEnvironment environment, DbType dbType) {
String driverClass = environment.getProperty(QUARTZ_JOB_STORE_DRIVER_KEY);
if (StrUtil.isNotEmpty(driverClass)) {
if (CharSequenceUtil.isNotEmpty(driverClass)) {
return;
}
// 根据 dbType 类型,获取对应的 driverClass
@@ -88,18 +88,18 @@ public class IdTypeEnvironmentPostProcessor implements EnvironmentPostProcessor
break;
}
// 设置 driverClass 变量
if (StrUtil.isNotEmpty(driverClass)) {
if (CharSequenceUtil.isNotEmpty(driverClass)) {
environment.getSystemProperties().put(QUARTZ_JOB_STORE_DRIVER_KEY, driverClass);
}
}
public static DbType getDbType(ConfigurableEnvironment environment) {
String primary = environment.getProperty(DATASOURCE_DYNAMIC_KEY + "." + "primary");
if (StrUtil.isEmpty(primary)) {
if (CharSequenceUtil.isEmpty(primary)) {
return null;
}
String url = environment.getProperty(DATASOURCE_DYNAMIC_KEY + ".datasource." + primary + ".url");
if (StrUtil.isEmpty(url)) {
if (CharSequenceUtil.isEmpty(url)) {
return null;
}
return JdbcUtils.getDbType(url);
@@ -36,6 +36,6 @@ public class ChenfengDataSourceEncryptInitEvent implements DataSourceInitEvent {
*/
@Override
public void afterCreate(DataSource dataSource) {
// nothing
}
}
@@ -1,6 +1,6 @@
package com.cf.imes.framework.mybatis.core.handler;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.cf.imes.framework.common.util.json.JsonUtils;
import com.cf.imes.framework.mybatis.OAuth2AccessTokenDO;
import com.cf.imes.framework.mybatis.core.dataobject.BaseDO;
@@ -137,7 +137,7 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
HttpServletRequest request = WebFrameworkUtils.getRequest();
// 1. 获得 Token。优先级:Header > Parameter
String token = request.getHeader(headerName);
if (StrUtil.isEmpty(token)) {
if (CharSequenceUtil.isEmpty(token)) {
token = request.getParameter(parameterName);
}
if (!StringUtils.hasText(token)) {
@@ -1,6 +1,6 @@
package com.cf.imes.framework.mybatis.core.util;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.collection.CollUtil;
import com.cf.imes.framework.common.pojo.PageParam;
import com.cf.imes.framework.common.pojo.SortingField;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
@@ -32,7 +32,7 @@ public class MyBatisUtils {
// 页码 + 数量
Page<T> page = new Page<>(pageParam.getPageNo(), pageParam.getPageSize());
// 排序字段
if (!CollectionUtil.isEmpty(sortingFields)) {
if (!CollUtil.isEmpty(sortingFields)) {
page.addOrder(sortingFields.stream().map(sortingField -> SortingField.ORDER_ASC.equals(sortingField.getOrder()) ?
OrderItem.asc(sortingField.getField()) : OrderItem.desc(sortingField.getField()))
.collect(Collectors.toList()));
@@ -1,6 +1,6 @@
package com.cf.imes.framework.idempotent.core.keyresolver.impl;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.crypto.SecureUtil;
import com.cf.imes.framework.idempotent.core.annotation.Idempotent;
import com.cf.imes.framework.idempotent.core.keyresolver.IdempotentKeyResolver;
@@ -18,7 +18,7 @@ public class DefaultIdempotentKeyResolver implements IdempotentKeyResolver {
@Override
public String resolver(JoinPoint joinPoint, Idempotent idempotent) {
String methodName = joinPoint.getSignature().toString();
String argsStr = StrUtil.join(",", joinPoint.getArgs());
String argsStr = CharSequenceUtil.join(",", joinPoint.getArgs());
return SecureUtil.md5(methodName + argsStr);
}
@@ -1,6 +1,6 @@
package com.cf.imes.framework.redis.config;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.StrPool;
import com.cf.imes.framework.redis.core.TimeoutRedisCacheManager;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.cache.CacheProperties;
@@ -44,10 +44,10 @@ public class ChenfengCacheAutoConfiguration {
config = config.computePrefixWith(cacheName -> {
String keyPrefix = cacheProperties.getRedis().getKeyPrefix();
if (StringUtils.hasText(keyPrefix)) {
keyPrefix = keyPrefix.lastIndexOf(StrUtil.COLON) == -1 ? keyPrefix + StrUtil.COLON : keyPrefix;
return keyPrefix + cacheName + StrUtil.COLON;
keyPrefix = keyPrefix.lastIndexOf(StrPool.COLON) == -1 ? keyPrefix + StrPool.COLON : keyPrefix;
return keyPrefix + cacheName + StrPool.COLON;
}
return cacheName + StrUtil.COLON;
return cacheName + StrPool.COLON;
});
// 设置使用 JSON 序列化方式
config = config.serializeValuesWith(
@@ -1,6 +1,6 @@
package com.cf.imes.framework.web.core.filter;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.cf.imes.framework.web.config.WebProperties;
import lombok.RequiredArgsConstructor;
import org.springframework.web.filter.OncePerRequestFilter;
@@ -20,7 +20,7 @@ public abstract class ApiRequestFilter extends OncePerRequestFilter {
@Override
protected boolean shouldNotFilter(HttpServletRequest request) {
// 只过滤 API 请求的地址
return !StrUtil.startWithAny(request.getRequestURI(), webProperties.getAdminApi().getPrefix(),
return !CharSequenceUtil.startWithAny(request.getRequestURI(), webProperties.getAdminApi().getPrefix(),
webProperties.getAppApi().getPrefix());
}
@@ -1,6 +1,6 @@
package com.cf.imes.framework.web.core.filter;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants;
import com.cf.imes.framework.common.pojo.CommonResult;
@@ -37,14 +37,14 @@ public class DataSourceFilter extends OncePerRequestFilter {
@Override
protected boolean shouldNotFilter(HttpServletRequest request) {
// 只过滤 API 请求的地址
return !StrUtil.startWithAny(request.getRequestURI(), webProperties.getAdminApi().getPrefix(),
return !CharSequenceUtil.startWithAny(request.getRequestURI(), webProperties.getAdminApi().getPrefix(),
webProperties.getAppApi().getPrefix());
}
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
String dataCode = request.getHeader(DATA_SOURCE_CODE);
if(StrUtil.isEmpty(dataCode)) {
if(CharSequenceUtil.isEmpty(dataCode)) {
//TODO 如果要严谨一点,应该再去校验一下token
ServletUtils.writeJSON(response, CommonResult.error(GlobalErrorCodeConstants.UNAUTHORIZED.getCode(), "访问令牌已过期"));
log.info("Let the user log in because there is no data-code! requestURI==>{}", request.getRequestURI());
@@ -1,6 +1,6 @@
package com.cf.imes.framework.web.core.filter;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.cf.imes.framework.common.pojo.CommonResult;
import com.cf.imes.framework.common.util.servlet.ServletUtils;
import com.cf.imes.framework.web.core.util.WebFrameworkUtils;
@@ -22,7 +22,7 @@ public class DemoFilter extends OncePerRequestFilter {
@Override
protected boolean shouldNotFilter(HttpServletRequest request) {
String method = request.getMethod();
return !StrUtil.equalsAnyIgnoreCase(method, "POST", "PUT", "DELETE") // 写操作时,不进行过滤率
return !CharSequenceUtil.equalsAnyIgnoreCase(method, "POST", "PUT", "DELETE") // 写操作时,不进行过滤率
|| WebFrameworkUtils.getLoginUserId(request) == null; // 非登录用户时,不进行过滤
}
@@ -1,6 +1,6 @@
package com.cf.imes.framework.websocket.core.handler;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.TypeUtil;
import com.cf.imes.framework.common.util.json.JsonUtils;
import com.cf.imes.framework.organ.core.util.OrganUtils;
@@ -60,7 +60,7 @@ public class JsonWebSocketMessageHandler extends TextWebSocketHandler {
log.error("[handleTextMessage][session({}) message({}) 解析为空]", session.getId(), message.getPayload());
return;
}
if (StrUtil.isEmpty(jsonMessage.getType())) {
if (CharSequenceUtil.isEmpty(jsonMessage.getType())) {
log.error("[handleTextMessage][session({}) message({}) 类型为空]", session.getId(), message.getPayload());
return;
}