From 745320cbb4edfa4fbc8f0f95483a4ee7893d5769 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 22 四月 2021 20:18:08 +0800 Subject: [PATCH] 3.9.2完善 --- src/main/java/com/yeshi/buwan/service/imp/juhe/PPTVServiceImpl.java | 199 +++++++++++++++++++++++++++++-------------------- 1 files changed, 119 insertions(+), 80 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/juhe/PPTVServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/juhe/PPTVServiceImpl.java index 7d48717..9af1335 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/juhe/PPTVServiceImpl.java +++ b/src/main/java/com/yeshi/buwan/service/imp/juhe/PPTVServiceImpl.java @@ -23,6 +23,7 @@ import com.yeshi.buwan.service.imp.VideoTypeService; import com.yeshi.buwan.service.inter.juhe.PPTVService; import com.yeshi.buwan.util.mq.CMQManager; +import com.yeshi.buwan.util.video.VideoConstant; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; @@ -66,97 +67,114 @@ if (series.getSeries() == null || series.getSeries().size() <= 0) return; - VideoInfo newVideoInfo = PPTVUtil.convertToVideoInfo(series); - if (newVideoInfo == null) + List<PPTVUtil.VideoConvertResult> newVideoInfoList = PPTVUtil.convertToVideoInfo(series); + if (newVideoInfoList == null) return; - VideoType videoType = videoTypeService.getVideoType(newVideoInfo.getVideoType().getId()); - if (videoType.getParent() != null) - newVideoInfo.setVideoType(videoType.getParent()); + for (PPTVUtil.VideoConvertResult newVideoInfoResult : newVideoInfoList) { + VideoInfo newVideoInfo = newVideoInfoResult.videoInfo; - VideoPPTVMap videoPPTV = videoPPTVMapDao.selectByInfoId(series.getInfoID()); - if (videoPPTV != null) {//娓犻亾瑙嗛宸茬粡瀛樺湪 - VideoInfo videoInfo = videoInfoService.getVideoInfo(videoPPTV.getVideoId() + ""); - if (videoInfo == null) - return; - newVideoInfo.setId(videoInfo.getId()); - if (!newVideoInfo.getTag().equalsIgnoreCase(videoInfo.getTag())) { - newVideoInfo.setCreatetime(videoInfo.getCreatetime()); - //鏇存柊淇℃伅tag淇℃伅 - videoInfo.setVideocount(newVideoInfo.getVideocount()); - videoInfo.setTag(newVideoInfo.getTag()); - videoInfo.setPicture(newVideoInfo.getPicture()); - videoInfo.setHpicture(newVideoInfo.getHpicture()); - videoInfo.setVpicture(newVideoInfo.getVpicture()); - videoInfo.setShow(newVideoInfo.getShow()); - videoInfo.setVideoType(newVideoInfo.getVideoType()); - videoInfoDao.update(videoInfo); - } - } else {//瑙嗛涓嶅瓨鍦� - //鍒ゆ柇2涓棰戝疄浣撴槸鍚︿负鍚屼竴瑙嗛 - VideoInfo oldVideo = videoInfoService.getExistSameVideoWithDirector(newVideoInfo); - if (oldVideo == null) { - //娣诲姞瑙嗛 - Serializable id = videoInfoDao.save(newVideoInfo); - newVideoInfo.setId(id + ""); - } else {//涓哄悓涓�瑙嗛 - //鏇存柊tag - newVideoInfo.setId(oldVideo.getId()); - oldVideo.setVideocount(newVideoInfo.getVideocount()); - oldVideo.setTag(newVideoInfo.getTag()); - oldVideo.setPicture(newVideoInfo.getPicture()); - oldVideo.setHpicture(newVideoInfo.getHpicture()); - oldVideo.setVpicture(newVideoInfo.getVpicture()); - oldVideo.setShow(newVideoInfo.getShow()); - oldVideo.setVideoType(newVideoInfo.getVideoType()); - videoInfoDao.update(oldVideo); + VideoType videoType = videoTypeService.getVideoType(newVideoInfo.getVideoType().getId()); + if (videoType.getParent() != null) + newVideoInfo.setVideoType(videoType.getParent()); + + VideoPPTVMapDao.DaoQuery daoQuery = new VideoPPTVMapDao.DaoQuery(); + daoQuery.programCode = newVideoInfoResult.programCode; + daoQuery.infoId = series.getInfoID(); + List<VideoPPTVMap> videoPPTVMapList = videoPPTVMapDao.list(daoQuery); + VideoPPTVMap videoPPTV = null; + if (videoPPTVMapList != null && videoPPTVMapList.size() > 0) + videoPPTV = videoPPTVMapList.get(0); + + if (videoPPTV != null) {//娓犻亾瑙嗛宸茬粡瀛樺湪 + VideoInfo videoInfo = videoInfoService.getVideoInfo(videoPPTV.getVideoId() + ""); + if (videoInfo == null) + return; + newVideoInfo.setId(videoInfo.getId()); + if (!newVideoInfo.getTag().equalsIgnoreCase(videoInfo.getTag())) { + newVideoInfo.setCreatetime(videoInfo.getCreatetime()); + //鏇存柊淇℃伅tag淇℃伅 + videoInfo.setVideocount(newVideoInfo.getVideocount()); + videoInfo.setTag(newVideoInfo.getTag()); + videoInfo.setPicture(newVideoInfo.getPicture()); + videoInfo.setHpicture(newVideoInfo.getHpicture()); + videoInfo.setVpicture(newVideoInfo.getVpicture()); + videoInfo.setShow(newVideoInfo.getShow()); + videoInfo.setVideoType(newVideoInfo.getVideoType()); + videoInfoDao.update(videoInfo); + } + } else {//瑙嗛涓嶅瓨鍦� + //鍒ゆ柇2涓棰戝疄浣撴槸鍚︿负鍚屼竴瑙嗛 + VideoInfo oldVideo = videoInfoService.getExistSameVideoWithDirector(newVideoInfo); + if (oldVideo == null) { + //娣诲姞瑙嗛 + Serializable id = videoInfoDao.save(newVideoInfo); + newVideoInfo.setId(id + ""); + } else {//涓哄悓涓�瑙嗛 + //鏇存柊tag + newVideoInfo.setId(oldVideo.getId()); + oldVideo.setVideocount(newVideoInfo.getVideocount()); + oldVideo.setTag(newVideoInfo.getTag()); + oldVideo.setPicture(newVideoInfo.getPicture()); + oldVideo.setHpicture(newVideoInfo.getHpicture()); + oldVideo.setVpicture(newVideoInfo.getVpicture()); + oldVideo.setShow(newVideoInfo.getShow()); + oldVideo.setVideoType(newVideoInfo.getVideoType()); + videoInfoDao.update(oldVideo); + } + + //鍔犲叆涓撹緫瑙嗛鏄犲皠 + AlbumVideoMap map = new AlbumVideoMap(); + map.setId(newVideoInfo.getId()); + map.setCreateTime(new Date()); + map.setVideoId(newVideoInfo.getId()); + map.setRootVideoType(newVideoInfo.getVideoType().getId()); + map.setVideoCount(newVideoInfo.getVideocount()); + albumVideoMapDao.save(map); + + //鍔犲叆鏄犲皠 + VideoPPTVMap vi = new VideoPPTVMap(); + vi.setInfoId(series.getInfoID()); + vi.setVideoId(newVideoInfo.getId()); + vi.setCreateTime(new Date()); + vi.setSeriesCode(series.getSeriesCode()); + vi.setProgramCode(newVideoInfoResult.programCode); + videoPPTVMapDao.save(vi); } - //鍔犲叆涓撹緫瑙嗛鏄犲皠 - AlbumVideoMap map = new AlbumVideoMap(); - map.setId(newVideoInfo.getId()); - map.setCreateTime(new Date()); - map.setVideoId(newVideoInfo.getId()); - map.setRootVideoType(newVideoInfo.getVideoType().getId()); - map.setVideoCount(newVideoInfo.getVideocount()); - albumVideoMapDao.save(map); + //娣诲姞瑙嗛璧勬簮闄勫姞淇℃伅 + VideoResourceMapExtraInfo vrm = new VideoResourceMapExtraInfo(newVideoInfo.getId(), (long) PPTVUtil.RESOURCE_ID); + VideoResourceMapExtraInfo extra = videoResourceMapExtraInfoDao.find(VideoResourceMapExtraInfo.class, vrm.getId()); + if (extra == null) { + vrm.setFree(Integer.parseInt(series.getFree())); + vrm.setCreateTime(new Date()); + videoResourceMapExtraInfoDao.save(vrm); + } else {//鏇存柊 + extra.setFree(Integer.parseInt(series.getFree())); + extra.setUpdateTime(new Date()); + videoResourceMapExtraInfoDao.update(extra); + } - //鍔犲叆鏄犲皠 - VideoPPTVMap vi = new VideoPPTVMap(); - vi.setInfoId(series.getInfoID()); - vi.setVideoId(newVideoInfo.getId()); - vi.setCreateTime(new Date()); - videoPPTVMapDao.save(vi); + //娣诲姞瑙嗛鏉ユ簮鏄犲皠 + resourceVideoService.addVideoResource(newVideoInfo.getId(), PPTVUtil.RESOURCE_ID + ""); + //娣诲姞瑙嗛鍒嗙被鏄犲皠 + categoryVideoService.addCategoryVideo(newVideoInfo.getId(), videoType.getId()); + CMQManager.getInstance().addSolrMsg(newVideoInfo.getId()); } - - //娣诲姞瑙嗛璧勬簮闄勫姞淇℃伅 - VideoResourceMapExtraInfo vrm = new VideoResourceMapExtraInfo(newVideoInfo.getId(), (long) PPTVUtil.RESOURCE_ID); - VideoResourceMapExtraInfo extra = videoResourceMapExtraInfoDao.find(VideoResourceMapExtraInfo.class, vrm.getId()); - if (extra == null) { - vrm.setFree(Integer.parseInt(series.getFree())); - vrm.setCreateTime(new Date()); - videoResourceMapExtraInfoDao.save(vrm); - } else {//鏇存柊 - extra.setFree(Integer.parseInt(series.getFree())); - extra.setUpdateTime(new Date()); - videoResourceMapExtraInfoDao.update(extra); - } - - //娣诲姞瑙嗛鏉ユ簮鏄犲皠 - resourceVideoService.addVideoResource(newVideoInfo.getId(), PPTVUtil.RESOURCE_ID + ""); - //娣诲姞瑙嗛鍒嗙被鏄犲皠 - categoryVideoService.addCategoryVideo(newVideoInfo.getId(), videoType.getId()); - CMQManager.getInstance().addSolrMsg(newVideoInfo.getId()); } @Override public void offLineSeries(String infoId) { + VideoPPTVMapDao.DaoQuery daoQuery = new VideoPPTVMapDao.DaoQuery(); + daoQuery.infoId = infoId; //鏌ヨ鍑哄搴旂殑瑙嗛ID - VideoPPTVMap map = videoPPTVMapDao.selectByInfoId(infoId); - if (map == null) + List<VideoPPTVMap> mapList = videoPPTVMapDao.list(daoQuery); + if (mapList == null || mapList.size() == 0) return; - videoPPTVMapDao.deleteByPrimaryKey(map.getVideoId()); - resourceVideoService.delete(map.getVideoId() + "", PPTVUtil.RESOURCE_ID + ""); + for (VideoPPTVMap map : mapList) { + videoPPTVMapDao.deleteByPrimaryKey(map.getVideoId()); + resourceVideoService.delete(map.getVideoId() + "", PPTVUtil.RESOURCE_ID + ""); + } } @Override @@ -261,6 +279,12 @@ } @Override + public VideoPPTVMap getVideoPPTVMapByVideoId(String videoId) { + VideoPPTVMap map = videoPPTVMapDao.get(videoId); + return map; + } + + @Override public PPTVProgram selectProgramById(String id) { return pptvProgramDao.get(id); } @@ -278,8 +302,14 @@ } @Override - public VideoPPTVMap selectVideoPPTVMapByInfoId(String infoId) { - return videoPPTVMapDao.selectByInfoId(infoId); + public VideoPPTVMap selectVideoPPTVMapByPPInfo(String infoId, String programCode) { + VideoPPTVMapDao.DaoQuery daoQuery = new VideoPPTVMapDao.DaoQuery(); + daoQuery.infoId = infoId; + daoQuery.programCode = programCode; + List<VideoPPTVMap> list = videoPPTVMapDao.list(daoQuery); + if (list == null || list.size() == 0) + return null; + return list.get(0); } @Override @@ -304,6 +334,15 @@ } @Override + public void updateProgramGoodsInfo(String vid, PPTVGoodsInfo goodsInfo) { + Query query = new Query(); + query.addCriteria(Criteria.where("_id").is(vid)); + Update update = new Update(); + update.set("goodsInfo", goodsInfo); + pptvProgramDao.update(query, update); + } + + @Override public void syncSeries(String cid) { PPTVSeries series = PPTVApiUtil.getDetail(cid); if (series != null) { -- Gitblit v1.8.0