孙永军 1 rok pred
rodič
commit
e8547db5b0

+ 13 - 0
src/main/java/com/sxtvs/open/api/h5template/service/impl/OSSService.java

@@ -70,6 +70,19 @@ public class OSSService {
         return "https://cxzx.smcic.net/" + fileUrl;
     }
 
+    @SneakyThrows
+    public String vcr2local(String url) {
+        HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
+        String[] extension = url.split("/");
+        InputStream inputStream = connection.getInputStream();
+        String date = new DateTime().toString("yyyyMMdd");
+        String time = new DateTime().toString("HHmmss");
+        String dir = "operate/vcr/thumbnails/"+date;
+        String fileUrl = dir+"/" + extension[extension.length-1];
+        ossClient.putObject(bucket, fileUrl , inputStream);
+        return "https://cxzx.smcic.net/" + fileUrl;
+    }
+
 
 }
 

+ 6 - 0
src/main/java/com/sxtvs/open/api/review/service/impl/ReviewImgRecordServiceImpl.java

@@ -56,6 +56,12 @@ public class ReviewImgRecordServiceImpl extends ServiceImpl<ReviewImgRecordMappe
         }
         body.fill();
         reviewImgRecord.setTaskId(body.getTaskId());
+
+        if(TextUtils.isEmpty(reviewImgRecord.getTitle())){
+            String[] extension = reviewImgRecord.getUrl().split("/");
+            reviewImgRecord.setTitle(extension[extension.length - 1]);
+        }
+
         reviewImgRecord.setStatus(body.getStatus());
         reviewImgRecord.setResult(JSON.toJSONString(body));
         reviewImgRecord.setReviewResult(body);

+ 15 - 0
src/main/java/com/sxtvs/open/api/review/service/impl/ReviewVideosRecordServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.collect.ImmutableMap;
+import com.sxtvs.open.api.h5template.service.impl.OSSService;
 import com.sxtvs.open.api.review.dto.PageReqDTO;
 import com.sxtvs.open.api.review.dto.VideoReviewResp;
 import com.sxtvs.open.api.review.entity.ReviewImgRecord;
@@ -39,6 +40,9 @@ public class ReviewVideosRecordServiceImpl extends ServiceImpl<ReviewVideosRecor
     @Resource
     private VcrService vcrService;
 
+    @Resource
+    private OSSService  ossService;
+
     public ReviewVideosRecord store(ReviewVideosRecord reviewVideosRecord) {
         Optional<String> token = HttpContextUtil.getToken();
 
@@ -54,6 +58,10 @@ public class ReviewVideosRecordServiceImpl extends ServiceImpl<ReviewVideosRecor
             throw new BizException("视频审核失败,系统正在尝试重新提交 SHARES稍后");
         }
         body.fill();
+        if(TextUtils.isEmpty(reviewVideosRecord.getTitle())){
+            String[] extension = reviewVideosRecord.getUrl().split("/");
+            reviewVideosRecord.setTitle(extension[extension.length - 1]);
+        }
         reviewVideosRecord.setTaskId(body.getTaskId());
         reviewVideosRecord.setStatus(body.getStatus());
         reviewVideosRecord.setResult(JSON.toJSONString(body));
@@ -73,6 +81,13 @@ public class ReviewVideosRecordServiceImpl extends ServiceImpl<ReviewVideosRecor
         body.fill();
         reviewVideosRecord.setStatus(body.getStatus());
         reviewVideosRecord.setResult(JSON.toJSONString(body));
+
+        // 图片本地化
+        body.getResults().forEach(result -> result.getItems().forEach(item -> {
+            VideoReviewResp.ResultsDTO.ItemsDTO.EvidenceDTO evidence = item.getEvidence();
+            evidence.setThumbnail(ossService.vcr2local(evidence.getThumbnail()));
+        }));
+
         updateById(reviewVideosRecord);
     }