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/ResourceVideoService.java |   82 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 74 insertions(+), 8 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 34c5c95..c98b249 100644
--- a/src/main/java/com/yeshi/buwan/service/imp/ResourceVideoService.java
+++ b/src/main/java/com/yeshi/buwan/service/imp/ResourceVideoService.java
@@ -1,13 +1,14 @@
 package com.yeshi.buwan.service.imp;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.io.Serializable;
+import java.util.*;
 
-import com.yeshi.buwan.dao.juhe.iqiyi.VideoIqiyiDao;
+import com.yeshi.buwan.dao.VideoResourceMapExtraInfoDao;
 import com.yeshi.buwan.domain.VideoResource;
+import com.yeshi.buwan.domain.VideoResourceMapExtraInfo;
+import com.yeshi.buwan.dto.mq.VideoDataChangeMQMsg;
 import com.yeshi.buwan.dto.mq.VideoExtraInfoChangeMQMsg;
-import com.yeshi.buwan.iqiyi.entity.VideoIqiyi;
-import com.yeshi.buwan.util.mq.CMQManager;
+import com.yeshi.buwan.util.mq.rabbit.RabbitmqManager;
 import org.hibernate.HibernateException;
 import org.hibernate.Query;
 import org.hibernate.Session;
@@ -28,11 +29,17 @@
     @Autowired
     private ResourceVideoDao resourceVideoDao;
 
+    @Resource
+    private VideoResourceMapExtraInfoDao videoResourceMapExtraInfoDao;
+
+    @Resource
+    private RabbitmqManager rabbitmqManager;
+
 
     @SuppressWarnings("unchecked")
     public List<ResourceVideo> getResourceList(final List<VideoInfo> list) {
         if (list == null || list.size() == 0) {
-            return new ArrayList<ResourceVideo>();
+            return new ArrayList<>();
         }
         return (List<ResourceVideo>) resourceVideoDao.excute(new HibernateCallback<List<ResourceVideo>>() {
             @Override
@@ -65,10 +72,61 @@
      * @param videoId
      * @return
      */
+    @Transactional
     public List<ResourceVideo> getResourceList(String videoId) {
         List<VideoInfo> videoInfoList = new ArrayList<>();
         videoInfoList.add(new VideoInfo(videoId));
         return getResourceList(videoInfoList);
+    }
+
+    /**
+     * 鑾峰彇榛樿鐨勬簮
+     *
+     * @param videoId
+     * @param avaiableResourceIds
+     * @return
+     */
+    public VideoResource getDefaultVideoResource(String videoId, Set<Long> avaiableResourceIds) {
+        List<ResourceVideo> resourceVideoList = resourceVideoDao.list("FROM ResourceVideo rv where rv.video.id=? order by rv.resource.orderby desc", videoId);
+        //鍒犻櫎鏃犵敤鏉ユ簮
+        for (int i = 0; i < resourceVideoList.size(); i++) {
+            if (!avaiableResourceIds.contains(Long.parseLong(resourceVideoList.get(i).getResource().getId())) || resourceVideoList.get(i).getResource() == null) {
+                resourceVideoList.remove(i--);
+            }
+        }
+        //鎺掑簭
+
+        List<VideoResource> resourceList = new ArrayList<>();
+
+        for (ResourceVideo rv : resourceVideoList) {
+            resourceList.add(rv.getResource());
+        }
+
+        Comparator<VideoResource> cm = new Comparator<VideoResource>() {
+            @Override
+            public int compare(VideoResource o1, VideoResource o2) {
+                return o2.getOrderby() - o1.getOrderby();
+            }
+        };
+
+        Collections.sort(resourceList, cm);
+        if (resourceList.size() > 0)
+            return resourceList.get(0);
+
+        return null;
+    }
+
+    /**
+     * @return java.util.List<com.yeshi.buwan.domain.ResourceVideo>
+     * @author hxh
+     * @description 鏍规嵁ResourceId鏌ヨ
+     * @date 10:58 2024/8/16
+     * @param: resourceId
+     * @param: page
+     * @param: pageSize
+     **/
+    public List<ResourceVideo> listResourceVideo(Long resourceId, int page, int pageSize) {
+        return resourceVideoDao.list("from ResourceVideo rv where rv.resource.id=? ", (page - 1) * pageSize, pageSize, new Serializable[]{resourceId + ""});
     }
 
 
@@ -96,7 +154,8 @@
             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));
+            rabbitmqManager.addVideoExtraInfoChanged(new VideoExtraInfoChangeMQMsg(VideoExtraInfoChangeMQMsg.TYPE_RESOURCE, videoId, VideoExtraInfoChangeMQMsg.ACTION_ADD));
+            rabbitmqManager.addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_RESOURCE, videoId, VideoDataChangeMQMsg.ACTION_ADD));
         }
     }
 
@@ -105,7 +164,14 @@
         ResourceVideo resourceVideo = resourceVideoDao.selectByVideoIdAndResourceId(videoId, resourceId + "");
         if (resourceVideo != null) {
             resourceVideoDao.delete(resourceVideo);
-            CMQManager.getInstance().addVideoExtraInfoChanged(new VideoExtraInfoChangeMQMsg(VideoExtraInfoChangeMQMsg.TYPE_RESOURCE, videoId, VideoExtraInfoChangeMQMsg.ACTION_DELETE));
+            rabbitmqManager.addVideoExtraInfoChanged(new VideoExtraInfoChangeMQMsg(VideoExtraInfoChangeMQMsg.TYPE_RESOURCE, videoId, VideoExtraInfoChangeMQMsg.ACTION_DELETE));
+            rabbitmqManager.addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_RESOURCE, videoId, VideoDataChangeMQMsg.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