qin 1 anno fa
parent
commit
44cb0a80d9

+ 1 - 2
src/main/java/com/poteviohealth/cgp/statistics/controller/OrderController.java

@@ -209,8 +209,7 @@ public class OrderController extends BaseWebController {
         log.info(orderId);
         //图片检查
         try {
-            MultipartFile checkFile = file;
-            DistinctionDTO dto = distinctionService.checkImg(checkFile,orderId,uidList);
+            DistinctionDTO dto = distinctionService.checkImg(file,orderId,uidList);
             if(dto.getOrderId() ==null){
                 VaultsResponse<String> vaultsResponse = ossUtils.uploadOneFile(file,orderId);
                 log.info(vaultsResponse.getData());

+ 17 - 2
src/main/java/com/poteviohealth/cgp/statistics/service/impl/DistinctionServiceImpl.java

@@ -23,6 +23,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import java.io.File;
 import java.io.IOException;
 import java.util.Date;
 import java.util.List;
@@ -47,8 +48,22 @@ public class DistinctionServiceImpl extends BaseServiceImpl<DistinctionMapper, D
     @Override
     public DistinctionDTO checkImg(MultipartFile file, Long orderId, List<String> uidList) throws IOException {
         DistinctionDTO dto = new DistinctionDTO();
-        MultipartFile newFile = ossUtils.videoConvertImg(file);
-        String uid = ImageUtils.readImagePix(newFile.getInputStream());
+        Integer pos = file.getOriginalFilename().lastIndexOf('.');
+        String suffix = "";
+        String uid;
+        if (pos != -1) {
+            suffix = file.getOriginalFilename().substring(pos);
+        }
+        if(suffix.indexOf("mp4") != -1){
+            File tempFile = File.createTempFile("temp_", ".mp4");
+            file.transferTo(tempFile);
+            File outFile = ossUtils.generateCover(tempFile);
+            uid = ImageUtils.readImagePix(outFile);
+            tempFile.delete();
+            outFile.delete();
+        }else{
+            uid = ImageUtils.readImagePix(file.getInputStream());
+        }
         dto.setUid(uid);
         if("0".equals(orderCacheVal(CgpTool.CACHE_ORDER_PHOTO_CHECK))){
             return dto;

+ 1 - 27
src/main/java/com/poteviohealth/cgp/statistics/utils/OssUtils.java

@@ -136,36 +136,10 @@ public class OssUtils {
         return null;
     }
 
-    public MultipartFile videoConvertImg(MultipartFile dto) {
-        try {
-            log.info("视频截图文件==="+dto.getOriginalFilename());
-            //设置文件名
-            Integer pos = dto.getOriginalFilename().lastIndexOf('.');
-            String suffix = "";
-            if (pos != -1) {
-                suffix = dto.getOriginalFilename().substring(pos);
-            }
-
-            if(suffix.indexOf("mp4") != -1){
-                File tempFile = File.createTempFile("temp_", ".mp4");
-                dto.transferTo(tempFile);
-                File outFile =  this.generateCover(tempFile);
-                MultipartFile dto2 = new MockMultipartFile(outFile.getName(), new FileInputStream(outFile));
-                tempFile.delete();
-                outFile.delete();
-                return dto2;
-            }
-            return dto;
-        } catch (Exception e) {
-            e.printStackTrace();
-            return null;
-        }
-    }
-
     /**
      * 获取指定的视频文件后进行封面截图为jpg
      */
-    private File generateCover(File inputFile) {
+    public File generateCover(File inputFile) {
         log.info("视频截图开始==="+inputFile.getName());
         try {