diff --git a/cf-dependencies/pom.xml b/cf-dependencies/pom.xml index 748a3d17a..0c0122051 100644 --- a/cf-dependencies/pom.xml +++ b/cf-dependencies/pom.xml @@ -376,16 +376,6 @@ org.apache.skywalking apm-toolkit-opentracing ${skywalking.version} - - - - - - - - - - io.opentracing diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/WebFilterOrderEnum.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/WebFilterOrderEnum.java index 604738cec..eb9269dfe 100644 --- a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/WebFilterOrderEnum.java +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/WebFilterOrderEnum.java @@ -7,30 +7,27 @@ package com.cf.imes.framework.common.enums; * * @author 晨丰科技 */ -public interface WebFilterOrderEnum { +public class WebFilterOrderEnum { - int CORS_FILTER = Integer.MIN_VALUE; + public static int CORS_FILTER = Integer.MIN_VALUE; - int TRACE_FILTER = CORS_FILTER + 1; + public static int TRACE_FILTER = CORS_FILTER + 1; - int ENV_TAG_FILTER = TRACE_FILTER + 1; + public static int ENV_TAG_FILTER = TRACE_FILTER + 1; - int REQUEST_BODY_CACHE_FILTER = Integer.MIN_VALUE + 500; + public static int REQUEST_BODY_CACHE_FILTER = Integer.MIN_VALUE + 500; // OrderedRequestContextFilter 默认为 -105,用于国际化上下文等等 - int TENANT_CONTEXT_FILTER = - 104; // 需要保证在 ApiAccessLogFilter 前面 + public static int TENANT_CONTEXT_FILTER = - 104; // 需要保证在 ApiAccessLogFilter 前面 - int API_ACCESS_LOG_FILTER = -103; // 需要保证在 RequestBodyCacheFilter 后面 + public static int API_ACCESS_LOG_FILTER = -103; // 需要保证在 RequestBodyCacheFilter 后面 - int XSS_FILTER = -102; // 需要保证在 RequestBodyCacheFilter 后面 + public static int XSS_FILTER = -102; // 需要保证在 RequestBodyCacheFilter 后面 // Spring Security Filter 默认为 -100,可见 org.springframework.boot.autoconfigure.security.SecurityProperties 配置属性类 - int TENANT_SECURITY_FILTER = -99; // 需要保证在 Spring Security 过滤器后面 - - int FLOWABLE_FILTER = -98; // 需要保证在 Spring Security 过滤后面 - - int DEMO_FILTER = Integer.MAX_VALUE; + public static int TENANT_SECURITY_FILTER = -99; // 需要保证在 Spring Security 过滤器后面 + public static int FLOWABLE_FILTER = -98; // 需要保证在 Spring Security 过滤后面 } diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/number/NumberUtils.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/number/NumberUtils.java index 3c46e3dcc..f99eb7cfe 100644 --- a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/number/NumberUtils.java +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/number/NumberUtils.java @@ -1,6 +1,6 @@ package com.cf.imes.framework.common.util.number; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; /** * 数字的工具类,补全 {@link cn.hutool.core.util.NumberUtil} 的功能 @@ -10,7 +10,7 @@ import cn.hutool.core.util.StrUtil; public class NumberUtils { public static Long parseLong(String str) { - return StrUtil.isNotEmpty(str) ? Long.valueOf(str) : null; + return CharSequenceUtil.isNotEmpty(str) ? Long.valueOf(str) : null; } /** diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/servlet/ServletUtils.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/servlet/ServletUtils.java index 0875b5a70..43de06bf0 100644 --- a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/servlet/ServletUtils.java +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/servlet/ServletUtils.java @@ -1,7 +1,7 @@ package com.cf.imes.framework.common.util.servlet; import cn.hutool.core.io.IoUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.extra.servlet.ServletUtil; import com.cf.imes.framework.common.util.json.JsonUtils; import org.springframework.http.MediaType; @@ -89,7 +89,7 @@ public class ServletUtils { } public static boolean isJsonRequest(ServletRequest request) { - return StrUtil.startWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE); + return CharSequenceUtil.startWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE); } public static String getBody(HttpServletRequest request) { diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/string/StrUtils.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/string/StrUtils.java index 41956d202..1f80ac960 100644 --- a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/string/StrUtils.java +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/string/StrUtils.java @@ -1,7 +1,7 @@ package com.cf.imes.framework.common.util.string; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.util.StrUtil; import java.util.Arrays; import java.util.Collection; @@ -16,7 +16,7 @@ import java.util.stream.Collectors; public class StrUtils { public static String maxLength(CharSequence str, int maxLength) { - return StrUtil.maxLength(str, maxLength - 3); // -3 的原因,是该方法会补充 ... 恰好 + return CharSequenceUtil.maxLength(str, maxLength - 3); // -3 的原因,是该方法会补充 ... 恰好 } /** @@ -28,12 +28,12 @@ public class StrUtils { * @since 3.0.6 */ public static boolean startWithAny(String str, Collection prefixes) { - if (StrUtil.isEmpty(str) || ArrayUtil.isEmpty(prefixes)) { + if (CharSequenceUtil.isEmpty(str) || ArrayUtil.isEmpty(prefixes)) { return false; } for (CharSequence suffix : prefixes) { - if (StrUtil.startWith(str, suffix, false)) { + if (CharSequenceUtil.startWith(str, suffix, false)) { return true; } } @@ -41,12 +41,12 @@ public class StrUtils { } public static List splitToLong(String value, CharSequence separator) { - long[] longs = StrUtil.splitToLong(value, separator); + long[] longs = CharSequenceUtil.splitToLong(value, separator); return Arrays.stream(longs).boxed().collect(Collectors.toList()); } public static List splitToInteger(String value, CharSequence separator) { - int[] integers = StrUtil.splitToInt(value, separator); + int[] integers = CharSequenceUtil.splitToInt(value, separator); return Arrays.stream(integers).boxed().collect(Collectors.toList()); } @@ -58,7 +58,7 @@ public class StrUtils { * @return 移除后的字符串 */ public static String removeLineContains(String content, String sequence) { - if (StrUtil.isEmpty(content) || StrUtil.isEmpty(sequence)) { + if (CharSequenceUtil.isEmpty(content) || CharSequenceUtil.isEmpty(sequence)) { return content; } return Arrays.stream(content.split("\n")) diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/validation/InEnumCollectionValidator.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/validation/InEnumCollectionValidator.java index fc0f420a2..70897a93c 100644 --- a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/validation/InEnumCollectionValidator.java +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/validation/InEnumCollectionValidator.java @@ -34,7 +34,7 @@ public class InEnumCollectionValidator implements ConstraintValidator { // 校验不通过,自定义提示语句(因为,注解上的 value 是枚举类,无法获得枚举类的实际值) context.disableDefaultConstraintViolation(); // 禁用默认的 message 的值 context.buildConstraintViolationWithTemplate(context.getDefaultConstraintMessageTemplate() - .replaceAll("\\{value}", values.toString())).addConstraintViolation(); // 重新添加错误提示语句 + .replace("\\{value}", values.toString())).addConstraintViolation(); // 重新添加错误提示语句 return false; } diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/validation/MobileValidator.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/validation/MobileValidator.java index 9ecd27c4c..5e8fc95f6 100644 --- a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/validation/MobileValidator.java +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/validation/MobileValidator.java @@ -1,6 +1,6 @@ package com.cf.imes.framework.common.validation; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.text.CharSequenceUtil; import com.cf.imes.framework.common.util.validation.ValidationUtils; import javax.validation.ConstraintValidator; @@ -8,14 +8,10 @@ import javax.validation.ConstraintValidatorContext; public class MobileValidator implements ConstraintValidator { - @Override - public void initialize(Mobile annotation) { - } - @Override public boolean isValid(String value, ConstraintValidatorContext context) { // 如果手机号为空,默认不校验,即校验通过 - if (StrUtil.isEmpty(value)) { + if (CharSequenceUtil.isEmpty(value)) { return true; } // 校验手机 diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/validation/TelephoneValidator.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/validation/TelephoneValidator.java index ee3f698cd..6ce44cb45 100644 --- a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/validation/TelephoneValidator.java +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/validation/TelephoneValidator.java @@ -8,10 +8,6 @@ import javax.validation.ConstraintValidatorContext; public class TelephoneValidator implements ConstraintValidator { - @Override - public void initialize(Telephone annotation) { - } - @Override public boolean isValid(String value, ConstraintValidatorContext context) { // 如果手机号为空,默认不校验,即校验通过 diff --git a/cf-framework/cf-spring-boot-starter-biz-data-permission/src/main/java/com/cf/imes/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java b/cf-framework/cf-spring-boot-starter-biz-data-permission/src/main/java/com/cf/imes/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java index fb1e9b3a3..84d73d585 100644 --- a/cf-framework/cf-spring-boot-starter-biz-data-permission/src/main/java/com/cf/imes/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java +++ b/cf-framework/cf-spring-boot-starter-biz-data-permission/src/main/java/com/cf/imes/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java @@ -1,8 +1,8 @@ package com.cf.imes.framework.datapermission.core.rule.dept; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; import com.cf.imes.framework.common.enums.UserTypeEnum; import com.cf.imes.framework.common.util.collection.CollectionUtils; import com.cf.imes.framework.common.util.json.JsonUtils; @@ -147,7 +147,7 @@ public class DeptDataPermissionRule implements DataPermissionRule { private Expression buildDeptExpression(String tableName, Alias tableAlias, Set deptIds) { // 如果不存在配置,则无需作为条件 String columnName = deptColumns.get(tableName); - if (StrUtil.isEmpty(columnName)) { + if (CharSequenceUtil.isEmpty(columnName)) { return null; } // 如果为空,则无条件 @@ -165,7 +165,7 @@ public class DeptDataPermissionRule implements DataPermissionRule { return null; } String columnName = userColumns.get(tableName); - if (StrUtil.isEmpty(columnName)) { + if (CharSequenceUtil.isEmpty(columnName)) { return null; } // 拼接条件 diff --git a/cf-framework/cf-spring-boot-starter-biz-operatelog/src/main/java/com/cf/imes/framework/operatelog/core/aop/OperateLogAspect.java b/cf-framework/cf-spring-boot-starter-biz-operatelog/src/main/java/com/cf/imes/framework/operatelog/core/aop/OperateLogAspect.java index d728ff7d4..b7fb828ff 100644 --- a/cf-framework/cf-spring-boot-starter-biz-operatelog/src/main/java/com/cf/imes/framework/operatelog/core/aop/OperateLogAspect.java +++ b/cf-framework/cf-spring-boot-starter-biz-operatelog/src/main/java/com/cf/imes/framework/operatelog/core/aop/OperateLogAspect.java @@ -2,9 +2,8 @@ package com.cf.imes.framework.operatelog.core.aop; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.exceptions.ExceptionUtil; +import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.util.StrUtil; -import com.cf.imes.framework.common.enums.UserTypeEnum; import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.common.util.json.JsonUtils; import com.cf.imes.framework.common.util.monitor.TracerUtils; @@ -172,15 +171,15 @@ public class OperateLogAspect { if (operateLog != null) { operateLogObj.setModule(operateLog.module()); } - if (StrUtil.isEmpty(operateLogObj.getModule())) { + if (CharSequenceUtil.isEmpty(operateLogObj.getModule())) { Tag tag = getClassAnnotation(joinPoint, Tag.class); if (tag != null) { // 优先读取 @Tag 的 name 属性 - if (StrUtil.isNotEmpty(tag.name())) { + if (CharSequenceUtil.isNotEmpty(tag.name())) { operateLogObj.setModule(tag.name()); } // 没有的话,读取 @API 的 description 属性 - if (StrUtil.isEmpty(operateLogObj.getModule()) && ArrayUtil.isNotEmpty(tag.description())) { + if (CharSequenceUtil.isEmpty(operateLogObj.getModule()) && ArrayUtil.isNotEmpty(tag.description())) { operateLogObj.setModule(tag.description()); } } @@ -189,7 +188,7 @@ public class OperateLogAspect { if (operateLog != null) { operateLogObj.setName(operateLog.name()); } - if (StrUtil.isEmpty(operateLogObj.getName()) && operation != null) { + if (CharSequenceUtil.isEmpty(operateLogObj.getName()) && operation != null) { operateLogObj.setName(operation.summary()); } // type 属性 diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/template/ReportTemplateMapper.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/template/ReportTemplateMapper.java index ad2fd1994..b5403f7c7 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/template/ReportTemplateMapper.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/dal/mysql/template/ReportTemplateMapper.java @@ -54,7 +54,7 @@ public interface ReportTemplateMapper extends BaseMapperX { .eq(ReportTemplateDO::getType, ReportTemplateTypeEnum.CUSTOM)) .or(wrapper -> wrapper.eq(ReportTemplateDO::getType, ReportTemplateTypeEnum.SYSTEM))) // 不返回content xml,点击具体的模板中返回xml - .select(ReportTemplateDO::getId, ReportTemplateDO::getName, ReportTemplateDO::getCreateTime, ReportTemplateDO::getRemark); + .select(ReportTemplateDO::getId, ReportTemplateDO::getName, ReportTemplateDO::getCreateTime, ReportTemplateDO::getRemark, ReportTemplateDO::getType); return selectList(queryWrapper); } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java index 675459299..3b60bedf5 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java @@ -136,8 +136,15 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { if (isSuperAdmin) { copyTemplateDO.setType(ReportTemplateTypeEnum.SYSTEM); } else { + // 重置所属机构 + copyTemplateDO.setOrganId(SecurityFrameworkUtils.getUserOrganId()); copyTemplateDO.setType(ReportTemplateTypeEnum.CUSTOM); } + // 重置相关基础信息 + copyTemplateDO.setCreator(null); + copyTemplateDO.setUpdater(null); + copyTemplateDO.setUpdateTime(null); + copyTemplateDO.setCreateTime(null); // 新增模版 templateMapper.insert(copyTemplateDO); // 返回主键 @@ -331,7 +338,7 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapperX().likeIfPresent(ReportTemplateDO::getName, reqVO.getName()) .orderByDesc(ReportTemplateDO::getCreateTime) // 不返回content xml,点击具体的模板中返回xml - .select(ReportTemplateDO::getId, ReportTemplateDO::getName, ReportTemplateDO::getCreateTime, ReportTemplateDO::getRemark); + .select(ReportTemplateDO::getId, ReportTemplateDO::getName, ReportTemplateDO::getCreateTime, ReportTemplateDO::getRemark, ReportTemplateDO::getType); if (ObjectUtil.isNotNull(loginUser) && Boolean.FALSE.equals(loginUser.getIsSupAdmin())) { return templateMapper.selectNormalTemplateList(reqVO.getName(), loginUser.getOrganId()); } else { diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar b/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar index 129ecd0c8..447fc3b16 100644 Binary files a/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar and b/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar differ