浏览代码

穿山甲上传优化

zhaotx 1 年之前
父节点
当前提交
e2c19aa555

+ 1 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/xml/CsjResourceMapper.xml

@@ -41,6 +41,7 @@
         LEFT JOIN thirtpart.csj_authorization_detail tb1 on tb0.resource_id = tb1.resource_id
         LEFT JOIN thirtpart.csj_album_resource_info tb2 on tb1.album_id = tb2.album_id
         LEFT JOIN thirtpart.csj_album_seq_resource_info tb3 on tb1.album_id = tb3.album_id
+        WHERE tb1.album_id is not null
         ORDER BY tb1.create_time DESC
     </select>
     <select id="getToken" resultType="java.lang.String">

+ 39 - 28
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/CsjResourceServiceImpl.java

@@ -71,32 +71,23 @@ public class CsjResourceServiceImpl implements ICsjResourceService {
             seqList.removeIf(seq -> seq.getSeq() == null);
         }
         Map<Integer, CsjAlbumSeqResourceInfo> seqMap = seqList.stream().collect(Collectors.toMap(CsjAlbumSeqResourceInfo::getSeq, seq -> seq));
-        if (videoList != null && !videoList.isEmpty()){
-            for (int i = 0; i < videoList.size(); i++) {
-                JSONObject videoInfo = videoList.getJSONObject(i);
-                Integer seqNum = videoInfo.getInteger("seq");
-                String videoUrl = videoInfo.getString("url");
-                if (Check.isNull(videoUrl)) {
-                    log.error("第" + seqNum + "集视频链接为空");
-                }
-                CsjAlbumSeqResourceInfo seq = seqMap.get(seqNum);
-                if (seq == null){
-                    seq = new CsjAlbumSeqResourceInfo(albumId, seqNum);
-                    seqList.add(seq);
-                    seqMap.put(seqNum, seq);
-                }
-                if (StringUtils.isEmpty(seq.getOssSeqVideo())){
-                    String fileName = albumId + "_" + seqNum + "_video.mp4";
-                    String ossVideoUrl = uploadToOss(videoUrl, fileName);
-                    if (StringUtils.isNotEmpty(ossVideoUrl)){
-                        seq.setOssSeqVideo(ossVideoUrl);
-                    }
-                    csjResourceMapper.updateSeq(seq);
 
+        //先存图
+        //获取一个最大的seq值,来判断上传是否完成
+        if (coverList != null && !coverList.isEmpty()){
+            int maxSeq = 0;
+            for (int i = 0; i < coverList.size(); i++) {
+                JSONObject coverInfo = coverList.getJSONObject(i);
+                Integer seqNum = coverInfo.getInteger("seq");
+                if (seqNum == null || seqNum == 0){
+                    maxSeq = 0;
+                    break; //封面图不需要seq
+                } else {
+                    maxSeq = Math.max(maxSeq, seqNum);
                 }
             }
-        }
-        if (coverList != null && !coverList.isEmpty()){
+
+
             for (int i = 0; i < coverList.size(); i++) {
                 JSONObject coverInfo = coverList.getJSONObject(i);
                 Integer seqNum = coverInfo.getInteger("seq");
@@ -129,12 +120,32 @@ public class CsjResourceServiceImpl implements ICsjResourceService {
                 }
             }
         }
+        if (videoList != null && !videoList.isEmpty()){
+            for (int i = 0; i < videoList.size(); i++) {
+                JSONObject videoInfo = videoList.getJSONObject(i);
+                Integer seqNum = videoInfo.getInteger("seq");
+                String videoUrl = videoInfo.getString("url");
+                if (Check.isNull(videoUrl)) {
+                    log.error("第" + seqNum + "集视频链接为空");
+                }
+                CsjAlbumSeqResourceInfo seq = seqMap.get(seqNum);
+                if (seq == null){
+                    seq = new CsjAlbumSeqResourceInfo(albumId, seqNum);
+                    seqList.add(seq);
+                    seqMap.put(seqNum, seq);
+                }
+                if (StringUtils.isEmpty(seq.getOssSeqVideo())){
+                    String fileName = albumId + "_" + seqNum + "_video.mp4";
+                    String ossVideoUrl = uploadToOss(videoUrl, fileName);
+                    if (StringUtils.isNotEmpty(ossVideoUrl)){
+                        seq.setOssSeqVideo(ossVideoUrl);
+                    }
+                    csjResourceMapper.updateSeq(seq);
+
+                }
+            }
+        }
 
-//        //update album, update seq
-//        csjResourceMapper.updateAlbum(album);
-//        if (album.getSeqList() != null && !album.getSeqList().isEmpty()){
-//            csjResourceMapper.batchUpdateAlbumSeq(album.getSeqList());
-//        }
         log.info("处理资源成功: " + album.getAlbumId() + ", 共处理分集: " + seqList.size());
 
         return "";