From 3f6cde7e7a0efd0c94d26d2046a7719770bba5e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Fri, 30 Aug 2024 09:36:09 +0800 Subject: [PATCH] =?UTF-8?q?pbom-=E5=8D=87=E7=BA=A7=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/util/VersionUtil.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/VersionUtil.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/VersionUtil.java index 2426a153..7ecdb7ec 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/VersionUtil.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/VersionUtil.java @@ -122,4 +122,42 @@ public class VersionUtil { return Integer.compare(split1.length, split2.length); } + + /** + * 获取PBOM 升级版本号(PBOM升级版本号规则) + * @param version + * @return + */ + public static String getPBomUpgradNextVersion(String version) { + if (version == null || version.isEmpty()) { + throw new IllegalArgumentException("输入版本号不能为空"); + } + char lastChar = version.charAt(version.length() - 1); + boolean isLetter = Character.isLetter(lastChar); + if (!isLetter) { + return version + "a"; + } else { + int lastCharIndex = version.length() - 1; + char newLastChar = (char) (lastChar + 1); + + if (newLastChar > 'z') { + // Handle case where the last character is 'z' + StringBuilder sb = new StringBuilder(version.substring(0, lastCharIndex)); + sb.append("a").append('a'); + return sb.toString(); + } else { + return version.substring(0, lastCharIndex) + newLastChar; + } + } + } + + private static String getNextLetter(char currentLetter) { + char nextLetter = (char) (currentLetter + 1); + if (nextLetter > 'z') { + return "a" + getNextLetter('a'); + } else { + return "" + nextLetter; + } + } + }