private static void wrapSiteEpisodeLog(AuditEpisodeLogBo auditEpisodeLogBo, int siteId) throws Exception { Criteria crit = new Criteria(); crit.add(ProgrammeSitePeer.FK_PROGRAMME_ID, auditEpisodeLogBo.getId()); List<ProgrammeSite> psList = ProgrammeSitePeer.doSelect(crit); List<AuditEpisodeLogBo.SiteEpisodeLog> siteEpisodeLogList = new ArrayList<AuditEpisodeLogBo.SiteEpisodeLog>(); List<AuditEpisodeLogBo.SiteEpisodeLog> hasEpisodeSiteList = new ArrayList<AuditEpisodeLogBo.SiteEpisodeLog>(); if (psList != null && !psList.isEmpty()) { for (ProgrammeSite ps : psList) { // log.info("siteId" + siteId); if (siteId > 0 && ps.getSourceSite() != siteId) { continue; } AuditEpisodeLogBo.SiteEpisodeLog siteEpisode = getSiteEpisodeLog(ps.getId(), ps.getSourceSite()); hasEpisodeSiteList.add(getHasEpisodeSite(ps.getId(), ps.getSourceSite())); /*//审核特殊显示全剧情况 if(auditEpisodeLogBo.getConcernLevel() == Constants.CONCERN_FLAG) { AuditEpisodeLogBo.SiteEpisodeLog allEpisode = processConcernProgramme(ps.getId(), siteId); if(allEpisode.getEpisodeLogList() != null) { siteEpisode.getEpisodeLogList().addAll(allEpisode.getEpisodeLogList()); } Collections.sort(siteEpisode.getEpisodeLogList(), new Comparator<EpisodeLog>() { @Override public int compare(EpisodeLog o1, EpisodeLog o2) { return o1.getOrderId() - o2.getOrderId(); } }); }*/ siteEpisodeLogList.add(siteEpisode); } } auditEpisodeLogBo.setHasEpisodeSiteIds(hasEpisodeSiteList); auditEpisodeLogBo.setSiteEpisodeLogList(siteEpisodeLogList); auditEpisodeLogBo.setCateName( CategoryService.getCategoryMap().get(auditEpisodeLogBo.getCateId())); }
public static void searchVideoInfo(SearchParameter param, PageInfo pageInfo) throws Exception { log.info("serarch word: " + param.getSearchWord()); List<AuditEpisodeLogBo> resultList = new ArrayList<AuditEpisodeLogBo>(); String mainSql = "programme p, programme_search_number psn WHERE p.id = psn.fk_programme_id and audit_all = 0"; String likeSql = ""; if (param.getSearchWord() != null && !param.getSearchWord().equals("")) { likeSql = " AND p.name LIKE ? "; } if (param.getCategoryId() > 0) { mainSql += " AND p.cate = " + param.getCategoryId(); } if (param.getConcernLevel() > 0) { mainSql += " AND p.concern_level = " + param.getConcernLevel(); } if (param.isAccuratelyMatched()) { param.setSearchWord(param.getSearchWord()); } else { param.setSearchWord("%" + param.getSearchWord() + "%"); } String countsql = "SELECT COUNT(*) FROM " + mainSql; countsql += likeSql; PreparedStatement pstcnt = null; ResultSet rscnt = null; Connection conn = null; PreparedStatement pst = null; ResultSet rs = null; try { conn = DataBase.getLibraryConn(); pstcnt = conn.prepareStatement(countsql); if (!likeSql.equals("")) { pstcnt.setString(1, param.getSearchWord()); if (param.getStatus() == SearchParameter.WITH_SERIES) { pstcnt.setString(2, param.getSearchWord()); } } log.info("pstcnt: " + pstcnt.toString()); rscnt = pstcnt.executeQuery(); int recordCount = 0; while (rscnt.next()) { recordCount = rscnt.getInt(1); } if (recordCount == 0) { return; } int totalPageNumber = (int) Math.ceil((double) recordCount / pageInfo.getPageSize()); pageInfo.setTotalPageNumber(totalPageNumber); pageInfo.setTotalRecords(recordCount); String sql = "SELECT * FROM " + mainSql + likeSql + " ORDER BY psn.search_number desc LIMIT " + pageInfo.getOffset() + ", " + pageInfo.getPageSize(); pst = conn.prepareStatement(sql); log.info("likeSql " + likeSql); if (!likeSql.equals("")) { log.info("param.getSearchWord()" + param.getSearchWord()); pst.setString(1, param.getSearchWord()); if (param.getStatus() == SearchParameter.WITH_SERIES) { pst.setString(2, param.getSearchWord()); } } log.info("pst toString " + pst.toString()); rs = pst.executeQuery(); while (rs.next()) { AuditEpisodeLogBo logBo = new AuditEpisodeLogBo(); logBo.setId(rs.getInt("p.id")); logBo.setName(rs.getString("p.name")); logBo.setCateId(rs.getInt("p.cate")); logBo.setConcernLevel(rs.getInt("p.concern_level")); resultList.add(logBo); } for (AuditEpisodeLogBo logBo : resultList) { wrapSiteEpisodeLog(logBo, param.getSiteId()); } pageInfo.setResults(resultList); } catch (Exception e) { log.error(e.getMessage(), e); } finally { try { if (pst != null) { pst.close(); } if (rs != null) { rs.close(); } if (pstcnt != null) { pstcnt.close(); } if (rscnt != null) { rscnt.close(); } JdbcUtil.close(conn); } catch (SQLException e) { log.error(e.getMessage(), e); } } }