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