From c6c5a8ce0f42d46ea2fe0312c9eda67a49fd3917 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 01 二月 2021 18:58:21 +0800 Subject: [PATCH] 完善根据IP屏蔽广告,创建会员实体 --- src/main/java/com/yeshi/buwan/service/imp/ResourceVideoService.java | 139 ++++++++++++++++++++++++++++++++++------------ 1 files changed, 103 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/ResourceVideoService.java b/src/main/java/com/yeshi/buwan/service/imp/ResourceVideoService.java index 61a84e3..4aa67c7 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/ResourceVideoService.java +++ b/src/main/java/com/yeshi/buwan/service/imp/ResourceVideoService.java @@ -3,6 +3,13 @@ import java.util.ArrayList; import java.util.List; +import com.yeshi.buwan.dao.VideoResourceMapExtraInfoDao; +import com.yeshi.buwan.dao.juhe.iqiyi.VideoIqiyiDao; +import com.yeshi.buwan.domain.VideoResource; +import com.yeshi.buwan.domain.VideoResourceMapExtraInfo; +import com.yeshi.buwan.dto.mq.VideoExtraInfoChangeMQMsg; +import com.yeshi.buwan.iqiyi.entity.VideoIqiyi; +import com.yeshi.buwan.util.mq.CMQManager; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; @@ -13,45 +20,105 @@ import com.yeshi.buwan.dao.ResourceVideoDao; import com.yeshi.buwan.domain.ResourceVideo; import com.yeshi.buwan.domain.VideoInfo; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; @Service public class ResourceVideoService { - - @Autowired - private ResourceVideoDao resourceVideoDao; - @SuppressWarnings("unchecked") - public List<ResourceVideo> getResourceList(final List<VideoInfo> list) { - if(list == null || list.size() ==0){ - return new ArrayList<ResourceVideo>(); - } - return (List<ResourceVideo>) resourceVideoDao.excute(new HibernateCallback<List<ResourceVideo>>() { - @Override - public List<ResourceVideo> doInHibernate(Session session) - throws HibernateException { - StringBuffer hql=new StringBuffer("from ResourceVideo rv "); - int i=0; - for (VideoInfo videoInfo : list) { - if(i==0) - hql.append(" where ( rv.video.id = ? ) "); - else - hql.append(" or ( rv.video.id = ? ) "); - i++; - } - hql.append(" order by rv.video.id desc "); - Query query = session.createQuery(hql.toString()); - i=0; - for (VideoInfo videoInfo : list) { - query.setParameter(i, videoInfo.getId()); - i++; - } - return query.list(); - } - }); - } + @Autowired + private ResourceVideoDao resourceVideoDao; - public void save(ResourceVideo resourceVideo) { - resourceVideoDao.save(resourceVideo); - } - + @Resource + private VideoResourceMapExtraInfoDao videoResourceMapExtraInfoDao; + + + @SuppressWarnings("unchecked") + public List<ResourceVideo> getResourceList(final List<VideoInfo> list) { + if (list == null || list.size() == 0) { + return new ArrayList<ResourceVideo>(); + } + return (List<ResourceVideo>) resourceVideoDao.excute(new HibernateCallback<List<ResourceVideo>>() { + @Override + public List<ResourceVideo> doInHibernate(Session session) + throws HibernateException { + StringBuffer hql = new StringBuffer("from ResourceVideo rv "); + int i = 0; + for (VideoInfo videoInfo : list) { + if (i == 0) + hql.append(" where ( rv.video.id = ? ) "); + else + hql.append(" or ( rv.video.id = ? ) "); + i++; + } + hql.append(" order by rv.video.id desc "); + Query query = session.createQuery(hql.toString()); + i = 0; + for (VideoInfo videoInfo : list) { + query.setParameter(i, videoInfo.getId()); + i++; + } + return query.list(); + } + }); + } + + /** + * 鑾峰彇璧勬簮鍒楄〃 + * + * @param videoId + * @return + */ + public List<ResourceVideo> getResourceList(String videoId) { + List<VideoInfo> videoInfoList = new ArrayList<>(); + videoInfoList.add(new VideoInfo(videoId)); + return getResourceList(videoInfoList); + } + + + /** + * 鏍规嵁瑙嗛ID涓嶳esourceId鏌ヨ + * + * @param videoId + * @param sourceId + * @return + */ + + public long countByVideoIdAndResourceId(String videoId, long sourceId) { + return resourceVideoDao.countByVideoIdAndResourceId(videoId, sourceId + ""); + } + + public void save(ResourceVideo resourceVideo) { + resourceVideoDao.save(resourceVideo); + } + + public void addVideoResource(String videoId, String resourceId) { + ResourceVideo rv = resourceVideoDao.selectByVideoIdAndResourceId(videoId, resourceId); + if (rv == null) { + System.out.println(videoId + ":" + resourceId); + rv = new ResourceVideo(); + rv.setResource(new VideoResource(resourceId + "")); + rv.setVideo(new VideoInfo(videoId + "")); + resourceVideoDao.save(rv); + CMQManager.getInstance().addVideoExtraInfoChanged(new VideoExtraInfoChangeMQMsg(VideoExtraInfoChangeMQMsg.TYPE_RESOURCE, videoId, VideoExtraInfoChangeMQMsg.ACTION_ADD)); + } + } + + @Transactional + public void delete(String videoId, String resourceId) { + ResourceVideo resourceVideo = resourceVideoDao.selectByVideoIdAndResourceId(videoId, resourceId + ""); + if (resourceVideo != null) { + resourceVideoDao.delete(resourceVideo); + CMQManager.getInstance().addVideoExtraInfoChanged(new VideoExtraInfoChangeMQMsg(VideoExtraInfoChangeMQMsg.TYPE_RESOURCE, videoId, VideoExtraInfoChangeMQMsg.ACTION_DELETE)); + } + + VideoResourceMapExtraInfo extraInfo = new VideoResourceMapExtraInfo(videoId, Long.parseLong(resourceId)); + extraInfo = videoResourceMapExtraInfoDao.find(VideoResourceMapExtraInfo.class, extraInfo.getId()); + if (extraInfo != null) { + videoResourceMapExtraInfoDao.delete(extraInfo); + } + } + + } -- Gitblit v1.8.0