public static void fixAuditFlag() throws Exception { List<Programme> pList = ProgrammePeer.doSelect(new Criteria()); for (Programme p : pList) { Criteria pCrit = new Criteria(); pCrit.add(ProgrammeSitePeer.FK_PROGRAMME_ID, p.getId()); pCrit.add(ProgrammeSitePeer.SOURCE_SITE, Constants.YOUKU_SITE_ID); List<ProgrammeSite> psList = ProgrammeSitePeer.doSelect(pCrit); if (psList != null) { for (ProgrammeSite ps : psList) { ProgrammeSiteService.updateEpisodeCollected(ps.getId()); Criteria peCrit = new Criteria(); peCrit.add(EpisodeLogPeer.FK_PROGRAMME_SITE_ID, ps.getId()); peCrit.add(EpisodeLogPeer.STATUS, 0); List<EpisodeLog> elList = EpisodeLogPeer.doSelect(peCrit); if (elList == null || elList.isEmpty()) { p.setAuditAll(1); } else { p.setAuditAll(0); } ProgrammePeer.doUpdate(p); log.info("update programm audit flag" + p.getName() + " " + p.getId()); } } } }
private int synProgrammeSiteHd() { int count = 0; try { // 获取所有hd=0的节目-站点 Criteria crit = new Criteria(); crit.add(ProgrammeSitePeer.HD, 0); List<ProgrammeSite> psList = ProgrammeSitePeer.doSelect(crit); if (null == psList || psList.size() == 0) return count; for (ProgrammeSite ps : psList) { // 获取节目-站点的所有剧集 Criteria allcrit = new Criteria(); allcrit.add(ProgrammeEpisodePeer.FK_PROGRAMME_SITE_ID, ps.getId()); List<ProgrammeEpisode> allpe = ProgrammeEpisodePeer.doSelect(allcrit); // 获取节目-站点的所有高清剧集 Criteria hdcrit = new Criteria(); hdcrit.add(ProgrammeEpisodePeer.FK_PROGRAMME_SITE_ID, ps.getId()); hdcrit.add(ProgrammeEpisodePeer.HD, 1); List<ProgrammeEpisode> hdpe = ProgrammeEpisodePeer.doSelect(hdcrit); // 若所有剧集和高清剧集大于1且二者size()相当,则该节目-站点的hd为1 if (allpe != null && hdpe != null && allpe.size() > 0 && allpe.size() == hdpe.size()) { ps.setHd(1); count++; } else ps.setHd(0); ProgrammeSitePeer.doUpdate(ps); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return count; }
public static void checkProgrammeAuditAll(int programmeSiteId) throws Exception { ProgrammeSite programmeSite = ProgrammeSitePeer.retrieveByPK(programmeSiteId); Programme p = ProgrammePeer.retrieveByPK(programmeSite.getFkProgrammeId()); Criteria pCrit = new Criteria(); pCrit.add(ProgrammeSitePeer.FK_PROGRAMME_ID, p.getId()); pCrit.add(ProgrammeSitePeer.SOURCE_SITE, Constants.YOUKU_SITE_ID); List<ProgrammeSite> psList = ProgrammeSitePeer.doSelect(pCrit); if (psList != null) { for (ProgrammeSite ps : psList) { Criteria peCrit = new Criteria(); peCrit.add(EpisodeLogPeer.FK_PROGRAMME_SITE_ID, ps.getId()); peCrit.add(EpisodeLogPeer.STATUS, 0); List<EpisodeLog> elList = EpisodeLogPeer.doSelect(peCrit); if (elList == null || elList.isEmpty()) { p.setAuditAll(1); ProgrammePeer.doUpdate(p); log.info("update programm audit flag" + p.getName() + " " + p.getId()); } } } }
/** 优酷收录完成的,优酷优先 未完成的,集数多的优先 */ @Override public int compare(ProgrammeSite o1, ProgrammeSite o2) { if (o1 == null && o2 == null) { return 0; } if (o1 == null) { return 1; } if (o1.getSourceSite() == ProgrammeSiteType.优酷网.getValue() && o1.getCompleted() > 0) { return -1; } if (o2 == null) { return -1; } if (o2.getSourceSite() == ProgrammeSiteType.优酷网.getValue() && o2.getCompleted() > 0) { return 1; } if (o2.getSourceSite() == ProgrammeSiteType.优酷网.getValue() && (o2.getEpisodeCollected() == o1.getEpisodeCollected())) { return 1; } return o2.getEpisodeCollected() - o1.getEpisodeCollected(); }
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())); }