|
|
|
package com.zc.business.enums;
|
|
|
|
|
|
|
|
import org.junit.Test;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author 王思祥
|
|
|
|
* @ClassName ValueConverter
|
|
|
|
*/
|
|
|
|
//感知事件与交通主子类转换
|
|
|
|
public class ValueConverter {
|
|
|
|
|
|
|
|
//懒加载类来实现延迟初始化
|
|
|
|
private static class ValueMappingHolder {
|
|
|
|
|
|
|
|
// 静态映射,用于存储转换关系 事件主类转换
|
|
|
|
private static final Map<Integer, Integer> valueMappingHost = new HashMap<>();
|
|
|
|
// 静态映射,用于存储转换关系 事件子类转换(注:子类7和10子类不能转需要前端自传)
|
|
|
|
private static final Map<String, String> valueMappingSon = new HashMap<>();
|
|
|
|
// 静态映射,用于存储转换关系 事件源转换
|
|
|
|
private static final Map<Integer, Integer> valueMappingSource = new HashMap<>();
|
|
|
|
static {
|
|
|
|
valueMappingSource.put(1,5);
|
|
|
|
valueMappingSource.put(4,7);
|
|
|
|
valueMappingSource.put(7,7);
|
|
|
|
valueMappingSource.put(2,7);
|
|
|
|
valueMappingSource.put(3,7);
|
|
|
|
valueMappingSource.put(5,7);
|
|
|
|
valueMappingSource.put(6,7);
|
|
|
|
valueMappingHost.put(1, 4);
|
|
|
|
valueMappingHost.put(2, 5);
|
|
|
|
valueMappingHost.put(3, 5);
|
|
|
|
valueMappingHost.put(4, 2);
|
|
|
|
valueMappingHost.put(5, 11);
|
|
|
|
valueMappingHost.put(6, 6);
|
|
|
|
valueMappingHost.put(7, 7);
|
|
|
|
valueMappingHost.put(8, 10);
|
|
|
|
valueMappingHost.put(9, 1);
|
|
|
|
valueMappingHost.put(10, 1);
|
|
|
|
valueMappingHost.put(11, 2);
|
|
|
|
valueMappingHost.put(99, 11);
|
|
|
|
valueMappingSon.put("1-1", "4-1");
|
|
|
|
valueMappingSon.put("1-2", "4-1");
|
|
|
|
valueMappingSon.put("2-1", "5-1");
|
|
|
|
valueMappingSon.put("2-2", "5-1");
|
|
|
|
valueMappingSon.put("3-1", "5-3");
|
|
|
|
valueMappingSon.put("3-2", "5-2");
|
|
|
|
valueMappingSon.put("3-3", "5-2");
|
|
|
|
valueMappingSon.put("4-1", "2-1");
|
|
|
|
valueMappingSon.put("4-2", "2-1");
|
|
|
|
valueMappingSon.put("4-3", "2-1");
|
|
|
|
valueMappingSon.put("4-4", "2-1");
|
|
|
|
valueMappingSon.put("4-5", "2-1");
|
|
|
|
valueMappingSon.put("4-6", "2-1");
|
|
|
|
valueMappingSon.put("4-7", "2-1");
|
|
|
|
valueMappingSon.put("4-8", "2-1");
|
|
|
|
valueMappingSon.put("4-9", "2-1");
|
|
|
|
valueMappingSon.put("4-10", "2-1");
|
|
|
|
valueMappingSon.put("5-1", "11-1");
|
|
|
|
valueMappingSon.put("5-2", "11-1");
|
|
|
|
valueMappingSon.put("5-3", "11-1");
|
|
|
|
valueMappingSon.put("5-4", "11-1");
|
|
|
|
valueMappingSon.put("5-5", "11-1");
|
|
|
|
valueMappingSon.put("5-6", "11-1");
|
|
|
|
valueMappingSon.put("5-7", "11-1");
|
|
|
|
valueMappingSon.put("6-1", "6-1");
|
|
|
|
valueMappingSon.put("6-2", "6-5");
|
|
|
|
valueMappingSon.put("6-3", "6-5");
|
|
|
|
valueMappingSon.put("6-4", "6-3");
|
|
|
|
valueMappingSon.put("8-1", "10-1");
|
|
|
|
valueMappingSon.put("8-2", "10-9");
|
|
|
|
valueMappingSon.put("8-3", "10-4");
|
|
|
|
valueMappingSon.put("8-4", "10-3");
|
|
|
|
valueMappingSon.put("8-5", "10-9");
|
|
|
|
valueMappingSon.put("8-6", "10-8");
|
|
|
|
valueMappingSon.put("8-7", "10-9");
|
|
|
|
valueMappingSon.put("8-8", "10-7");
|
|
|
|
valueMappingSon.put("8-9", "10-9");
|
|
|
|
valueMappingSon.put("8-10", "10-3");
|
|
|
|
valueMappingSon.put("9-1", "1-3");
|
|
|
|
valueMappingSon.put("9-2", "1-3");
|
|
|
|
valueMappingSon.put("9-3", "1-3");
|
|
|
|
valueMappingSon.put("11-1", "2-1");
|
|
|
|
valueMappingSon.put("11-2", "2-1");
|
|
|
|
valueMappingSon.put("11-3", "2-1");
|
|
|
|
valueMappingSon.put("99-1", "11-1");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 提供一个静态方法来获取映射关系
|
|
|
|
public static Map<Integer, Integer> getValueMappingHost() {
|
|
|
|
return ValueMappingHolder.valueMappingHost;
|
|
|
|
}
|
|
|
|
public static Map<String, String> getValueMappingSon() {
|
|
|
|
return ValueMappingHolder.valueMappingSon;
|
|
|
|
}
|
|
|
|
public static Map<Integer, Integer> getValueMappingSource() {
|
|
|
|
return ValueMappingHolder.valueMappingSource;
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* 根据输入值返回转换后的值
|
|
|
|
* 如果输入值不在映射中,则返回输入值本身
|
|
|
|
* @param inputValue 输入值
|
|
|
|
* @return 转换后的值或输入值本身
|
|
|
|
*/
|
|
|
|
public static int convertValueHost(int inputValue) {
|
|
|
|
Map<Integer, Integer> mapping = getValueMappingHost();
|
|
|
|
return mapping.getOrDefault(inputValue, inputValue);
|
|
|
|
}
|
|
|
|
public static String convertValueSon(String inputValue) {
|
|
|
|
Map<String, String> mapping = getValueMappingSon();
|
|
|
|
return mapping.getOrDefault(inputValue, inputValue);
|
|
|
|
}
|
|
|
|
public static int convertValueSource(int inputValue) {
|
|
|
|
Map<Integer, Integer> mapping = getValueMappingSource();
|
|
|
|
return mapping.getOrDefault(inputValue, inputValue);
|
|
|
|
}
|
|
|
|
//测试
|
|
|
|
// @Test
|
|
|
|
// public void text(){
|
|
|
|
// String i="1-1";
|
|
|
|
// String i1 = ValueConverter.convertValueSon(i);
|
|
|
|
// System.out.println(i1+"--------------");
|
|
|
|
// }
|
|
|
|
|
|
|
|
}
|