From 351b317c56487676b4f5a60b5bc3710a383d7a7b Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 26 三月 2021 17:33:33 +0800 Subject: [PATCH] 全网搜腾讯完善 --- src/main/java/com/yeshi/buwan/service/imp/juhe/TencentVideoServiceImpl.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 108 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/juhe/TencentVideoServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/juhe/TencentVideoServiceImpl.java index 4521a0f..9a34ee2 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/juhe/TencentVideoServiceImpl.java +++ b/src/main/java/com/yeshi/buwan/service/imp/juhe/TencentVideoServiceImpl.java @@ -1,16 +1,24 @@ package com.yeshi.buwan.service.imp.juhe; import com.yeshi.buwan.dao.juhe.tencent.TencentCoverInfoDao; +import com.yeshi.buwan.dao.juhe.tencent.TencentCoverVideoDao; +import com.yeshi.buwan.dao.juhe.tencent.TencentSearchVideoMapDao; +import com.yeshi.buwan.domain.VideoDetailInfo; +import com.yeshi.buwan.domain.video.InternetSearchVideo; +import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService; import com.yeshi.buwan.service.inter.juhe.TencentVideoService; +import com.yeshi.buwan.tencent.TencentVideoUtil; import com.yeshi.buwan.tencent.entity.TencentCoverInfo; -import com.yeshi.buwan.youku.entity.YouKuShowDetail; -import com.yeshi.buwan.youku.entity.YouKuVideo; +import com.yeshi.buwan.tencent.entity.TencentCoverVideo; +import com.yeshi.buwan.tencent.entity.TencentSearchVideoMap; +import com.yeshi.buwan.util.factory.InternetSearchVideoFactory; import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -18,36 +26,125 @@ public class TencentVideoServiceImpl implements TencentVideoService { @Resource + private TencentSearchVideoMapDao tencentSearchVideoMapDao; + + @Resource private TencentCoverInfoDao tencentCoverInfoDao; + @Resource + private TencentCoverVideoDao tencentCoverVideoDao; + @Resource + private InternetSearchVideoService internetSearchVideoService; @Override - public void save(TencentCoverInfo detail) { + public void save(TencentCoverInfo detail) throws Exception { + List<TencentCoverVideo> videoList = new ArrayList<>(); + for (TencentCoverInfo.VipIdsBean idsBean : detail.getVip_ids()) { + TencentCoverVideo video = new TencentCoverVideo(); + video.setCoverId(detail.getCover_id()); + video.setPosition(idsBean.getP()); + video.setStage(idsBean.getP() + 1); + video.setVideoId(idsBean.getV()); + video.setLink(String.format("https://v.qq.com/x/cover/%s/%s.html", detail.getCover_id(), idsBean.getV())); + if (idsBean.getF() == 2 || idsBean.getF() == 7) + videoList.add(video); + } + detail.setVideoList(videoList); + + if (detail.getUpdateTime() == null) detail.setUpdateTime(new Date()); tencentCoverInfoDao.save(detail); + if (detail.getVideoList() != null) + for (TencentCoverVideo video : detail.getVideoList()) { + if (video.getUpdateTime() == null) { + video.setUpdateTime(new Date()); + } + + tencentCoverVideoDao.save(video); + } + + internetSearchVideoService.save(InternetSearchVideoFactory.create(detail)); } @Override - public TencentCoverInfo getConverDetail(String id) { - TencentCoverInfo detail = tencentCoverInfoDao.get(id); + public TencentCoverInfo getCoverDetail(String coverId) { + TencentCoverInfo detail = tencentCoverInfoDao.get(coverId); + Query query = new Query(); + if (detail != null) { + query.addCriteria(Criteria.where("coverId").is(coverId)); + } + query.with(new Sort(new Sort.Order(Sort.Direction.ASC, "show_videoseq"))); + List<TencentCoverVideo> videoList = tencentCoverVideoDao.findList(query); + detail.setVideoList(videoList); return detail; } @Override - public long count(String type) { + public TencentCoverInfo getSimpleCoverDetail(String coverId) { + TencentCoverInfo detail = tencentCoverInfoDao.get(coverId); + return detail; + } + + @Override + public List<TencentCoverVideo> getVideoList(String coverId, int page, int pageSize) { Query query = new Query(); - if (type != null) - query.addCriteria(Criteria.where("type").is(type)); + query.addCriteria(Criteria.where("coverId").is(coverId)); + query.with(new Sort(new Sort.Order(Sort.Direction.ASC, "position"))); + query.skip((page - 1) * pageSize); + query.limit(pageSize); + List<TencentCoverVideo> videoList = tencentCoverVideoDao.findList(query); + return videoList; + } + + @Override + public TencentCoverVideo getVideoDetail(String id) { + return tencentCoverVideoDao.get(id); + } + + + @Override + public long count(String category) { + Query query = new Query(); + if (category != null) + query.addCriteria(Criteria.where("type_name").is(category)); return tencentCoverInfoDao.count(query); } @Override - public List<TencentCoverInfo> list(String type, int page, int pageSize) { + public List<TencentCoverInfo> list(String category, int page, int pageSize) { Query query = new Query(); - if (type != null) - query.addCriteria(Criteria.where("type").is(type)); + if (category != null) + query.addCriteria(Criteria.where("type_name").is(category)); query.limit(pageSize); query.skip((page - 1) * pageSize); return tencentCoverInfoDao.findList(query); } + + @Override + public List<VideoDetailInfo> getVideoDetailList(String videoid, int page, int pageSize) { + TencentSearchVideoMap map = tencentSearchVideoMapDao.selectByVideoId(videoid); + if (map == null) + return null; + TencentCoverInfo coverInfo = tencentCoverInfoDao.get(map.getCoverId()); + + return TencentVideoUtil.convertToDetail(getVideoList(map.getCoverId(), page, pageSize), coverInfo); + } + + @Override + public TencentSearchVideoMap selectMapByVideoId(String videoId) { + TencentSearchVideoMap map = tencentSearchVideoMapDao.selectByVideoId(videoId); + return map; + } + + @Override + public void addToInternetSearch(TencentCoverInfo showDetail) throws Exception { + InternetSearchVideo video = InternetSearchVideoFactory.create(showDetail); + internetSearchVideoService.save(video); + TencentSearchVideoMap map = new TencentSearchVideoMap(); + map.setCoverId(showDetail.getId()); + map.setVideoId(video.getId()); + map.setCreateTime(new Date()); + tencentSearchVideoMapDao.save(map); + } + } -- Gitblit v1.8.0