1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package com.yihu.platform.cache;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Timer;
- import java.util.TimerTask;
- import com.coreframework.db.DB;
- import com.coreframework.db.Sql;
- import com.yihu.platform.enums.MyDatabaseEnum;
- import com.yihu.platform.vo.AreaVo;
- import com.yihu.platform.vo.CityVo;
- import com.yihu.platform.vo.ProvinceVo;
- /**
- *
- * @author wengsb
- * @company yihu.com 2015-7-15下午03:27:31
- */
- public class DBCache {
- // 数据字典
- public static Map<String, List<Map<String, Object>>> dictionaryListMapBoss = new HashMap<String, List<Map<String, Object>>>();
- public static Map<String, String> provinceMap = new HashMap<String, String>(); // 省份
- public static Map<String, String> provinceGBCodeMap = new HashMap<String, String>(); // 省份
- public static Map<String, String> cityMap = new HashMap<String, String>(); // 城市
- public static Map<String, String> cityGBCodeMap = new HashMap<String, String>(); // 城市
- public static List<ProvinceVo> provinceList = new ArrayList<ProvinceVo>(); // 省份
- public static Map<String, List<CityVo>> cityListByProvince = new HashMap<String, List<CityVo>>(); // 城市集合
- public static void initCacheByDB() throws Exception {
- TimerRun(600);// 10分钟执行一次
- }
- /**
- * 初始化省份
- *
- * @throws Exception
- */
- private static void initProvinceList() throws Exception {
- provinceList.clear();
- cityListByProvince.clear();
- provinceMap.clear();
- cityMap.clear();
- Sql sql = new Sql("SELECT a.PROVINCEID, a.PROVINCENAME ,gbcode FROM BASE_PROVINCE a WHERE a.STATUS = 1 ");
- List<ProvinceVo> lst = DB.me().queryForBeanList(MyDatabaseEnum.BasicServiceDB, sql, ProvinceVo.class);
- for (ProvinceVo provinceVo : lst) {
- provinceList.add(provinceVo);
- provinceMap.put(provinceVo.getProvinceId().toString(), provinceVo.getProvinceName());
- provinceGBCodeMap.put(provinceVo.getProvinceId().toString(),provinceVo.getGbCode());
- sql = new Sql(
- "SELECT a.CITYID, a.CITYNAME ,a.gbCode FROM BASE_CITY a WHERE a.STATUS = 1 AND a.PROVINCEID = ?");
- sql.addParamValue(provinceVo.getProvinceId());
- List<CityVo> list = DB.me().queryForBeanList(MyDatabaseEnum.BasicServiceDB, sql, CityVo.class);
- for (CityVo cityVo : list) {
- cityMap.put(cityVo.getCityId().toString(), cityVo.getCityName());
- cityGBCodeMap.put(cityVo.getCityId().toString(),cityVo.getGbCode());
- }
- cityListByProvince.put(provinceVo.getProvinceId().toString(), list);
- }
- }
- /**
- * 定时重新获取字典下拉
- */
- private static void TimerRun(long seconds) throws Exception {
- Timer timer = new Timer();
- TimerTask task = new TimerTask() {
- public void run() {
- try {
- initProvinceList();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- };
- timer.schedule(task, 100, seconds * 1000);
- }
- }
|