package com.yeshi.buwan.util;
|
|
import java.io.Serializable;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import org.hibernate.Session;
|
|
import com.yeshi.buwan.dao.base.BaseDao;
|
import com.yeshi.buwan.domain.VideoBanQuan;
|
import com.yeshi.buwan.domain.VideoBanQuanVideo;
|
import com.yeshi.buwan.domain.VideoInfo;
|
import com.yeshi.buwan.domain.VideoType;
|
|
public class BanQuanUtil {
|
static HibernateSessionFactory hibernateSessionFactory;
|
public static void addBanQuan(VideoBanQuan banquan) {
|
BaseDao<VideoBanQuan> dao = new BaseDao<VideoBanQuan>();
|
List<VideoBanQuan> 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<VideoBanQuan> banquanList) {
|
BaseDao<VideoBanQuan> dao = new BaseDao<VideoBanQuan>();
|
for (VideoBanQuan banquan : banquanList) {
|
List<VideoBanQuan> 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<VideoBanQuan> dao = new BaseDao<VideoBanQuan>();
|
dao.update(video);
|
}
|
|
/**
|
* 是否可以显示视频
|
*
|
* @param videoInfo
|
* @return
|
*/
|
public static List<Serializable> filterShowVideo(String detailSystem,
|
List<Serializable> vlist, Session session) {
|
List<Serializable> videoList = new ArrayList<Serializable>();
|
for (Serializable videoInfo : vlist) {
|
@SuppressWarnings("unchecked")
|
List<VideoBanQuan> 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<Serializable> filterShowVideo(List<Serializable> vlist,
|
Session session) {
|
List<Serializable> videoList = new ArrayList<Serializable>();
|
for (Serializable videoInfo : vlist) {
|
@SuppressWarnings("unchecked")
|
List<VideoBanQuan> 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<VideoBanQuan> dao = new BaseDao<VideoBanQuan>();
|
BaseDao<VideoInfo> videoDao = new BaseDao<VideoInfo>();
|
List<VideoBanQuan> list = dao
|
.list("from VideoBanQuan v where v.show=1");
|
for (VideoBanQuan video : list) {
|
List<VideoInfo> 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<VideoBanQuan> dao = new BaseDao<VideoBanQuan>();
|
BaseDao<VideoBanQuanVideo> banquanDao = new BaseDao<VideoBanQuanVideo>();
|
BaseDao<VideoInfo> videoDao = new BaseDao<VideoInfo>();
|
List<VideoBanQuan> list = dao
|
.list("from VideoBanQuan v where v.show=1");
|
for (VideoBanQuan video : list) {
|
List<VideoInfo> 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<VideoBanQuan> dao = new BaseDao<VideoBanQuan>();
|
BaseDao<VideoInfo> videoDao = new BaseDao<VideoInfo>();
|
List<VideoBanQuan> list = dao
|
.list("from VideoBanQuan v where v.show=true");
|
for (VideoBanQuan video : list) {
|
List<VideoInfo> 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;
|
}
|
|
}
|