admin
2020-10-26 89e370bfdda29ac8a8f7080a18dc09a6ddc75c09
src/main/java/com/yeshi/buwan/util/SpringContext.java
@@ -1,13 +1,15 @@
package com.yeshi.buwan.util;
import com.yeshi.buwan.domain.ResourceVideo;
import com.yeshi.buwan.domain.VideoInfo;
import com.yeshi.buwan.dto.mq.CMQResult;
import com.yeshi.buwan.dto.mq.FunTVAlbum2MQMsg;
import com.yeshi.buwan.dto.mq.IqiyiAlbum2MQMsg;
import com.yeshi.buwan.dto.mq.SolrVideoMQMsg;
import com.yeshi.buwan.funtv.entity.FunTVAlbum2;
import com.yeshi.buwan.funtv.entity.FunTVVideo2;
import com.yeshi.buwan.iqiyi.entity.IqiyiAlbum2;
import com.yeshi.buwan.service.imp.JobThreadExecutorServiceImpl;
import com.yeshi.buwan.service.imp.ResourceVideoService;
import com.yeshi.buwan.service.imp.VideoInfoService;
import com.yeshi.buwan.service.inter.juhe.FunTV2Service;
import com.yeshi.buwan.service.inter.juhe.Iqiyi2Service;
@@ -30,7 +32,6 @@
@Component
public class SpringContext implements ApplicationListener<ContextRefreshedEvent> {
    @Resource
    private VideoInfoService videoInfoService;
@@ -43,6 +44,8 @@
    @Resource
    private FunTV2Service funTV2Service;
    @Resource
    private ResourceVideoService resourceVideoService;
    private static boolean isInited = false;
@@ -64,31 +67,34 @@
    }
    private void init() {
        doSolrJob();
        doAddIqiyi2Video();
        doAddFunTV2Video();
        if (!Constant.JobTasker) {
            doSolrJob();
            doAddIqiyi2Video();
            doAddFunTV2Video();
            doDeleteVideoResource();
        }
    }
    private void doSolrJob() {
        new JobThreadExecutorServiceImpl().run(new Runnable() {
            @Override
            public void run() {
                List<SolrVideoMQMsg> solrMsgList = CMQManager.getInstance().consumeSolrMsg(16);
                if (solrMsgList != null)
                    for (SolrVideoMQMsg solrVideo : solrMsgList) {
                        try {
                            VideoInfo videoInfo = videoInfoService.getVideoInfo(solrVideo.getId());
                            if (videoInfo != null) {
                                if ("1".equalsIgnoreCase(videoInfo.getShow()))
                                    solrDataManager.saveOrUpdate(videoInfo);
                                else
                                    solrDataManager.deleteById(videoInfo.getId());
                            }
                            CMQManager.getInstance().deleteSolrMsg(solrVideo.getHandler());
                        } catch (Exception e) {
                    List<SolrVideoMQMsg> solrMsgList = CMQManager.getInstance().consumeSolrMsg(16);
                    if (solrMsgList != null)
                        for (SolrVideoMQMsg solrVideo : solrMsgList) {
                            try {
                                VideoInfo videoInfo = videoInfoService.getVideoInfo(solrVideo.getId());
                                if (videoInfo != null) {
                                    if ("1".equalsIgnoreCase(videoInfo.getShow()))
                                        solrDataManager.saveOrUpdate(videoInfo);
                                    else
                                        solrDataManager.deleteById(videoInfo.getId());
                                }
                                CMQManager.getInstance().deleteSolrMsg(solrVideo.getHandler());
                            } catch (Exception e) {
                            }
                        }
                    }
            }
        });
    }
@@ -98,22 +104,22 @@
        new JobThreadExecutorServiceImpl().run(new Runnable() {
            @Override
            public void run() {
                List<IqiyiAlbum2MQMsg> iqiyiAlbumMsgList = CMQManager.getInstance().consumeIqiyiAlbumUpdateMsg(16);
                if (iqiyiAlbumMsgList != null)
                    for (IqiyiAlbum2MQMsg iqiyiAlbum2MQMsg : iqiyiAlbumMsgList) {
                        try {
                            Long qikuID = iqiyiAlbum2MQMsg.getId();
                            IqiyiAlbum2 album2 = iqiyi2Service.selectAlbumById(qikuID);
                            if (album2 != null) {
                                iqiyi2Service.addToVideoInfo(album2);
                    List<IqiyiAlbum2MQMsg> iqiyiAlbumMsgList = CMQManager.getInstance().consumeIqiyiAlbumUpdateMsg(16);
                    if (iqiyiAlbumMsgList != null)
                        for (IqiyiAlbum2MQMsg iqiyiAlbum2MQMsg : iqiyiAlbumMsgList) {
                            try {
                                Long qikuID = iqiyiAlbum2MQMsg.getId();
                                IqiyiAlbum2 album2 = iqiyi2Service.selectAlbumById(qikuID);
                                if (album2 != null) {
                                    iqiyi2Service.addToVideoInfo(album2);
                                }
                                CMQManager.getInstance().deleteIqiyiAlbumUpdateMsg(iqiyiAlbum2MQMsg.getHandler());
                            } catch (Exception e) {
                                logger.error("爱奇艺专辑添加到视频出错:" + e.getMessage());
                                logger.error("ID:" + iqiyiAlbum2MQMsg.getId());
                            }
                            CMQManager.getInstance().deleteIqiyiAlbumUpdateMsg(iqiyiAlbum2MQMsg.getHandler());
                        } catch (Exception e) {
                            logger.error("爱奇艺专辑添加到视频出错:" + e.getMessage());
                            logger.error("ID:" + iqiyiAlbum2MQMsg.getId());
                        }
                    }
            }
                }
        });
    }
@@ -123,21 +129,50 @@
        new JobThreadExecutorServiceImpl().run(new Runnable() {
            @Override
            public void run() {
                List<FunTVAlbum2MQMsg> funTVAlbum2MsgList = CMQManager.getInstance().consumeFunTVAlbumUpdateMsg(16);
                if (funTVAlbum2MsgList != null)
                    for (FunTVAlbum2MQMsg funTVAlbum2MQMsg : funTVAlbum2MsgList) {
                        try {
                            String mediaId = funTVAlbum2MQMsg.getId();
                            FunTVAlbum2 album2 = funTV2Service.getAlbumDetail(mediaId);
                            if (album2 != null) {
                                funTV2Service.processAlbum(album2);
                    List<FunTVAlbum2MQMsg> funTVAlbum2MsgList = CMQManager.getInstance().consumeFunTVAlbumUpdateMsg(16);
                    if (funTVAlbum2MsgList != null)
                        for (FunTVAlbum2MQMsg funTVAlbum2MQMsg : funTVAlbum2MsgList) {
                            try {
                                String mediaId = funTVAlbum2MQMsg.getId();
                                FunTVAlbum2 album2 = funTV2Service.getAlbumDetail(mediaId);
                                if (album2 != null) {
                                    funTV2Service.processAlbum(album2);
                                }
                                CMQManager.getInstance().deleteFunTVAlbumUpdateMsg(funTVAlbum2MQMsg.getHandler());
                            } catch (Exception e) {
                                logger.error("风行专辑添加到视频出错:" + e.getMessage());
                                logger.error("ID:" + funTVAlbum2MQMsg.getId());
                            }
                            CMQManager.getInstance().deleteFunTVAlbumUpdateMsg(funTVAlbum2MQMsg.getHandler());
                        } catch (Exception e) {
                            logger.error("风行专辑添加到视频出错:" + e.getMessage());
                            logger.error("ID:" + funTVAlbum2MQMsg.getId());
                        }
                    }
            }
        });
    }
    private void doDeleteVideoResource() {
        new JobThreadExecutorServiceImpl().run(new Runnable() {
            @Override
            public void run() {
                while (true) {
                    List<CMQResult> cmqMsgList = CMQManager.getInstance().consumeVideoResourceDeleteMsg(16);
                    if (cmqMsgList != null)
                        for (CMQResult msg : cmqMsgList) {
                            try {
                                String videoId = msg.getData() + "";
                                //查询资源列表
                                List<ResourceVideo> resourceVideoList = resourceVideoService.getResourceList(videoId);
                                //隐藏视频
                                if (resourceVideoList == null || resourceVideoList.size() == 0)
                                    videoInfoService.hiddenVideo(videoId);
                                //更新搜索引擎
                                CMQManager.getInstance().addSolrMsg(videoId);
                                CMQManager.getInstance().deleteVideoResourceDeleteMsg(msg.getHandler());
                            } catch (Exception e) {
                                logger.error("视频资源删除处理出错:" + e.getMessage());
                                logger.error("ID:" + msg.getData());
                            }
                        }
                }
            }
        });