| | |
| | | import com.yeshi.buwan.dao.juhe.bilibili.BilibiliSearchVideoMapDao; |
| | | import com.yeshi.buwan.dao.juhe.bilibili.BilibiliVideoDao; |
| | | import com.yeshi.buwan.domain.VideoDetailInfo; |
| | | import com.yeshi.buwan.domain.video.InternetSearchVideo; |
| | | import com.yeshi.buwan.service.inter.juhe.BilibiliVideoService; |
| | | import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService; |
| | | import com.yeshi.buwan.util.factory.InternetSearchVideoFactory; |
| | | import com.yeshi.buwan.videos.bilibili.BilibiliUtil; |
| | | import com.yeshi.buwan.videos.bilibili.entity.BilibiliEpInfo; |
| | | import com.yeshi.buwan.videos.bilibili.entity.BilibiliMediaInfo; |
| | | import com.yeshi.buwan.videos.bilibili.entity.BilibiliSearchVideoMap; |
| | | import com.yeshi.buwan.videos.bilibili.entity.BilibiliVideo; |
| | | 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; |
| | | |
| | |
| | | private BilibiliVideoDao bilibiliVideoDao; |
| | | @Resource |
| | | private BilibiliSearchVideoMapDao bilibiliSearchVideoMapDao; |
| | | @Resource |
| | | private InternetSearchVideoService internetSearchVideoService; |
| | | |
| | | |
| | | @Override |
| | |
| | | bilibiliMediaInfoDao.save(mediaInfo); |
| | | |
| | | if (mediaInfo.getEpList() != null) { |
| | | int orderBy = 0; |
| | | for (BilibiliEpInfo ep : mediaInfo.getEpList()) { |
| | | ep.setMediaId(mediaInfo.getMedia_id()); |
| | | ep.setOrderBy(++orderBy); |
| | | if (ep.getCreateTime() == null) |
| | | ep.setCreateTime(new Date()); |
| | | bilibiliEpInfoDao.save(ep); |
| | |
| | | |
| | | @Override |
| | | public BilibiliMediaInfo getSimpleMediaDetail(Long mediaId) { |
| | | BilibiliMediaInfo mediaInfo = bilibiliMediaInfoDao.get(mediaId); |
| | | return mediaInfo; |
| | | Query query = new Query(); |
| | | query.addCriteria(Criteria.where("_id").is(mediaId)); |
| | | return bilibiliMediaInfoDao.findOne(query); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | @Override |
| | | public List<VideoDetailInfo> getVideoDetailList(String videoid, int page, int pageSize) { |
| | | BilibiliSearchVideoMap map = selectMapByVideoId(videoid); |
| | | if (map == null) |
| | | return null; |
| | | |
| | | if (map.getMediaId() != null) { |
| | | BilibiliMediaInfo bilibiliMediaInfo = bilibiliMediaInfoDao.get(map.getMediaId()); |
| | | List<BilibiliEpInfo> bilibiliEpInfos = bilibiliEpInfoDao.listByMediaId(map.getMediaId(), (page - 1) * pageSize, pageSize); |
| | | List<VideoDetailInfo> list = BilibiliUtil.convertToDetail(bilibiliEpInfos, bilibiliMediaInfo); |
| | | return list; |
| | | } else if (map.getVid() != null) { |
| | | BilibiliVideo video = bilibiliVideoDao.get(map.getVid()); |
| | | VideoDetailInfo detailInfo = BilibiliUtil.convertToDetail(video); |
| | | if (detailInfo == null) |
| | | return null; |
| | | List<VideoDetailInfo> detailInfoList = new ArrayList<>(); |
| | | detailInfoList.add(detailInfo); |
| | | return detailInfoList; |
| | | } |
| | | |
| | | |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public BilibiliSearchVideoMap selectMapByVideoId(String videoId) { |
| | | return null; |
| | | return bilibiliSearchVideoMapDao.selectByVideoId(videoId); |
| | | } |
| | | |
| | | @Override |
| | | public void addToInternetSearch(BilibiliMediaInfo mediaInfo) throws Exception { |
| | | |
| | | if (mediaInfo == null) |
| | | return; |
| | | save(mediaInfo); |
| | | InternetSearchVideo video = InternetSearchVideoFactory.create(mediaInfo); |
| | | if (internetSearchVideoService.save(video) == null) { |
| | | return; |
| | | } |
| | | BilibiliSearchVideoMap map = new BilibiliSearchVideoMap(); |
| | | map.setMediaId(mediaInfo.getMedia_id()); |
| | | map.setVideoId(video.getId()); |
| | | map.setCreateTime(new Date()); |
| | | bilibiliSearchVideoMapDao.save(map); |
| | | } |
| | | |
| | | @Override |
| | | public void addToInternetSearch(BilibiliVideo video) throws Exception { |
| | | |
| | | public void addToInternetSearch(BilibiliVideo video, Integer videoType) throws Exception { |
| | | save(video); |
| | | InternetSearchVideo internetSearchVideo = InternetSearchVideoFactory.create(video, videoType); |
| | | if (internetSearchVideoService.save(internetSearchVideo) == null) { |
| | | return; |
| | | } |
| | | BilibiliSearchVideoMap map = new BilibiliSearchVideoMap(); |
| | | map.setVid(video.getAid() + ""); |
| | | map.setVideoId(internetSearchVideo.getId()); |
| | | map.setCreateTime(new Date()); |
| | | bilibiliSearchVideoMapDao.save(map); |
| | | } |
| | | } |