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 ""; } }