wanghaiwu 3 өдөр өмнө
parent
commit
70f2066227

+ 80 - 82
code/base/nckd-jimin-base-helper/src/main/java/nckd/base/helper/DefaultPreviewCusServiceImpl.java

@@ -66,12 +66,12 @@ public class DefaultPreviewCusServiceImpl  implements PreviewService {
     public void init(FileService fileService) {
         logger.info("DefaultPreviewCusServiceImpl:" + fileService.toString());
         this.fileService = fileService;
-//        this.isPreviewcacheEnable = AttachmentFileService.isPreviewcacheEnable() && fileService instanceof AttachmentFileService;
-//        this.isPreviewcacheRefresh = Boolean.parseBoolean(System.getProperty("filepreview.refresh.enable"));
-//        this.uploadTimeout = AttachmentFileService.getUploadTimeout();
-//        this.fileServerDispatcher = DispatcherFactory.build("attachmentServer.url", BosErrorCode.fileServerNotConfigured);
-//        this.previewServerDispatcher = DispatcherFactory.build("yunpan.previewUrl", BosErrorCode.previewFailed);
-//        this.yunHomeService = new YunHomeService(fileService);
+        this.isPreviewcacheEnable = AttachmentFileService.isPreviewcacheEnable() && fileService instanceof AttachmentFileService;
+        this.isPreviewcacheRefresh = Boolean.parseBoolean(System.getProperty("filepreview.refresh.enable"));
+        this.uploadTimeout = AttachmentFileService.getUploadTimeout();
+        this.fileServerDispatcher = DispatcherFactory.build("attachmentServer.url", BosErrorCode.fileServerNotConfigured);
+        this.previewServerDispatcher = DispatcherFactory.build("yunpan.previewUrl", BosErrorCode.previewFailed);
+        this.yunHomeService = new YunHomeService(fileService);
     }
 
     /**
@@ -115,83 +115,80 @@ public class DefaultPreviewCusServiceImpl  implements PreviewService {
         Map result;
         logger.info("testpreviewWPS..." + path + ", " + ext);
 
+        if (YunHomeService.isNotNeedDeal(ext)) {
+            logger.info("testpreviewWPS...10001001");
+
+            Map<String, String> headerMap = new HashMap();
+            if (userAgent != null) {
+                headerMap.put("USER-AGENT", userAgent);
+            }
+
+            try {
+                in = this.fileService.download(path, headerMap, new HashMap());
+            } catch (Exception var19) {
+                result = ExceptionUtil.setErrorInfo(var19.getMessage());
+                previewResult.put(PreviewParams.STATUS.getEnumName(), PreviewParams.ERROR.getEnumName());
+                previewResult.put(PreviewParams.RESULT.getEnumName(), result);
+                return previewResult;
+            }
+
+            previewResult.put(PreviewParams.STATUS.getEnumName(), PreviewParams.NOT_NEED_CHANGE.getEnumName());
+            previewResult.put(PreviewParams.RESULT.getEnumName(), in);
+            if ("txt".equalsIgnoreCase(ext)) {
+                previewResult.put(PreviewParams.CHARSET.getEnumName(), FileUtil.getFilecharsetNew(in));
+            }
+
+            return previewResult;
+        } else if (this.isPreviewcacheRefresh) {
+            logger.info("testpreviewWPS...10001002");
+
+            return this.getYunPanCovertRs(path, fileName, ext, userAgent, false);
+        } else {
+            if (this.isPreviewcacheEnable) {
+                logger.info("testpreviewWPS...10001003");
+                startTime = System.currentTimeMillis();
+                String previewUrl = path + (!"xls".equalsIgnoreCase(ext) && !"xlsx".equalsIgnoreCase(ext) ? ".pdf" : ".zip");
+                String previewMetaUrl = path + ".meta";
 
-        return this.getYunPanCovertRs(path, fileName, ext, userAgent, false);
-
-//        if (YunHomeService.isNotNeedDeal(ext)) {
-//            logger.info("testpreviewWPS...10001001");
-//
-//            Map<String, String> headerMap = new HashMap();
-//            if (userAgent != null) {
-//                headerMap.put("USER-AGENT", userAgent);
-//            }
-//
-//            try {
-//                in = this.fileService.download(path, headerMap, new HashMap());
-//            } catch (Exception var19) {
-//                result = ExceptionUtil.setErrorInfo(var19.getMessage());
-//                previewResult.put(PreviewParams.STATUS.getEnumName(), PreviewParams.ERROR.getEnumName());
-//                previewResult.put(PreviewParams.RESULT.getEnumName(), result);
-//                return previewResult;
-//            }
-//
-//            previewResult.put(PreviewParams.STATUS.getEnumName(), PreviewParams.NOT_NEED_CHANGE.getEnumName());
-//            previewResult.put(PreviewParams.RESULT.getEnumName(), in);
-//            if ("txt".equalsIgnoreCase(ext)) {
-//                previewResult.put(PreviewParams.CHARSET.getEnumName(), FileUtil.getFilecharsetNew(in));
-//            }
-//
-//            return previewResult;
-//        } else if (this.isPreviewcacheRefresh) {
-//            logger.info("testpreviewWPS...10001002");
-//
-//            return this.getYunPanCovertRs(path, fileName, ext, userAgent, false);
-//        } else {
-//            if (this.isPreviewcacheEnable) {
-//                logger.info("testpreviewWPS...10001003");
-//                startTime = System.currentTimeMillis();
-//                String previewUrl = path + (!"xls".equalsIgnoreCase(ext) && !"xlsx".equalsIgnoreCase(ext) ? ".pdf" : ".zip");
-//                String previewMetaUrl = path + ".meta";
-//
-//                try {
-//                    Map<String, String> headerMap = new HashMap();
-//                    headerMap.put("preview", "true");
-//                    headerMap.put("preview.url", URLEncoder.encode(previewUrl, StandardCharsets.UTF_8.name()));
-//                    headerMap.put("preview.metaUrl", URLEncoder.encode(previewMetaUrl, StandardCharsets.UTF_8.name()));
-//                    Map<String, String> resHeader = new HashMap();
-//                    in = this.fileService.download(path, headerMap, resHeader);
-//                    endTime = System.currentTimeMillis();
-//                    if (!"xls".equalsIgnoreCase(ext) && !"xlsx".equalsIgnoreCase(ext)) {
-//                        previewResult.put(PreviewParams.STATUS.getEnumName(), PreviewParams.PDF_SUCCESS.getEnumName());
-//                        previewResult.put(PreviewParams.RESULT.getEnumName(), in);
-//                        logger.info(String.format("从缓存中获取%s所耗费的时间为%s毫秒", fileName, endTime - startTime));
-//                        return previewResult;
-//                    }
-//
-//                    String id = (String)resHeader.get("cacheId");
-//                    if (StringUtils.isNotEmpty(id)) {
-//                        result = ExcelPreviewFactory.getExcelPreview().preview(id, in);
-//                        if (result.containsKey("url")) {
-//                            String accountId = TAUtil.getAccountId();
-//                            String url = (String)result.get("url");
-//                            url = url + "?kdcdc=" + accountId;
-//                            result.put("url", url);
-//                        }
-//
-//                        previewResult.put(PreviewParams.STATUS.getEnumName(), PreviewParams.XLSX_SUCCESS.getEnumName());
-//                        previewResult.put(PreviewParams.RESULT.getEnumName(), result);
-//                        logger.info(String.format("从缓存中获取%s所耗费的时间为%s毫秒", fileName, endTime - startTime));
-//                        return previewResult;
-//                    }
-//                } catch (Exception var20) {
-//                    logger.error("无法从文件服务器获取预览数据,执行getYunPanCovertRs方法,进行文件预览云盘转换", var20.getMessage());
-//                }
-//            }
-//
-//            logger.info("testpreviewWPS...10001004");
-//
-//            return this.getYunPanCovertRs(path, fileName, ext, userAgent, false);
-//        }
+                try {
+                    Map<String, String> headerMap = new HashMap();
+                    headerMap.put("preview", "true");
+                    headerMap.put("preview.url", URLEncoder.encode(previewUrl, StandardCharsets.UTF_8.name()));
+                    headerMap.put("preview.metaUrl", URLEncoder.encode(previewMetaUrl, StandardCharsets.UTF_8.name()));
+                    Map<String, String> resHeader = new HashMap();
+                    in = this.fileService.download(path, headerMap, resHeader);
+                    endTime = System.currentTimeMillis();
+                    if (!"xls".equalsIgnoreCase(ext) && !"xlsx".equalsIgnoreCase(ext)) {
+                        previewResult.put(PreviewParams.STATUS.getEnumName(), PreviewParams.PDF_SUCCESS.getEnumName());
+                        previewResult.put(PreviewParams.RESULT.getEnumName(), in);
+                        logger.info(String.format("从缓存中获取%s所耗费的时间为%s毫秒", fileName, endTime - startTime));
+                        return previewResult;
+                    }
+
+                    String id = (String)resHeader.get("cacheId");
+                    if (StringUtils.isNotEmpty(id)) {
+                        result = ExcelPreviewFactory.getExcelPreview().preview(id, in);
+                        if (result.containsKey("url")) {
+                            String accountId = TAUtil.getAccountId();
+                            String url = (String)result.get("url");
+                            url = url + "?kdcdc=" + accountId;
+                            result.put("url", url);
+                        }
+
+                        previewResult.put(PreviewParams.STATUS.getEnumName(), PreviewParams.XLSX_SUCCESS.getEnumName());
+                        previewResult.put(PreviewParams.RESULT.getEnumName(), result);
+                        logger.info(String.format("从缓存中获取%s所耗费的时间为%s毫秒", fileName, endTime - startTime));
+                        return previewResult;
+                    }
+                } catch (Exception var20) {
+                    logger.error("无法从文件服务器获取预览数据,执行getYunPanCovertRs方法,进行文件预览云盘转换", var20.getMessage());
+                }
+            }
+
+            logger.info("testpreviewWPS...10001004");
+
+            return this.getYunPanCovertRs(path, fileName, ext, userAgent, false);
+        }
     }
 
     /**
@@ -252,6 +249,7 @@ public class DefaultPreviewCusServiceImpl  implements PreviewService {
 
         try {
             in = this.yunPanConvert(path, fileName, userAgent, detail, temp);
+
         } catch (Exception var19) {
             result = ExceptionUtil.setErrorInfo(var19.getMessage());
             ((Map)previewResult).put(PreviewParams.STATUS.getEnumName(), PreviewParams.ERROR.getEnumName());