package com.newvideo.util;
|
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.hibernate.Session;
|
|
import com.newvideo.domain.VideoInfo;
|
import com.newvideo.domain.recommend.SuperCategoryRecommendVideo;
|
|
public class JuheVideoUtil {
|
@Resource
|
private HibernateSessionFactory hibernateSessionFactory;
|
|
// 清理掉死数据
|
@SuppressWarnings("unchecked")
|
public void clearDeadData() {
|
Session session = hibernateSessionFactory.getSession();
|
|
try {
|
// 清理没有加入resourceVideo的死数据
|
List<VideoInfo> list = session
|
.createSQLQuery(
|
"SELECT v.* FROM wk_video_video v LEFT JOIN wk_video_iqiyi q ON q.`videoid`=v.`id` LEFT JOIN wk_video_sohu sh ON sh.`videoid`=v.`id` WHERE (q.`videoid` IS NULL AND sh.`videoid` IS NULL)")
|
.addEntity(VideoInfo.class).list();
|
|
for (VideoInfo vi : list) {
|
// 清除 categoryVideo ,清除resourceVideo ,清除VideoIqiyi
|
// ,清除VideoSoHu,清除video
|
clearData(session, vi.getId());
|
}
|
|
// list = session
|
// .createSQLQuery(
|
// "SELECT v.* FROM wk_video_video v LEFT JOIN wk_category_video cv
|
// ON v.`id`=cv.`videoid` WHERE cv.`videoid` IS NULL")
|
// .addEntity(VideoInfo.class).list();
|
// for (VideoInfo vi : list) {
|
// // 清除 categoryVideo ,清除resourceVideo ,清除VideoIqiyi
|
// // ,清除VideoSoHu,清除video
|
// clearData(session, vi.getId());
|
// }
|
|
} catch (Exception e) {
|
if (session.getTransaction().isActive())
|
session.getTransaction().rollback();
|
e.printStackTrace();
|
} finally {
|
session.close();
|
}
|
|
}
|
|
@SuppressWarnings("unchecked")
|
public static void clearData(Session session, String vid) {
|
|
session.createQuery("delete from CategoryVideo cv where cv.video.id=?").setParameter(0, vid).executeUpdate();
|
|
session.createQuery("delete from ResourceVideo cv where cv.video.id=?").setParameter(0, vid).executeUpdate();
|
|
session.createQuery("delete from VideoIqiyi cv where cv.video.id=?").setParameter(0, vid).executeUpdate();
|
|
session.createQuery("delete from VideoSoHu cv where cv.video.id=?").setParameter(0, vid).executeUpdate();
|
|
session.createQuery("delete from VideoYouKu cv where cv.video.id=?").setParameter(0, vid).executeUpdate();
|
|
session.createQuery("delete from VideoPPTV cv where cv.video.id=?").setParameter(0, vid).executeUpdate();
|
|
session.createQuery("delete from VideoInfo cv where cv.id=?").setParameter(0, vid).executeUpdate();
|
|
List<SuperCategoryRecommendVideo> scrList = (List<SuperCategoryRecommendVideo>) session
|
.createQuery("from SuperCategoryRecommendVideo cv where cv.categoryRecommendVideo.videoInfo.id=?")
|
.setParameter(0, vid).list();
|
for (SuperCategoryRecommendVideo scr : scrList)
|
session.delete(scr);
|
|
session.createQuery("delete from CategoryRecommendCacheVideo cv where cv.videoInfo.id=?").setParameter(0, vid)
|
.executeUpdate();
|
|
session.createQuery("delete from CategoryRecommendVideo cv where cv.videoInfo.id=?").setParameter(0, vid)
|
.executeUpdate();
|
|
session.createQuery("delete from Attention cv where cv.videoInfo.id=?").setParameter(0, vid).executeUpdate();
|
}
|
|
public static boolean isNeedDelete(VideoInfo vi, String detailSystem) {// 是否需要屏蔽某个来源
|
// if (detailSystem.equalsIgnoreCase("") && vi.getPicture() != null
|
// && vi.getPicture().contains("sohu"))
|
// return true;
|
// else
|
return false;
|
}
|
|
public static boolean isNeedAdd(Session session, String name) {
|
Object obj = session
|
.createSQLQuery("SELECT count(*) FROM wk_juhe_filter_key WHERE LOCATE( `key`,'" + name + "')")
|
.uniqueResult();
|
if (Integer.parseInt(obj + "") > 0)
|
return false;
|
else
|
return true;
|
}
|
|
}
|