/** 随机得到一个广告 */
 @Override
 @Cacheable(value = "AdvertisementList")
 public List<Advertisement> getOneAdvertisement(String shopName, String type) {
   if (log.isDebugEnabled()) {
     log.debug("shopName = {},key = {}", shopName, type);
   }
   List<Advertisement> resunt = null;
   List<Advertisement> list =
       findByHQL(ConfigCode.getInstance().getCode("ad.getAdvertisementByType"), shopName, type);
   if (AppUtils.isNotBlank(list)) {
     resunt = new ArrayList<Advertisement>(1);
     resunt.add(list.get(CommonServiceUtil.random(list.size())));
   }
   return resunt;
 }
 /*
  * (non-Javadoc)
  *
  * @see
  * com.legendshop.business.dao.impl.AdvertisementDao#checkMaxNum(java.lang
  * .String, java.lang.String)
  */
 @Override
 public boolean isMaxNum(String userName, String type) {
   boolean result = false;
   Long num =
       findUniqueBy(
           ConfigCode.getInstance().getCode("ad.getAdvertisementCount"),
           Long.class,
           userName,
           type);
   if (num != null) {
     result = num <= maxNumPerType;
   }
   if (log.isDebugEnabled()) {
     log.debug("userName = {},type = {},result = {}", new Object[] {userName, type, result});
   }
   return result;
 }
 /** 得到某个页面的广告 */
 @Override
 @Cacheable(value = "Advertisement", key = "#shopName + #page")
 public Map<String, List<Advertisement>> getAdvertisement(
     final String shopName, final String page) {
   log.debug("getAdvertisement shopName = {}, page = {}", shopName, page);
   Map<String, List<Advertisement>> advertisementMap =
       new LinkedHashMap<String, List<Advertisement>>();
   List<Advertisement> list =
       findByHQL(ConfigCode.getInstance().getCode("ad.getAdvertisement"), shopName, page + "%");
   for (Advertisement advertisement : list) {
     List<Advertisement> ads = advertisementMap.get(advertisement.getType());
     if (ads == null) {
       ads = new ArrayList<Advertisement>();
     }
     ads.add(advertisement);
     advertisementMap.put(advertisement.getType(), ads);
   }
   return advertisementMap;
 }