package com.newvideo.util; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import org.hibernate.Session; import com.newvideo.dao.BaseDao; import com.newvideo.domain.VideoBanQuan; import com.newvideo.domain.VideoBanQuanVideo; import com.newvideo.domain.VideoInfo; import com.newvideo.domain.VideoType; public class BanQuanUtil { static HibernateSessionFactory hibernateSessionFactory; public static void addBanQuan(VideoBanQuan banquan) { BaseDao dao = new BaseDao(); List list = dao.list( "from VideoBanQuan v where v.name=? and v.videoResource.id=? and v.videoType=" + banquan.getVideoType(), new String[] { banquan.getName(), banquan.getVideoResource().getId() }); if (list == null || list.size() == 0) dao.create(banquan); } public static void addBanQuan(List banquanList) { BaseDao dao = new BaseDao(); for (VideoBanQuan banquan : banquanList) { List list = dao.list( "from VideoBanQuan v where v.name=? and v.videoResource.id=? and v.videoType=" + banquan.getVideoType(), new String[] { banquan.getName(), banquan.getVideoResource().getId() }); if (list == null || list.size() == 0) dao.create(banquan); } } public static void updateBanQuan(VideoBanQuan video) { BaseDao dao = new BaseDao(); dao.update(video); } /** * 是否可以显示视频 * * @param videoInfo * @return */ public static List filterShowVideo(String detailSystem, List vlist, Session session) { List videoList = new ArrayList(); for (Serializable videoInfo : vlist) { @SuppressWarnings("unchecked") List list = session .createQuery( "from VideoBanQuan v where v.name=? and v.show>0 and v.detailSystem.id=" + detailSystem) .setParameter(0, ((VideoInfo) videoInfo).getName()).list(); if (list == null || list.size() == 0) videoList.add((VideoInfo) videoInfo); } return videoList; } public static List filterShowVideo(List vlist, Session session) { List videoList = new ArrayList(); for (Serializable videoInfo : vlist) { @SuppressWarnings("unchecked") List list = session .createQuery( "from VideoBanQuan v where v.name=? and v.show>0") .setParameter(0, ((VideoInfo) videoInfo).getName()).list(); if (list == null || list.size() == 0) videoList.add((VideoInfo) videoInfo); } return videoList; } public static void hiddenVideo() { BaseDao dao = new BaseDao(); BaseDao videoDao = new BaseDao(); List list = dao .list("from VideoBanQuan v where v.show=1"); for (VideoBanQuan video : list) { List li = videoDao.list( "from VideoInfo info where info.name=?", new String[] { video.getName() }); for (VideoInfo vi : li) { if (getRootType(vi.getVideoType()).getId() == video .getVideoType()) { vi.setShow("0"); videoDao.update(vi); } } } } public static void addBanQuanVideo() { BaseDao dao = new BaseDao(); BaseDao banquanDao = new BaseDao(); BaseDao videoDao = new BaseDao(); List list = dao .list("from VideoBanQuan v where v.show=1"); for (VideoBanQuan video : list) { List li = videoDao.list( "from VideoInfo info where info.name=? and info.show=1", new String[] { video.getName() }); for (VideoInfo vi : li) { if (getRootType(vi.getVideoType()).getId() == video .getVideoType()) { VideoBanQuanVideo vb = new VideoBanQuanVideo(); vb.setCreatetime(System.currentTimeMillis() + ""); vb.setInfo(vi); banquanDao.create(vb); } } } } public static void showVideo() { BaseDao dao = new BaseDao(); BaseDao videoDao = new BaseDao(); List list = dao .list("from VideoBanQuan v where v.show=true"); for (VideoBanQuan video : list) { List li = videoDao.list( "from VideoInfo info where info.name=?", new String[] { video.getName() }); for (VideoInfo vi : li) { if (getRootType(vi.getVideoType()).getId() == video .getVideoType()) { vi.setShow("0"); videoDao.update(vi); } } } } @SuppressWarnings("rawtypes") public static boolean isContainsBanquanKey(String name, String detailSsystemId) { Session session = hibernateSessionFactory.getSession(); List list = null; try { list = session .createSQLQuery( "select * from wk_video_banquan b where b.detailsystem=? and b.name=? and b.show>0") .setParameter(0, detailSsystemId).setParameter(1, name) .list(); } catch (Exception e) { e.printStackTrace(); } finally { session.close(); } if (list == null || list.size() == 0) { return false; } else return true; } public static VideoType getRootType(VideoType type) { while (type.getParent() != null) type = type.getParent(); return type; } }