admin
2021-02-06 cad915058c3c53bf328a8ae9ca9bc7de099caba7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
package com.yeshi.buwan.util;
 
import java.util.List;
 
import javax.annotation.Resource;
 
import org.hibernate.Session;
 
import com.yeshi.buwan.domain.VideoInfo;
import com.yeshi.buwan.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`,?)").setParameter(0, name)
                .uniqueResult();
        if (Integer.parseInt(obj + "") > 0)
            return false;
        else
            return true;
    }
 
}