package com.zy.acs.manager.common.utils;
|
|
import com.alibaba.fastjson.JSON;
|
import com.zy.acs.framework.common.Cools;
|
import com.zy.acs.manager.core.service.astart.WaveNodeType;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Optional;
|
|
/**
|
* Created by vincent on 8/7/2024
|
*/
|
public class MapDataUtils {
|
|
public static List<String> parseWaveNode(String waveNodeStr) {
|
List<String> waveNodeList = new ArrayList<>();
|
if (Cools.isEmpty(waveNodeStr)) {
|
return waveNodeList;
|
}
|
return JSON.parseArray(waveNodeStr, String.class);
|
}
|
|
public static List<Double> parseCdaNode(String cdaNodeStr) {
|
List<Double> waveNodeList = new ArrayList<>();
|
if (Cools.isEmpty(cdaNodeStr)) {
|
return waveNodeList;
|
}
|
return JSON.parseArray(cdaNodeStr, Double.class);
|
}
|
|
public static List<String> hasOtherWave(List<String> list, String vehicle) {
|
if (Cools.isEmpty(list)) {
|
return list;
|
}
|
list.removeIf(next -> next.equals(vehicle));
|
return list;
|
}
|
|
public static String generateWaveNode(String originStr, String waveNode) {
|
List<String> waveNodeList;
|
if (originStr.equals(WaveNodeType.ENABLE.val)) {
|
waveNodeList = new ArrayList<>();
|
waveNodeList.add(waveNode);
|
} else {
|
waveNodeList = JSON.parseArray(originStr, String.class);
|
if (!waveNodeList.contains(waveNode)) {
|
waveNodeList.add(waveNode);
|
}
|
}
|
return JSON.toJSONString(waveNodeList);
|
}
|
|
public static Double getVehicleWaveSafeDistance(Integer diameter, Double coe) {
|
if (Cools.isEmpty(diameter)) {
|
return 0.0D;
|
}
|
coe = Optional.ofNullable(coe).orElse(1.0D);
|
return diameter * coe;
|
}
|
|
}
|