From 010ef2a907e66efd4702443c06cdd18f8a7ffa5b Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 30 十月 2024 14:08:53 +0800 Subject: [PATCH] IP归属地查询接口集成 --- src/main/java/com/yeshi/buwan/service/imp/VideoInfoService.java | 68 ++++++++++++++++++++++++---------- 1 files changed, 48 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/VideoInfoService.java b/src/main/java/com/yeshi/buwan/service/imp/VideoInfoService.java index b694e63..fdf6028 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/VideoInfoService.java +++ b/src/main/java/com/yeshi/buwan/service/imp/VideoInfoService.java @@ -1,33 +1,27 @@ package com.yeshi.buwan.service.imp; -import java.io.Serializable; -import java.util.*; - -import javax.annotation.Resource; - -import com.yeshi.buwan.util.HibernateSessionFactory; +import com.yeshi.buwan.dao.CategoryVideoDao; +import com.yeshi.buwan.dao.VideoInfoDao; +import com.yeshi.buwan.domain.*; +import com.yeshi.buwan.domain.entity.PlayUrl; +import com.yeshi.buwan.dto.mq.VideoDataChangeMQMsg; import com.yeshi.buwan.util.StringUtil; -import com.yeshi.buwan.util.TimeUtil; -import com.yeshi.buwan.util.mq.CMQManager; +import com.yeshi.buwan.util.mq.rabbit.RabbitmqManager; import com.yeshi.buwan.util.video.VideoConstant; import org.hibernate.HibernateException; import org.hibernate.SQLQuery; import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.Cacheable; import org.springframework.orm.hibernate4.HibernateCallback; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.yeshi.buwan.dao.CategoryVideoDao; -import com.yeshi.buwan.dao.VideoInfoDao; -import com.yeshi.buwan.domain.CategoryVideo; -import com.yeshi.buwan.domain.ResourceVideo; -import com.yeshi.buwan.domain.VideoDetailInfo; -import com.yeshi.buwan.domain.VideoInfo; -import com.yeshi.buwan.domain.VideoResource; -import com.yeshi.buwan.domain.VideoType; -import com.yeshi.buwan.domain.VideoUrl; -import com.yeshi.buwan.domain.entity.PlayUrl; +import javax.annotation.Resource; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; @Service public class VideoInfoService { @@ -44,9 +38,24 @@ @Resource private VideoResourceService videoResourceService; + @Resource + private ClearService clearService; + + @Resource + private RabbitmqManager rabbitmqManager; + + + + @Transactional public VideoInfo getVideoInfo(String vid) { return videoInfoDao.find(VideoInfo.class, vid); } + + @Cacheable(value = "videoCache", key = "'getVideoInfoDetail-'+#vid") + public VideoInfo getVideoInfoCache(String vid) { + return videoInfoDao.find(VideoInfo.class, vid); + } + @SuppressWarnings("unchecked") public List<VideoInfo> simpleRandomVideoList(final int i) { @@ -74,12 +83,14 @@ } @Transactional - public void save(VideoInfo videoInfo) { + public void saveWithCategoryAndResource(VideoInfo videoInfo) { videoInfoDao.save(videoInfo); + rabbitmqManager.addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_INFO, videoInfo.getId(), VideoDataChangeMQMsg.ACTION_ADD)); CategoryVideo ca = new CategoryVideo(); ca.setVideo(videoInfo); ca.setVideoType(videoInfo.getVideoType()); categoryVideoDao.create(ca); + rabbitmqManager.addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_CATEGORY, videoInfo.getId(), VideoDataChangeMQMsg.ACTION_ADD)); List<VideoResource> resourceList = videoInfo.getResourceList(); ResourceVideo rs = null; for (VideoResource videoResource : resourceList) { @@ -88,6 +99,21 @@ rs.setVideo(videoInfo); resourceVideoService.save(rs); } + rabbitmqManager.addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_RESOURCE, videoInfo.getId(), VideoDataChangeMQMsg.ACTION_ADD)); + } + + + @Transactional + public Serializable save(VideoInfo videoInfo) { + Serializable id = videoInfoDao.save(videoInfo); + rabbitmqManager.addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_INFO, videoInfo.getId(), VideoDataChangeMQMsg.ACTION_ADD)); + return id; + } + + @Transactional + public void update(VideoInfo videoInfo) { + videoInfoDao.update(videoInfo); + rabbitmqManager.addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_INFO, videoInfo.getId(), VideoDataChangeMQMsg.ACTION_UPDATE)); } public List<VideoDetailInfo> getVideoDetailList(String videoid, VideoResource vr, int page, int pageSize) { @@ -184,6 +210,7 @@ return null; } + /** * 鏍规嵁鍚嶇О涓庝富婕� * @@ -239,6 +266,7 @@ return videoInfoDao.listByVideoIds(videoIds); } + @Transactional public void hiddenVideo(String id) { VideoInfo videoInfo = videoInfoDao.find(VideoInfo.class, id); if (videoInfo != null && "1".equalsIgnoreCase(videoInfo.getShow())) { @@ -309,7 +337,7 @@ } if (needUpdateSolr) { - CMQManager.getInstance().addSolrMsg(videoInfo.getId()); + rabbitmqManager.addSolrMsg(videoInfo.getId()); } -- Gitblit v1.8.0