控制版本号进行条件显示

/**
 *baseVersion:1.1.1
 *version:1.1.0-1.1.2
 */
String baseVersion = form.getVersion();
if(StringUtils.isNotEmpty(baseVersion)){
    logger.info("app全局通知 baseVersion={}不为空 进行版本过滤",baseVersion);
    //待删除信息
    List<AppSysNoticeWithBLOBs> rmList = new ArrayList<>();
    if(CollectionUtils.isNotEmpty(appSysNoticeWithBLOBsList)){
        for (AppSysNoticeWithBLOBs item : appSysNoticeWithBLOBsList) {
            String version = item.getVersion();
            if(!canShow(version,baseVersion)){
                rmList.add(item);
            }
        }
    }


    appSysNoticeWithBLOBsList.removeAll(rmList);
}


//判断baseVersion是否在version之间/或等于 是return true
private boolean canShow(String version, String baseVersion) {


    String[] baseSplit = baseVersion.split("\\.");
    String[] dataSplit = version.split("-");


    String beforeVersion = dataSplit[0];
    String[] beforeSplit = beforeVersion.split("\\.");
    String afterVersion = dataSplit[1];
    String[] afterSplit = afterVersion.split("\\.");


    int length = baseSplit.length; //版本号长度都一样


    for (int i=0 ; i<length ; i++){


        int base = Integer.parseInt(baseSplit[i]);
        int before = Integer.parseInt(beforeSplit[i]);
        int after = Integer.parseInt(afterSplit[i]);


        if(base < before || base > after){
            return false;
        }else{
            //是否是最后
            if(i == length-1){
                return true;
            } else {
                continue;
            }
        }


    }
    return false;
}

猜你喜欢

转载自blog.csdn.net/qq_18259357/article/details/80269930
今日推荐