@Cacheable(value = "sysDics")
  public Map<String, Map<String, String>> getAllDic() {
    List<String> records = dicIndexMapper.selectIdByMap(Collections.<String, Object>emptyMap());

    Map<String, String> dicIndexMap = InstanceUtil.newHashMap();
    for (String id : records) {
      dicIndexMap.put(id, dicIndexMapper.selectById(id).getKeyValue());
    }
    records = dicMapper.selectIdByMap(Collections.<String, Object>emptyMap());
    Page<String> idPage = new Page<String>(1, records.size());
    idPage.setRecords(records);
    Page<SysDic> sysDics = getPage(idPage, SysDic.class);
    Map<String, Map<String, String>> resultMap = InstanceUtil.newHashMap();
    for (SysDic sysDic : sysDics.getRecords()) {
      String key = dicIndexMap.get(sysDic.getIndexId());
      if (resultMap.get(key) == null) {
        Map<String, String> dicMap = InstanceUtil.newHashMap();
        resultMap.put(key, dicMap);
      }
      resultMap.get(key).put(sysDic.getCode(), sysDic.getCodeText());
    }
    return resultMap;
  }
 public Page<SysDicIndex> queryDicIndex(Map<String, Object> params) {
   Page<String> idPage = this.getPage(params);
   List<String> ids = dicIndexMapper.selectIdByMap(idPage, params);
   Page<SysDicIndex> page = new Page<SysDicIndex>(idPage.getCurrent(), idPage.getSize());
   page.setTotal(idPage.getTotal());
   if (ids != null) {
     ISysDicProvider provider = InstanceUtil.getBean(getClass());
     List<SysDicIndex> records = InstanceUtil.newArrayList();
     for (String id : ids) {
       records.add(provider.queryDicIndexById(id));
     }
     page.setRecords(records);
   }
   return page;
 }
 public Page<SysDic> queryDic(Map<String, Object> params) {
   Page<String> page = this.getPage(params);
   page.setRecords(mapper.selectIdByMap(page, params));
   return getPage(page);
 }