public without sharing class StateCityUtil { private static Map states; private static Map cities; public StateCityUtil() { init_state_city(); } // 初始化省市信息 private static void init_state_city() { if (states == null || states.size() <= 0) { states = new Map(); List lst_state = [select Id, Name from Address_Level__c]; for (Address_Level__c level1 : lst_state) { states.put(level1.Name, level1.Id); } } if (cities == null || cities.size() <= 0) { cities = new Map(); List lst_city = [select Id, Name from Address_Level2__c]; for (Address_Level2__c level2 : lst_city) { cities.put(level2.Name, level2.Id); } } } // 设置会议上的省 public static String get_state(String state_name) { if (String.isBlank(state_name)) { return null; } if (states == null || states.size() <= 0) { init_state_city(); } // 处理空格 或许后续还有别的处理 state_name = state_name.trim().replace(' ', ''); for(String state : states.keySet()) { if (state_name.contains(state) || state.contains(state_name)) { return states.get(state); } } return null; } // 设置会议上的市 public static String get_city(String city_name) { if (String.isBlank(city_name)) { return null; } if (cities == null || cities.size() <= 0) { init_state_city(); } // 处理空格 或许后续还有别的处理 city_name = city_name.trim().replace(' ', ''); for(String city : cities.keySet()) { if (city_name.contains(city) || city.contains(city_name)) { return cities.get(city); } } return null; } }