Newer
Older
casic-iot-br / casic-public / src / main / java / com / casic / missiles / util / CommonUtil.java
casic_zt 13 days ago 4 KB 需求及问题修改
package com.casic.missiles.util;

import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;

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 final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

    public static String formatDate(LocalDate date) {
        return date.format(dateFormatter);
    }
//
//    public Date String paDate(LocalDate date) {
//        return date.format(dateFormatter);
//    }


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


    public static final String[] areaArr = {
            "01", "东城",
            "02", "西城",
            "03", "朝阳",
            "04", "丰台",
            "05", "石景山",
            "06", "海淀",
            "07", "门头沟",
            "08", "房山",
            "09", "通州",
            "10", "顺义",
            "11", "昌平",
            "12", "大兴",
            "13", "怀柔",
            "14", "平谷",
            "16", "延庆",
            "17", "亦庄",
            "18", "新疆",
            "15", "密云",
            "19", "海南"};


    public static String getAreaCode(String areaName) {
        if (ObjectUtil.isNotEmpty(areaName)) {
            for (int i = 0; i < areaArr.length; i += 2) {
                if (areaName.contains(areaArr[i + 1])) {
                    return areaArr[i];
                }
            }
        }
        return "";
    }


    public static JSONArray getJsonArr(JSONArray jsonArray,String fileName){
        try {
            List<JSONObject> list = new ArrayList<>();
            for (int i = 0; i < jsonArray.size(); i++) {
                list.add(jsonArray.getJSONObject(i));
            }

            Collections.sort(list, new Comparator<JSONObject>() {
                @Override
                public int compare(JSONObject o1, JSONObject o2) {
                    // 根据时间字段排序
                    return Long.valueOf(o1.getString(fileName)) - Long.valueOf(o2.getString(fileName))>=0?
                            1:-1;
                }
            });
            return JSONArray.parseArray(JSON.toJSONString(list));

        }catch (Exception e){
            e.printStackTrace();
        }

       return jsonArray;
    }

    public static void main(String[] args) {
        String ss = getAreaCode("东城");
        System.out.println(ss);
    }


}