From fe5120740bc1d59cd6b62a1cde38e211e861be76 Mon Sep 17 00:00:00 2001 From: khalil <842328916@qq.com> Date: Tue, 19 Aug 2025 18:44:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=B8=E6=88=8F=E8=A7=92=E6=A0=87-=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E8=A7=84=E5=88=99-=E7=89=88=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/utils/AppVersionUtil.java | 9 +++------ .../dto/resource/ResourceContext.java | 8 ++++---- .../resource/impl/ResourceServiceImpl.java | 20 ++++++++++++------- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/accompany-base/accompany-core/src/main/java/com/accompany/common/utils/AppVersionUtil.java b/accompany-base/accompany-core/src/main/java/com/accompany/common/utils/AppVersionUtil.java index 6bacd7e9a..ae4596c09 100644 --- a/accompany-base/accompany-core/src/main/java/com/accompany/common/utils/AppVersionUtil.java +++ b/accompany-base/accompany-core/src/main/java/com/accompany/common/utils/AppVersionUtil.java @@ -40,17 +40,14 @@ public class AppVersionUtil { return diff; } - public static Integer getAppVersion() { + public static String getAppVersion() { String APP_VERSION = "appVersion"; try { //获取当前版本号 ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); if (requestAttributes != null) { HttpServletRequest request = requestAttributes.getRequest(); - String appVersion = request.getParameter(APP_VERSION); - if (StrUtil.isNotBlank(appVersion)) { - return getAppVersion(appVersion); - } + return request.getParameter(APP_VERSION); } } catch (Exception ignored) { } @@ -58,7 +55,7 @@ public class AppVersionUtil { } public static Integer getAppVersion(String appVersion) { - return NumberUtil.parseInt(appVersion.replaceAll("\\.", String.valueOf(0))); + return NumberUtil.parseInt(appVersion.replaceAll("\\.", "")); } /** diff --git a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/dto/resource/ResourceContext.java b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/dto/resource/ResourceContext.java index e5c0ba821..ac4bfb52d 100644 --- a/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/dto/resource/ResourceContext.java +++ b/accompany-business/accompany-business-sdk/src/main/java/com/accompany/business/dto/resource/ResourceContext.java @@ -26,22 +26,22 @@ public class ResourceContext { /** * android */ - private Integer androidHighVersion; + private String androidHighVersion; /** * android */ - private Integer androidLowVersion; + private String androidLowVersion; /** * ios */ - private Integer iosHighVersion; + private String iosHighVersion; /** * ios */ - private Integer iosLowVersion; + private String iosLowVersion; /** * 渠道 diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/resource/impl/ResourceServiceImpl.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/resource/impl/ResourceServiceImpl.java index 4d1ea3511..8306cae66 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/resource/impl/ResourceServiceImpl.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/resource/impl/ResourceServiceImpl.java @@ -21,7 +21,6 @@ import com.accompany.common.enums.OperateType; import com.accompany.common.utils.AppVersionUtil; import com.accompany.core.base.DeviceInfoContextHolder; import com.accompany.core.base.UidContextHolder; -import com.accompany.core.enumeration.PartitionEnum; import com.accompany.core.model.Users; import com.accompany.core.service.user.UsersBaseService; import com.accompany.core.vo.SplashVo; @@ -79,7 +78,7 @@ public class ResourceServiceImpl extends ServiceImpl i DeviceInfo deviceInfo = DeviceInfoContextHolder.get(); String os = deviceInfo.getOs(); String channel = deviceInfo.getChannel(); - Integer appVersion = AppVersionUtil.getAppVersion(); + String appVersion = AppVersionUtil.getAppVersion(); //封装参数 ResourceContext context = new ResourceContext(); context.setUid(uid.toString()); @@ -166,9 +165,6 @@ public class ResourceServiceImpl extends ServiceImpl i if (ruleValue == null || StrUtil.isEmpty(ruleValue.toString())) { continue; } - if (ruleValue.toString().contains(StrUtil.DOT) && !ruleValue.toString().startsWith(StrUtil.DELIM_START) && !ruleValue.toString().startsWith(StrUtil.DELIM_END)) { - ruleValue = AppVersionUtil.getAppVersion(ruleValue.toString()); - } Optional any = rules.stream().filter(v -> v.getRuleCode().equals(key)).findAny(); if (any.isPresent()) { ResourceRule rule = any.get(); @@ -195,9 +191,19 @@ public class ResourceServiceImpl extends ServiceImpl i continue; } if (OperateType.LE.name().equals(kind)) { - isSkip = Integer.parseInt(val1) > Integer.parseInt(val2); + //版本号 + if (targetValue.toString().contains(StrUtil.DOT) && !targetValue.toString().startsWith(StrUtil.DELIM_START) && !targetValue.toString().startsWith(StrUtil.DELIM_END)){ + isSkip = AppVersionUtil.compareVersion(val1, val2) > 0; + } else { + isSkip = Integer.parseInt(val1) > Integer.parseInt(val2); + } } else if (OperateType.GE.name().equals(kind)) { - isSkip = Integer.parseInt(val1) < Integer.parseInt(val2); + //版本号 + if (targetValue.toString().contains(StrUtil.DOT) && !targetValue.toString().startsWith(StrUtil.DELIM_START) && !targetValue.toString().startsWith(StrUtil.DELIM_END)){ + isSkip = AppVersionUtil.compareVersion(val1, val2) < 0; + } else { + isSkip = Integer.parseInt(val1) < Integer.parseInt(val2); + } } else if (OperateType.LEFT_LIKE.name().equals(kind)) { if (StrUtil.isNotEmpty(val1) && StrUtil.isNotEmpty(description) && val2.equals(YES_ZH)) { isSkip = val1.startsWith(description);