package com.yeshi.buwan.service.imp.juhe;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
|
import com.yeshi.buwan.videos.acFun.AcfunVideoMap;
|
import com.yeshi.buwan.videos.acFun.AcfunVideoMapDao;
|
import com.yeshi.buwan.videos.acFun.AcfunVideoNew;
|
import com.yeshi.buwan.videos.acFun.AcfunVideoNewDao;
|
import com.yeshi.buwan.util.video.AcfunApiUtil;
|
|
@Service
|
public class AcfunVideoNewService {
|
|
@Resource
|
private AcfunVideoNewDao acfunVideoNewDao;
|
@Resource
|
private AcfunVideoMapDao acfunVideoMapDao;
|
|
public boolean isAddToVideo(String id) {
|
return acfunVideoMapDao.get(id) != null;
|
}
|
|
public void addAcfunVideoMap(String id, Long videoId) {
|
AcfunVideoMap map = new AcfunVideoMap();
|
map.setId(id);
|
map.setVideoId(videoId);
|
acfunVideoMapDao.save(map);
|
}
|
|
public void save(List<AcfunVideoNew> videoList) {
|
if (videoList != null)
|
for (AcfunVideoNew video : videoList)
|
save(video);
|
}
|
|
public void save(AcfunVideoNew video) {
|
if (video.getCreateTime() == null)
|
video.setCreateTime(new Date());
|
if (video.getLastestUpdateTime() == null)
|
video.setLastestUpdateTime(new Date());
|
if (video.getValid() == null)
|
video.setValid(true);
|
acfunVideoNewDao.save(video);
|
}
|
|
public void verifyValid(String id) {
|
AcfunVideoNew video = acfunVideoNewDao.get(id);
|
verifyValid(video);
|
|
}
|
|
public void verifyValid(AcfunVideoNew video) {
|
if (video == null)
|
return;
|
if (video.getValid() != null && video.getValid() == false)
|
return;
|
if (System.currentTimeMillis() - video.getLastestUpdateTime().getTime() < 1000 * 60 * 20L) {// 20分钟内不更新
|
return;
|
}
|
|
List<String> ids = new ArrayList<String>();
|
ids.add(video.getId());
|
updateValid(ids);
|
}
|
|
public void updateValid(List<String> ids) {
|
List<Boolean> validList = AcfunApiUtil.listValid(ids);
|
if (ids.size() != validList.size())
|
return;
|
for (int i = 0; i < ids.size(); i++) {
|
if (!validList.get(i)) {
|
acfunVideoNewDao.updateValid(ids.get(i), validList.get(i));
|
}
|
}
|
}
|
|
}
|