package com.yeshi.buwan.util;
|
|
import com.yeshi.buwan.dao.juhe.iqiyi.IqiyiAlbum2Dao;
|
import com.yeshi.buwan.domain.VideoInfo;
|
import com.yeshi.buwan.dto.mq.IqiyiAlbum2MQMsg;
|
import com.yeshi.buwan.dto.mq.SolrVideoMQMsg;
|
import com.yeshi.buwan.funtv.FunTVUtil;
|
import com.yeshi.buwan.iqiyi.entity.IqiyiAlbum2;
|
import com.yeshi.buwan.iqiyi.util.IqiyiUtil2;
|
import com.yeshi.buwan.service.imp.JobThreadExecutorServiceImpl;
|
import com.yeshi.buwan.service.imp.VideoInfoService;
|
import com.yeshi.buwan.service.manager.SolrDataManager;
|
import com.yeshi.buwan.util.mq.CMQManager;
|
import org.springframework.context.ApplicationListener;
|
import org.springframework.context.event.ContextRefreshedEvent;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
/**
|
* ϵͳ³õʼ»¯
|
*
|
* @author Administrator
|
*/
|
@Component
|
public class SpringContext implements ApplicationListener<ContextRefreshedEvent> {
|
|
@Resource
|
private VideoInfoService videoInfoService;
|
|
@Resource
|
private SolrDataManager solrDataManager;
|
|
@Resource
|
private IqiyiUtil2 iqiyiUtil2;
|
|
@Resource
|
private IqiyiAlbum2Dao iqiyiAlbum2Dao;
|
|
|
private static boolean isInited = false;
|
|
public void onApplicationEvent(ContextRefreshedEvent arg0) {
|
if (arg0.getApplicationContext().getParent() != null) {
|
System.out.println(System.currentTimeMillis());
|
onApplication(arg0);
|
}
|
}
|
|
private synchronized void onApplication(ContextRefreshedEvent context) {
|
if (!isInited) {
|
isInited = true;
|
System.out.println("ϵͳ³õʼ»¯³É¹¦");
|
init();
|
}
|
}
|
|
private void init() {
|
doSolrJob();
|
doAddIqiyi2Video();
|
}
|
|
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)
|
solrDataManager.saveOrUpdate(videoInfo);
|
CMQManager.getInstance().deleteSolrMsg(solrVideo.getHandler());
|
} catch (Exception e) {
|
|
}
|
}
|
}
|
});
|
}
|
|
|
private void doAddIqiyi2Video() {
|
new JobThreadExecutorServiceImpl().run(new Runnable() {
|
@Override
|
public void run() {
|
List<IqiyiAlbum2MQMsg> iqiyiAlbumMsgList = CMQManager.getInstance().consumeAlbumUpdateMsg(16);
|
if (iqiyiAlbumMsgList != null)
|
for (IqiyiAlbum2MQMsg iqiyiAlbum2MQMsg : iqiyiAlbumMsgList) {
|
try {
|
Long qikuID = iqiyiAlbum2MQMsg.getId();
|
IqiyiAlbum2 album2 = iqiyiAlbum2Dao.get(qikuID);
|
if (album2 != null) {
|
iqiyiUtil2.addToVideoInfo(album2);
|
}
|
CMQManager.getInstance().deleteAlbumUpdateMsg(iqiyiAlbum2MQMsg.getHandler());
|
} catch (Exception e) {
|
|
}
|
}
|
}
|
});
|
|
}
|
|
}
|