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 valueMappingHost = new HashMap<>(); // 静态映射,用于存储转换关系 事件子类转换(注:子类7和10子类不能转需要前端自传) private static final Map valueMappingSon = new HashMap<>(); // 静态映射,用于存储转换关系 事件源转换 private static final Map 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 getValueMappingHost() { return ValueMappingHolder.valueMappingHost; } public static Map getValueMappingSon() { return ValueMappingHolder.valueMappingSon; } public static Map getValueMappingSource() { return ValueMappingHolder.valueMappingSource; } /** * 根据输入值返回转换后的值 * 如果输入值不在映射中,则返回输入值本身 * @param inputValue 输入值 * @return 转换后的值或输入值本身 */ public static int convertValueHost(int inputValue) { Map mapping = getValueMappingHost(); return mapping.getOrDefault(inputValue, inputValue); } public static String convertValueSon(String inputValue) { Map mapping = getValueMappingSon(); return mapping.getOrDefault(inputValue, inputValue); } public static int convertValueSource(int inputValue) { Map mapping = getValueMappingSource(); return mapping.getOrDefault(inputValue, inputValue); } //测试 // @Test // public void text(){ // String i="1-1"; // String i1 = ValueConverter.convertValueSon(i); // System.out.println(i1+"--------------"); // } }