From 1d28c69a351ae108f4116a10f19f615c89a660a2 Mon Sep 17 00:00:00 2001 From: admin <2780501319@qq.com> Date: 星期四, 01 四月 2021 01:58:43 +0800 Subject: [PATCH] 首页数据修改 --- src/main/java/com/yeshi/buwan/iqiyi/util/IqiyiUtil2.java | 161 +++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 118 insertions(+), 43 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/iqiyi/util/IqiyiUtil2.java b/src/main/java/com/yeshi/buwan/iqiyi/util/IqiyiUtil2.java index 5994e7c..4548159 100644 --- a/src/main/java/com/yeshi/buwan/iqiyi/util/IqiyiUtil2.java +++ b/src/main/java/com/yeshi/buwan/iqiyi/util/IqiyiUtil2.java @@ -7,27 +7,34 @@ import com.yeshi.buwan.iqiyi.entity.IqiyiAlbum2; import com.yeshi.buwan.iqiyi.vo.IqiyiAlbumListResult; import com.yeshi.buwan.service.inter.juhe.Iqiyi2Service; +import com.yeshi.buwan.util.StringUtil; +import com.yeshi.buwan.util.TimeUtil; +import com.yeshi.buwan.util.log.VideoLogFactory; import com.yeshi.buwan.util.mq.CMQManager; import com.yeshi.buwan.util.video.VideoConstant; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.io.IOException; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; @Component public class IqiyiUtil2 { + + private final Logger logger = LoggerFactory.getLogger("iqiyiVideoUpdate"); + public final static int PLAY_NONE = 0;// 涓嶈兘鎾斁 public final static int PLAY_HTML = 1;// 璺宠浆绉诲姩绔綉椤垫挱鏀� public final static int PLAY_SWF = 2;// 宓屽缃戦〉鎾斁 - public final static long RESOURCE_ID = 22L; + public final static int RESOURCE_ID = 22; + public final static String RESOURCE_NAME = "鐖卞鑹�."; @Resource private Iqiyi2Service iqiyi2Service; @@ -35,20 +42,60 @@ if (list == null) return; for (IqiyiAlbum2 album : list) { + if (album.getContentType() != 1) + continue; + if (!albumIsValid(album)) {//濡傛灉鏄棤鏁堢殑涓撹緫灏遍渶瑕佸垹闄� + iqiyi2Service.deleteByAid(album.getId()); + continue; + } + + + logger.info(VideoLogFactory.createAddAlbumLog(album)); + if (album.getTvQipuIds() != null && album.getTvQipuIds().size() > 0) { - int pageSize = 10; - int page = album.getTvQipuIds().size() % pageSize == 0 ? album.getTvQipuIds().size() / pageSize : album.getTvQipuIds().size() / pageSize + 1; - for (int p = 0; p < page; p++) { - int startIndex = p * pageSize; - int toIndex = (startIndex + pageSize) > album.getTvQipuIds().size() ? album.getTvQipuIds().size() : (startIndex + pageSize); - List<IqiyiAlbum2> detailList = IqiYiNewAPI.getAlbumOrVideoDetail(album.getTvQipuIds().subList(startIndex, toIndex)); - if (detailList != null) - for (IqiyiAlbum2 video : detailList) - iqiyi2Service.saveIqiyiAlbum(video); + //鏌ヨ鏈�鏂扮殑涓�闆嗘槸鍚︾紦瀛� + boolean needSaveVideos = true; + if (album.getLatestVideo() != null) { + if (iqiyi2Service.countById(album.getLatestVideo().getId()) > 0L) + needSaveVideos = false; + } + + + if (needSaveVideos) { + int pageSize = 10; + int page = album.getTvQipuIds().size() % pageSize == 0 ? album.getTvQipuIds().size() / pageSize : album.getTvQipuIds().size() / pageSize + 1; + for (int p = 0; p < page; p++) { + int startIndex = p * pageSize; + int toIndex = (startIndex + pageSize) > album.getTvQipuIds().size() ? album.getTvQipuIds().size() : (startIndex + pageSize); + List<Long> tvQipuIds = new ArrayList<>(); + tvQipuIds.addAll(album.getTvQipuIds().subList(startIndex, toIndex)); + + //鏌ヨ鏄惁宸茬粡瀛樺湪浜� + List<IqiyiAlbum2> existList = iqiyi2Service.listByIds(tvQipuIds); + Set<Long> sets = new HashSet<>(); + if (existList != null && existList.size() > 0) { + for (IqiyiAlbum2 a : existList) + sets.add(a.getId()); + + //鍒犻櫎宸茬粡瀛樺湪鐨� + for (int i = 0; i < tvQipuIds.size(); i++) { + if (sets.contains(tvQipuIds.get(i))) { + tvQipuIds.remove(i--); + } + } + } + + if (tvQipuIds.size() > 0) { + List<IqiyiAlbum2> detailList = IqiYiNewAPI.getAlbumOrVideoDetail(tvQipuIds); + if (detailList != null) + for (IqiyiAlbum2 video : detailList) + iqiyi2Service.saveIqiyiAlbum(video); + } + } } } iqiyi2Service.saveIqiyiAlbum(album); - CMQManager.getInstance().addAlbumUpdateMsg(album.getId()); + CMQManager.getInstance().addIqiyiAlbumUpdateMsg(album.getId()); } } @@ -85,12 +132,12 @@ //鎷夊彇鎵�鏈夌殑鐢靛奖 public void syncAllDianYing() { - syncAlbumAndVideo(IqiYiNewAPI.TYPE_DIANYING, false, 255675400l); + syncAlbumAndVideo(IqiYiNewAPI.TYPE_DIANYING, false, null); } //鎷夊彇鎵�鏈夌殑鐢佃鍓� public void syncAllDianShiJu() { - syncAlbumAndVideo(IqiYiNewAPI.TYPE_DIANSHIJU, true, 206929801L); + syncAlbumAndVideo(IqiYiNewAPI.TYPE_DIANSHIJU, true, null); } //鎷夊彇鎵�鏈夌殑鍔ㄦ极 @@ -104,12 +151,12 @@ } //鏇存柊涓撹緫 - public void updateAlbum(int categoryId, Date startTime, Date endTime) { - IqiyiAlbumListResult result = IqiYiNewAPI.getUpdateAlbumList(categoryId + "", startTime, endTime, null, true, 10); + public void updateAlbum(int categoryId, boolean isAlbum, Date startTime, Date endTime) { + IqiyiAlbumListResult result = IqiYiNewAPI.getUpdateAlbumList(categoryId + "", startTime, endTime, null, isAlbum, 10); if (result.getAlbum2List() != null) saveAlbumAndVideo(result.getAlbum2List()); while (result.getMinId() != null) { - result = IqiYiNewAPI.getUpdateAlbumList(categoryId + "", startTime, endTime, result.getMinId(), true, 10); + result = IqiYiNewAPI.getUpdateAlbumList(categoryId + "", startTime, endTime, result.getMinId(), isAlbum, 10); if (result.getAlbum2List() != null) saveAlbumAndVideo(result.getAlbum2List()); } @@ -129,25 +176,22 @@ //鏇存柊鏈�杩戜竴澶╃殑鐨勪笓杈戜笌瑙嗛 - public void updateTodayAlbumAndVideo() { + public void updateTodayAlbumAndVideo(int channelId) { long now = System.currentTimeMillis(); for (int i = 0; i < 8; i++) { - Date endTime = new Date(now - i * 1000 * 60 * 60L * 3); + Date endTime = new Date(now - 1000 * 60 * 60L * 3 * i); Date startTime = new Date(endTime.getTime() - 1000 * 60 * 60L * 3); - //鏇存柊鐢靛奖 - updateVideo(IqiYiNewAPI.TYPE_DIANYING, startTime, endTime); - //鏇存柊鐢佃鍓� - updateAlbum(IqiYiNewAPI.TYPE_DIANSHIJU, startTime, endTime); - updateVideo(IqiYiNewAPI.TYPE_DIANSHIJU, startTime, endTime); - - //鏇存柊鍔ㄦ极 - updateAlbum(IqiYiNewAPI.TYPE_DONGMAN, startTime, endTime); - updateVideo(IqiYiNewAPI.TYPE_DONGMAN, startTime, endTime); - - //鏇存柊缁艰壓 - updateAlbum(IqiYiNewAPI.TYPE_ZONGYI, startTime, endTime); - updateVideo(IqiYiNewAPI.TYPE_ZONGYI, startTime, endTime); + switch (channelId) { + case IqiYiNewAPI.TYPE_DIANYING: + updateAlbum(channelId, true, startTime, endTime); + break; + case IqiYiNewAPI.TYPE_DIANSHIJU: + case IqiYiNewAPI.TYPE_DONGMAN: + case IqiYiNewAPI.TYPE_ZONGYI: + updateAlbum(channelId, true, startTime, endTime); + break; + } } } @@ -176,14 +220,18 @@ tag = "璇勫垎锛�" + album.getStatistics().getScore(); } else if (album.getChannelId() == IqiYiNewAPI.TYPE_DIANSHIJU || album.getChannelId() == IqiYiNewAPI.TYPE_DONGMAN) { if (album.getLatestVideo() != null) { - if (album.getLatestVideo().getOrder() == album.getVideoCount()) - tag = album.getVideoCount() + "闆嗗叏"; - else - tag = "鏇存柊鑷�" + album.getLatestVideo().getOrder() + "闆�"; + if (album.isSourceAlbum()) {//涓撹緫 + tag = "鏇存柊鑷�" + TimeUtil.getGernalTime(TimeUtil.convertGernalTime(album.getLatestVideo().getPeriod(), "yyyyMMdd"), "yyyy-MM-dd") + "鏈�"; + } else { + if (album.getLatestVideo().getOrder() == album.getVideoCount()) + tag = album.getVideoCount() + "闆嗗叏"; + else + tag = "鏇存柊鑷�" + album.getLatestVideo().getOrder() + "闆�"; + } } } else if (album.getChannelId() == IqiYiNewAPI.TYPE_ZONGYI) if (album.getLatestVideo() != null) { - tag = "鏇存柊鑷�" + album.getLatestVideo().getPeriod() + "鏈�"; + tag = "鏇存柊鑷�" + TimeUtil.getGernalTime(TimeUtil.convertGernalTime(album.getLatestVideo().getPeriod(), "yyyyMMdd"), "yyyy-MM-dd") + "鏈�"; } return tag; } @@ -194,13 +242,17 @@ vi.setAdmin(new AdminInfo("1")); vi.setId(album.getId()); vi.setIntroduction(album.getDesc()); + vi.setExtraId(album.getId() + ""); vi.setName(album.getName()); if (album.getChannelId() == IqiYiNewAPI.TYPE_DIANYING) vi.setTag(album.getName()); - else if (album.getChannelId() == IqiYiNewAPI.TYPE_DIANSHIJU || album.getChannelId() == IqiYiNewAPI.TYPE_DONGMAN) - vi.setTag(album.getOrder() + ""); - else if (album.getChannelId() == IqiYiNewAPI.TYPE_ZONGYI) - vi.setTag(album.getPeriod()); + else if (album.getChannelId() == IqiYiNewAPI.TYPE_DIANSHIJU || album.getChannelId() == IqiYiNewAPI.TYPE_DONGMAN) { + if (album.isSourceAlbum()) + vi.setTag(album.getPeriod() + "\n" + album.getSubTitle()); + else + vi.setTag(album.getOrder() + ""); + } else if (album.getChannelId() == IqiYiNewAPI.TYPE_ZONGYI) + vi.setTag(album.getPeriod() + "\n" + album.getSubTitle()); vi.setType("album"); return vi; } @@ -246,5 +298,28 @@ return list; } + /** + * 涓撹緫鏄惁鏈夋晥 + * + * @param album2 + * @return + */ + public static boolean albumIsValid(IqiyiAlbum2 album2) { + if (album2.getEffect() != 1) + return false; + + if (album2.isSupportDrm()) + return false; + + List<IqiyiAlbum2.PlayControlsBean> playControls = album2.getPlayControls(); + if (playControls == null) + return false; + for (IqiyiAlbum2.PlayControlsBean bean : playControls) { + if (bean.getPlatformId() == 15 && bean.getAvailableStatus() == 1) + return true; + } + return false; + } + } -- Gitblit v1.8.0