@Override public Map<Object, CommonInfo> getCommonInfoPriceMap() { Map<Object, CommonInfo> priceMap = new HashMap<Object, CommonInfo>(); Map<Object, Object> params = new HashMap<Object, Object>(); List<CommonInfo> result = null; result = GetByCache.loadByCache(cu, CacheKey.COMMON_PRICE_MAP); if (result == null) { result = commonDao.selectObjects("commonInfo.getCommonPriceList", params); } cu.putCache(CacheKey.COMMON_PRICE_MAP, result, DateTime.getPeriodOfvalidityTime()); if (result != null) { for (CommonInfo commonInfo : result) { priceMap.put(commonInfo.getId() + "", commonInfo); } } return priceMap; }
public class TaopiaoServiceImpl implements TaopiaoService { private CommonDao commonDao; private CacheUtil cu = CacheUtil.getInstance(); public CommonDao getCommonDao() { return commonDao; } public void setCommonDao(CommonDao commonDao) { this.commonDao = commonDao; } private SimpleDateFormat YYYY_MM_DD_HH_MM = new SimpleDateFormat("yyyy-MM-dd HH:mm"); @Override public Map<Object, Object> getCommonInfoTimeMap() { Map<Object, Object> timeMap = new HashMap<Object, Object>(); Map<Object, Object> params = new HashMap<Object, Object>(); List<CommonInfo> result = null; result = GetByCache.loadByCache(cu, CacheKey.COMMON_TIME_MAP); if (result == null) { result = commonDao.selectObjects("commonInfo.getCommonTimeList", params); } cu.putCache(CacheKey.COMMON_TIME_MAP, result, DateTime.getPeriodOfvalidityTime()); if (result != null) { for (CommonInfo commonInfo : result) { timeMap.put(commonInfo.getId() + "", commonInfo); } } return timeMap; } @Override public Map<Object, CommonInfo> getCommonInfoPriceMap() { Map<Object, CommonInfo> priceMap = new HashMap<Object, CommonInfo>(); Map<Object, Object> params = new HashMap<Object, Object>(); List<CommonInfo> result = null; result = GetByCache.loadByCache(cu, CacheKey.COMMON_PRICE_MAP); if (result == null) { result = commonDao.selectObjects("commonInfo.getCommonPriceList", params); } cu.putCache(CacheKey.COMMON_PRICE_MAP, result, DateTime.getPeriodOfvalidityTime()); if (result != null) { for (CommonInfo commonInfo : result) { priceMap.put(commonInfo.getId() + "", commonInfo); } } return priceMap; } @Override public List<CommonInfo> getCommonInfoList( int categoryId, String cityId, String pageIndex, String pageCount) { Map<Object, Object> params = new HashMap<Object, Object>(); params = new HashMap<Object, Object>(); params.put("category_id", categoryId); params.put("city_id", cityId); params.put("pageIndex", (Integer.parseInt(pageIndex) - 1) * Integer.parseInt(pageCount)); params.put("pageCount", Integer.parseInt(pageCount)); List<CommonInfo> commonList = commonDao.selectObjects("commonInfo.getCommonList", params); Map<Object, Object> timeMap = this.getCommonInfoTimeMap(); Map<Object, CommonInfo> priceMap = this.getCommonInfoPriceMap(); for (int i = 0, length = commonList.size(); i < length; i++) { CommonInfo commonInfo = commonList.get(i); String introduction = commonInfo.getIntroduction().replaceAll("\\s*", ""); if (introduction != null && !"".equals(introduction)) { introduction = Jsoup.parse(introduction).text().trim(); if (introduction.length() > 350) { introduction = introduction.substring(0, 350); } commonList.get(i).setIntroduction(introduction); } if (commonInfo.getStatus() == 0) { commonInfo.setShow_status("预售中"); } else if (commonInfo.getStatus() == 2) { commonInfo.setShow_status("已过期"); } else { commonInfo.setShow_status("热售中"); } CommonInfo time = (CommonInfo) timeMap.get(commonInfo.getId() + ""); if (time != null) { String show_time = time.getShow_time(); String limit_time = time.getLimit_time(); if (show_time != null && !"null".equals(show_time) && !show_time.contains("全年")) { Calendar calendar = Calendar.getInstance(); try { calendar.setTime(YYYY_MM_DD_HH_MM.parse(show_time)); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DAY_OF_MONTH); int hour = calendar.get(Calendar.HOUR); int minute = calendar.get(Calendar.MINUTE); int week = calendar.get(Calendar.DAY_OF_WEEK); int AM_PM = calendar.get(Calendar.AM_PM); if (AM_PM == 0) { show_time = "早"; } else { show_time = "晚"; } if (hour < 10) { show_time = show_time + "0" + hour + ":"; } else { show_time = show_time + hour + ":"; } if (minute < 10) { show_time = show_time + "0" + minute; } else { show_time = show_time + minute; } commonList.get(i).setYear(year + ""); commonList.get(i).setDay(day + ""); if (month < 10) { commonList.get(i).setMonth("0" + month); } else { commonList.get(i).setMonth(month + ""); } commonList.get(i).setWeek(Const.week[week - 1]); commonList.get(i).setShow_time(show_time); commonList.get(i).setLimit_time(limit_time); } catch (ParseException e) { e.printStackTrace(); } } else { commonList.get(i).setShow_time(show_time); commonList.get(i).setLimit_time(limit_time); } } CommonInfo commonPrice = priceMap.get(commonInfo.getId() + ""); if (commonPrice != null) { commonList.get(i).setPrice(commonPrice.getPrice()); commonList.get(i).setDiscount(commonPrice.getDiscount()); commonList.get(i).setMin_price(commonPrice.getMin_price()); } } return commonList; } @Override public List<CommonInfo> getGroupList( int categoryId, String cityId, String pageIndex, String pageCount) { Map<Object, Object> params = new HashMap<Object, Object>(); params = new HashMap<Object, Object>(); params.put("category_id", categoryId); params.put("city_id", cityId); params.put("pageIndex", (Integer.parseInt(pageIndex) - 1) * Integer.parseInt(pageCount)); params.put("pageCount", Integer.parseInt(pageCount)); Map<Object, CommonInfo> priceMap = this.getCommonInfoPriceMap(); List<CommonInfo> groupList = commonDao.selectObjects("taopiao.getGroupList", params); for (int i = 0; i < groupList.size(); i++) { CommonInfo price = priceMap.get(groupList.get(i).getId() + ""); if (price != null) { groupList.get(i).setPrice(price.getPrice()); groupList.get(i).setDiscount(price.getDiscount()); groupList.get(i).setMin_price(price.getMin_price()); groupList.get(i).setAgency_name(price.getAgency_name()); } } return groupList; } @Override public String getCommonTotalCount(int categoryId, String cityId) { Map<Object, Object> params = new HashMap<Object, Object>(); String totalCount = "0"; params.put("city_id", cityId); params.put("category_id", categoryId); totalCount = commonDao.selectObject("taopiao.getCommonTotalCount", params); return totalCount; } @Override public String getGroupTotalCount(int categoryId, String cityId) { Map<Object, Object> params = new HashMap<Object, Object>(); String totalCount = "0"; params.put("city_id", cityId); params.put("category_id", categoryId); totalCount = commonDao.selectObject("taopiao.getGroupTotalCount", params); return totalCount; } @Override public CommonInfo getCommonInfoDetail(int common_id) { Map<Object, Object> params = new HashMap<Object, Object>(); params.put("id", common_id); // 获取演出基本信息 CommonInfo commonInfo = commonDao.selectObject("commonInfo.getCommonInfoDetail", params); Category category = getShow_category(commonInfo); commonInfo.setCategory(category); // 获取演出时间 Map<Object, Object> timeMap = this.getCommonInfoTimeMap(); CommonInfo time = (CommonInfo) timeMap.get(common_id + ""); String show_time = time.getShow_time(); String limit_time = time.getLimit_time(); if (show_time != null && !show_time.contains("全年")) { Calendar calendar = Calendar.getInstance(); try { calendar.setTime(YYYY_MM_DD_HH_MM.parse(show_time)); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DAY_OF_MONTH); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); int week = calendar.get(Calendar.DAY_OF_WEEK); show_time = ""; if (hour < 10) { show_time = show_time + "0" + hour + ":"; } else { show_time = show_time + hour + ":"; } if (minute < 10) { show_time = show_time + "0" + minute; } else { show_time = show_time + minute; } commonInfo.setYear(year + ""); commonInfo.setDay(day + ""); commonInfo.setMonth(month + ""); commonInfo.setWeek(Const.week[week - 1]); commonInfo.setShow_time(show_time); commonInfo.setLimit_time(limit_time); } catch (ParseException e) { e.printStackTrace(); } } Map<Object, CommonInfo> priceMap = this.getCommonInfoPriceMap(); CommonInfo commonPrice = priceMap.get(common_id + ""); if (commonPrice != null) { commonInfo.setPrice(commonPrice.getPrice()); commonInfo.setDiscount(commonPrice.getDiscount()); commonInfo.setMin_price(commonPrice.getMin_price()); commonInfo.setMainURL(commonPrice.getMainURL()); } commonInfo.setCategory(getShow_category(commonInfo)); return commonInfo; } @Override public CommonInfo getGroupDetail(int common_id) { Map<Object, Object> params = new HashMap<Object, Object>(); params.put("id", common_id); // 获取演出基本信息 CommonInfo commonInfo = commonDao.selectObject("commonInfo.getGroupDetail", params); // 获取演出时间 Map<Object, Object> timeMap = this.getCommonInfoTimeMap(); CommonInfo time = (CommonInfo) timeMap.get(common_id + ""); String show_time = time.getShow_time(); String limit_time = time.getLimit_time(); if (show_time != null && !"null".equals(show_time) && !show_time.contains("全年")) { Calendar calendar = Calendar.getInstance(); try { calendar.setTime(YYYY_MM_DD_HH_MM.parse(show_time)); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DAY_OF_MONTH); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); int week = calendar.get(Calendar.DAY_OF_WEEK); show_time = ""; if (hour < 10) { show_time = show_time + "0" + hour + ":"; } else { show_time = show_time + hour + ":"; } if (minute < 10) { show_time = show_time + "0" + minute; } else { show_time = show_time + minute; } commonInfo.setYear(year + ""); commonInfo.setDay(day + ""); commonInfo.setMonth(month + ""); commonInfo.setWeek(Const.week[week - 1]); commonInfo.setShow_time(show_time); commonInfo.setLimit_time(limit_time); } catch (ParseException e) { e.printStackTrace(); } } Map<Object, CommonInfo> priceMap = this.getCommonInfoPriceMap(); CommonInfo commonPrice = priceMap.get("2662"); if (commonPrice != null) { commonInfo.setPrice(commonPrice.getPrice()); commonInfo.setDiscount(commonPrice.getDiscount()); commonInfo.setMin_price(commonPrice.getMin_price()); commonInfo.setMainURL(commonPrice.getMainURL()); } return commonInfo; } private Category getShow_category(CommonInfo commonInfo) { Category category = new Category(); int showType = commonInfo.getShow_type(); if (commonInfo.getType() == 0) { if (showType == 1) { category.setId(Const.TAOPIAO_YANCHANGHUI_ID); category.setTitle("演唱会"); } else if (showType == 2) { category.setId(Const.TAOPIAO_GUDIAN_ID); category.setTitle("古典"); } else if (showType == 3) { category.setId(Const.TAOPIAO_XIJU_ID); category.setTitle("戏剧曲艺"); } else if (showType == 4) { category.setId(Const.TAOPIAO_GUDIAN_ID); category.setTitle("古典"); } else if (showType == 5) { category.setId(Const.TAOPIAO_XIJU_ID); category.setTitle("戏剧曲艺"); } else if (showType == 6) { category.setId(Const.TAOPIAO_QINZI_ID); category.setTitle("亲子"); } else if (showType == 7) { category.setId(Const.TAOPIAO_SAISHI_ID); category.setTitle("赛事"); } } else if (commonInfo.getType() == 1) { category.setId(Const.TAOPIAO_DIANYING_ID); category.setTitle("电影"); } return category; } }