|
@@ -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());
|