admin
2021-04-22 745320cbb4edfa4fbc8f0f95483a4ee7893d5769
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,15 +67,25 @@
        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;
        for (PPTVUtil.VideoConvertResult newVideoInfoResult : newVideoInfoList) {
            VideoInfo newVideoInfo = newVideoInfoResult.videoInfo;
        VideoType videoType = videoTypeService.getVideoType(newVideoInfo.getVideoType().getId());
        if (videoType.getParent() != null)
            newVideoInfo.setVideoType(videoType.getParent());
        VideoPPTVMap videoPPTV = videoPPTVMapDao.selectByInfoId(series.getInfoID());
            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)
@@ -126,6 +137,8 @@
            vi.setInfoId(series.getInfoID());
            vi.setVideoId(newVideoInfo.getId());
            vi.setCreateTime(new Date());
                vi.setSeriesCode(series.getSeriesCode());
                vi.setProgramCode(newVideoInfoResult.programCode);
            videoPPTVMapDao.save(vi);
        }
@@ -148,15 +161,20 @@
        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;
        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) {