admin
2021-04-12 5129d2c63fbef70c6ee45ba5ec12654937e05231
src/main/java/com/yeshi/buwan/util/SpringContext.java
@@ -1,5 +1,6 @@
package com.yeshi.buwan.util;
import com.alibaba.druid.pool.DruidDataSource;
import com.yeshi.buwan.domain.ResourceVideo;
import com.yeshi.buwan.domain.VideoInfo;
import com.yeshi.buwan.domain.VideoResource;
@@ -12,21 +13,24 @@
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.InternetSearchVideoService;
import com.yeshi.buwan.service.inter.juhe.Iqiyi2Service;
import com.yeshi.buwan.service.inter.juhe.PPTVService;
import com.yeshi.buwan.service.inter.juhe.YouKuService;
import com.yeshi.buwan.service.manager.SolrAlbumVideoDataManager;
import com.yeshi.buwan.service.manager.SolrInternetSearchVideoDataManager;
import com.yeshi.buwan.util.factory.InternetSearchVideoFactory;
import com.yeshi.buwan.util.mq.CMQManager;
import com.yeshi.buwan.youku.entity.YouKuShowDetail;
import io.seata.rm.datasource.DataSourceProxy;
import io.seata.spring.annotation.GlobalTransactionScanner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.List;
@@ -67,6 +71,7 @@
        }
    }
    private synchronized void onApplication(ContextRefreshedEvent context) {
        if (!isInited) {
            isInited = true;
@@ -84,6 +89,7 @@
            doAddPPTVVideo();
            doDeleteVideoResource();
            doUpdateVideoExtraInfo();
            doInternetSearchVideoUpdateJob();
        }
    }
@@ -124,7 +130,7 @@
    @Resource
    private YouKuService youKuService;
    private InternetSearchVideoService internetSearchVideoService;
    @Resource
    private SolrInternetSearchVideoDataManager solrInternetSearchVideoDataManager;
@@ -138,30 +144,12 @@
                    if (solrMsgList != null)
                        for (InternetSearchVideoMQMsg solrVideo : solrMsgList) {
                            try {
                                switch (solrVideo.getResourceId()) {
                                    //优酷
                                    case 20:
                                        YouKuShowDetail detail = youKuService.getShowDetail(solrVideo.getId());
                                        if (detail == null) {//被删除
                                            solrInternetSearchVideoDataManager.deleteById(detail.getId());
                                        } else {//更新
                                            InternetSearchVideo video = InternetSearchVideoFactory.create(detail);
                                            solrInternetSearchVideoDataManager.saveOrUpdate(video);
                                        }
                                        break;
                                    //腾讯
                                    case 17:
                                        break;
                                }
                                CMQManager.getInstance().deleteSolrMsg(solrVideo.getHandler());
                                InternetSearchVideo video = internetSearchVideoService.selectByPrimaryKey(solrVideo.getId());
                                if (video != null)
                                    solrInternetSearchVideoDataManager.saveOrUpdate(video);
                                else
                                    solrInternetSearchVideoDataManager.deleteById(video.getId());
                                CMQManager.getInstance().deleteInternetSearchVideoUpdateMsg(solrVideo.getHandler());
                            } catch (Exception e) {
                                logger.error("更新全网搜搜索引擎出错", e);
                            }