package org.jeecg.modules.dnc.utils.file; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @Slf4j public class DocVersionUtil { private static final char[] HEX_DIGITS = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'}; /** * 生成新的版本号 * @param oldVersion * @return */ public static String generateNewVersion(String oldVersion) { if(StringUtils.isBlank(oldVersion)) return "a.1"; if(oldVersion.contains(".")) { String[] arr = oldVersion.split("\\."); if(arr == null || arr.length != 2) return null; String node = arr[0]; String num = arr[1]; if(node.length() != 1) return null; int site = 1; try { site = Integer.valueOf(num); }catch (NumberFormatException e) { log.error(e.getMessage(), e.getStackTrace()); return null; } return node + "." + (site + 1); }else { if(oldVersion.length() != 1) return null; char node = oldVersion.charAt(0); int site = 1; for(int i = 0; i < HEX_DIGITS.length; i++) { if(HEX_DIGITS[i] == node) { node = HEX_DIGITS[i + 1]; return node + "." + site; } } return null; } } }