java - 校验工具类

package com.zhangxiaofan.sparkproject.util;

/**
 * 校验工具类
 **/
public class ValidUtils {

    /**
     * 校验数据中的指定字段,是否在指定范围内
     *
     * @param data            数据
     * @param dataField       数据字段
     * @param parameter       参数
     * @param startParamField 起始参数字段
     * @param endParamField   结束参数字段
     * @return 校验结果
     */
    public static boolean between(String data, String dataField, String parameter,
                                  String startParamField, String endParamField) {
        String startParamFieldStr = StringUtils.getFieldFromConcatString(
                parameter, "\\|", startParamField
        );
        String endParamFieldStr = StringUtils.getFieldFromConcatString(
                parameter, "\\|", endParamField
        );
        if (startParamFieldStr == null || endParamFieldStr == null) {
            return true;
        }

        int startParamFieldValue = Integer.valueOf(startParamField);
        int endParamFieldValue = Integer.valueOf(endParamFieldStr);

        String dataFieldStr = StringUtils.getFieldFromConcatString(data, "\\|", dataField);

        if (dataFieldStr != null) {
            int dataFieldValue = Integer.valueOf(dataFieldStr);
            if (dataFieldValue >= startParamFieldValue && dataFieldValue <= endParamFieldValue) {
                return true;
            } else {
                return false;
            }
        }
        return false;
    }

    /**
     * 校验数据中的指定字段,是否有值与参数字段的值相同
     *
     * @param data       数据
     * @param dataField  数据字段
     * @param parameter  参数
     * @param paramField 参数字段
     * @return 校验结果
     */
    public static boolean in(String data, String dataField, String parameter, String paramField) {
        String paramFieldValue = StringUtils.getFieldFromConcatString(parameter, "\\|", paramField);
        if (paramFieldValue == null) {
            return true;
        }

        String[] paramFieldValueSplited = paramFieldValue.split(",");

        String dataFieldValue = StringUtils.getFieldFromConcatString(data, "\\|", dataField);

        if (dataFieldValue != null) {
            String[] dataFieldValueSplited = dataFieldValue.split(",");
            for (String singleDataFieldValue : dataFieldValueSplited) {
                for (String singleParamFieldValue : paramFieldValueSplited) {
                    if (singleDataFieldValue.equals(singleParamFieldValue)) {
                        return true;
                    }
                }
            }
        }
        return false;

    }


    /**
     * 校验数据中的指定字段,是否在指定范围内
     *
     * @param data       数据
     * @param dataField  数据字段
     * @param parameter  参数
     * @param paramField 参数字段
     * @return 校验结果
     */
    public static boolean equal(String data, String dataField, String parameter, String paramField) {
        String paramFieldValue = StringUtils.getFieldFromConcatString(parameter, "\\|", paramField);
        if (paramFieldValue == null) {
            return true;
        }

        String dataFieldValue = StringUtils.getFieldFromConcatString(data,"\\|",dataField);
        if(dataFieldValue != null){
            if(dataFieldValue.equals(paramFieldValue)){
                return true;
            }
        }
        return false;
    }

}

 

posted @ 2021-01-15 17:17  快乐的张小凡  阅读(853)  评论(0编辑  收藏  举报