@Override
  public List<FrequencyMapValue> visitFrequencyMap(String idshop, Date start, Date end) {
    List<FrequencyMapValue> list = new ArrayList<>();
    Shop shop = shopDao.findById(idshop);
    if (shop != null) {
      shop = new ShopEntity(shop);
      String _map = "" + shop.getConfigWifiApiVisitCounts();
      _map = _map.matches("(\\d+,)+\\d+") ? _map : "1,2,5";
      _map = _map + "," + Integer.MAX_VALUE;
      String[] maps = _map.split(",");
      int lastValue = 1, total = 0;
      for (String map : maps) {
        FrequencyMapValue value = new FrequencyMapValue(lastValue, Integer.valueOf(map), "次");
        value.setNum(
            mapper.visitFrequencyMap(idshop, lastValue, Integer.parseInt(map), start, end));

        if (map.equals(String.valueOf(Integer.MAX_VALUE))) {
          if (value.getNum() > 0) {
            list.add(value);
          }
        } else {
          list.add(value);
        }
        total += value.getNum();
        lastValue = Integer.parseInt(map) + 1;
      }
      for (FrequencyMapValue value : list) {
        value.setRate(1f * value.getNum() / total);
      }
    }
    return list;
  }