yumeng hace 5 años
padre
commit
7bfed2e7aa

+ 42 - 48
module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialInfoServiceImpl.java

@@ -43,7 +43,7 @@ import java.util.regex.Pattern;
 @Slf4j
 @Service
 public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, MaterialInfo> implements IMaterialInfoService {
-    static ExecutorService executorService = Executors.newFixedThreadPool(5);
+    static ExecutorService uploadExecutorService = Executors.newFixedThreadPool(5);
 
     @Override
     public MaterialInfo getMaterialInfoByCode(String code) {
@@ -247,59 +247,53 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
     private MaterialParameterMapper materialParameterMapper;
 
     public void getFile(MaterialInfo materialInfo) {
-        executorService.submit(new Runnable() {
+        uploadExecutorService.submit(new Runnable() {
             @Override
             public void run() {
                 try {
-                    this.loadFile(materialInfo);
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
-            }
-
-            private void loadFile(MaterialInfo materialInfo) throws IOException {
-                System.err.println(1111111);
-                if (!Check.isNull(materialInfo)) {
-                    String url = materialInfo.getUrl();
-                    long l = System.currentTimeMillis();
-                    String localUrl = LoadFileUtil.downLoadFromUrl(url, PropertiesUtils.getValue("kuaishou_config", "video_sava_path"));
-                    File file = new File(localUrl);
-                    it.sauronsoftware.jave.Encoder encoder = new Encoder();
-                    try {
-                        it.sauronsoftware.jave.MultimediaInfo m = encoder.getInfo(file);
-                        long duration = m.getDuration();
-                        long secondDuration = duration / 1000;
-                        MaterialParameter materialParameter = new MaterialParameter();
-                        materialParameter.setMaterialId(materialInfo.getId());
-                        materialParameter.setSecond(secondDuration); // 视频秒数
-                        materialParameter.setFormat(m.getFormat()); // 视频格式
-                        materialParameter.setWidth(String.valueOf(m.getVideo().getSize().getWidth()));// 视频宽
-                        materialParameter.setHeight(String.valueOf(m.getVideo().getSize().getHeight()));// 视频高
-
-                        FileInputStream fis = new FileInputStream(file);
-                        FileChannel fc = fis.getChannel();
-                        BigDecimal fileSize = new BigDecimal(fc.size());
-                        String size = fileSize.divide(new BigDecimal(1048576), 2, RoundingMode.HALF_UP) + "MB";
-                        materialParameter.setSize(size);
-
-                        Map<String, Object> deleteMap = new HashMap<>();
-                        deleteMap.put("material_id", materialInfo.getId());
-                        materialParameterMapper.deleteByMap(deleteMap);
-
-                        int insert = materialParameterMapper.insert(materialParameter);
-                        if (insert > 0) {
-                            log.info("素材基本信息入库完成,用时:{} s", (System.currentTimeMillis() - l) / 1000);
-
+                    System.err.println("开始获取素材基本信息");
+                    if (!Check.isNull(materialInfo)) {
+                        String url = materialInfo.getUrl();
+                        long l = System.currentTimeMillis();
+                        String localUrl = LoadFileUtil.downLoadFromUrl(url, PropertiesUtils.getValue("kuaishou_config", "video_sava_path"));
+                        File file = new File(localUrl);
+                        it.sauronsoftware.jave.Encoder encoder = new Encoder();
+                        try {
+                            it.sauronsoftware.jave.MultimediaInfo m = encoder.getInfo(file);
+                            long duration = m.getDuration();
+                            long secondDuration = duration / 1000;
+                            MaterialParameter materialParameter = new MaterialParameter();
+                            materialParameter.setMaterialId(materialInfo.getId());
+                            materialParameter.setSecond(secondDuration); // 视频秒数
+                            materialParameter.setFormat(m.getFormat()); // 视频格式
+                            materialParameter.setWidth(String.valueOf(m.getVideo().getSize().getWidth()));// 视频宽
+                            materialParameter.setHeight(String.valueOf(m.getVideo().getSize().getHeight()));// 视频高
+
+                            FileInputStream fis = new FileInputStream(file);
+                            FileChannel fc = fis.getChannel();
+                            BigDecimal fileSize = new BigDecimal(fc.size());
+                            String size = fileSize.divide(new BigDecimal(1048576), 2, RoundingMode.HALF_UP) + "MB";
+                            materialParameter.setSize(size);
+
+                            Map<String, Object> deleteMap = new HashMap<>();
+                            deleteMap.put("material_id", materialInfo.getId());
+                            materialParameterMapper.deleteByMap(deleteMap);
+
+                            int insert = materialParameterMapper.insert(materialParameter);
+                            if (insert > 0) {
+                                log.info("素材基本信息入库完成,用时:{} s", (System.currentTimeMillis() - l) / 1000);
+
+                            }
+                            System.err.println(2222222);
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        } finally {
+                            file.delete();
                         }
-                        System.err.println(2222222);
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    } finally {
-                        file.delete();
                     }
+                } catch (IOException e) {
+                    e.printStackTrace();
                 }
-
-
             }
         });
     }