Newer
Older
casic-iot-br / casic-public / src / main / java / com / casic / missiles / util / CommonUtil.java
casic_zt on 28 Feb 2 KB 测试问题提交
package com.casic.missiles.util;

import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;

import java.text.SimpleDateFormat;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import java.util.function.Predicate;

public class CommonUtil {
    public static final SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    public static boolean isNumber(String str) {
        if (StrUtil.isNotEmpty(str)) {
            return str.matches("-?\\d+(\\.\\d+)?");
        }
        return false;
    }

    public static String DateFormat(String dataString) {

        String strymd = dataString.substring(0, 8);
        String str1 = strymd.substring(0, 4) + "-" + strymd.substring(4, 6) + "-" + strymd.substring(6, 8) + " ";
        String strhms = dataString.substring(8);
        String str2 = strhms.substring(0, 2) + ":" + strhms.substring(2, 4) + ":" + strhms.substring(4, 6);
        dataString = str1 + str2;
        return dataString;
    }


    public static String getString(Map<String, Object> objMap, String name) {

        return ObjectUtil.isNotNull(objMap.get(name)) ? objMap.get(name).toString() : "";

    }

    public static <T> Predicate<T> distinctByProperty(Function<? super T, Object> keyExtractor) {
        Map<Object, Boolean> map = new ConcurrentHashMap<>();
        return t -> map.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
    }


    public static String getRsrp(String rsrp) {

        if (isNumber(rsrp)) {
            if (Integer.valueOf(rsrp) > -60) {
                return "非常好";
            } else if (Integer.valueOf(rsrp) > -70) {
                return "良好";
            } else if (Integer.valueOf(rsrp) > -80) {
                return "一般";
            } else if (Integer.valueOf(rsrp) > -90) {
                return "稍弱";
            } else if (Integer.valueOf(rsrp) > -100) {
                return "较弱";
            } else if (Integer.valueOf(rsrp) > -110) {
                return "差";
            } else {
                return "很差";
            }
        }
        return "";
    }

}