From df91d64c7ed78205084828ff5bf018d876970b46 Mon Sep 17 00:00:00 2001
From: 杜洪波 <1074825718@qq.com>
Date: 星期五, 13 三月 2026 10:08:06 +0800
Subject: [PATCH] Merge branch 'dev' of http://nonxin.cn:8090/r/product/product-server-file/V2.0.0 into dev
---
src/main/java/com/product/file/config/FileCode.java | 2
src/main/java/com/product/file/service/FileManagerService.java | 29 ++++++++++++++
src/main/java/com/product/file/controller/FileManagerController.java | 30 +++++++++++++++
3 files changed, 60 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/product/file/config/FileCode.java b/src/main/java/com/product/file/config/FileCode.java
index 1324be6..516af70 100644
--- a/src/main/java/com/product/file/config/FileCode.java
+++ b/src/main/java/com/product/file/config/FileCode.java
@@ -86,7 +86,7 @@
CLUSTER_FILE_SYNC_CHECK_FAIL("闆嗙兢鏂囦欢鍚屾楠岃瘉澶辫触", ModuleEnum.FILE.getValue() + "061"),
FILE_TRANSFER_BYTE_ARRAY_FAIL("鏂囦欢杞寲涓哄瓧鑺傛暟缁勫け璐�", ModuleEnum.FILE.getValue() + "062"),
CLUSTER_FILE_SYNC_ACCEPT_FAIL("闆嗙兢鏂囦欢鍚屾鏂规硶鎺ユ敹澶辫触", ModuleEnum.FILE.getValue() + "063"),
-
+ CHECK_PREVIEW_FAIL("楠岃瘉鑳藉惁鍦ㄧ嚎棰勮澶辫触", ModuleEnum.FILE.getValue() + "064"),
;
private String text;
diff --git a/src/main/java/com/product/file/controller/FileManagerController.java b/src/main/java/com/product/file/controller/FileManagerController.java
index d09ef13..ea1c61f 100644
--- a/src/main/java/com/product/file/controller/FileManagerController.java
+++ b/src/main/java/com/product/file/controller/FileManagerController.java
@@ -439,4 +439,34 @@
return error(FileCode.CLUSTER_FILE_SYNC_ACCEPT_FAIL.getValue(), FileCode.CLUSTER_FILE_SYNC_ACCEPT_FAIL.getText() + ":" + BaseUtil.getErrorInfo(e).substring(0, 500));
}
}
+
+ /**
+ * 闆嗙兢鏂囦欢鍚屾鏂规硶-鎺ユ敹
+ * @return 缁撴灉
+ */
+ @RequestMapping(value = "/check-preview/{version}", method = RequestMethod.POST)
+ @ApiVersion(1)
+ public String checkPreview(HttpServletRequest request, HttpServletResponse response) {
+ try {
+ FieldSetEntity fse = null;
+ Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
+ RequestParameterEntity rpe = (RequestParameterEntity) bean;
+ if (null != rpe && null != rpe.getFormData()) {
+ fse = rpe.getFormData();
+ }
+ if (fse == null) {
+ SpringMVCContextHolder.getSystemLogger().error(FileCode.FORM_NODATA.getValue(), FileCode.FORM_NODATA.getText());
+ return this.error(FileCode.FORM_NODATA.getValue(), FileCode.FORM_NODATA.getText());
+ }
+ return OK(fileManagerService.checkPreview(fse));
+ } catch (BaseException e) {
+ SpringMVCContextHolder.getSystemLogger().error(e);
+ e.printStackTrace();
+ return error(e.getCode(), e.getMessage());
+ } catch (Exception e) {
+ SpringMVCContextHolder.getSystemLogger().error(e);
+ e.printStackTrace();
+ return error(FileCode.CHECK_PREVIEW_FAIL);
+ }
+ }
}
diff --git a/src/main/java/com/product/file/service/FileManagerService.java b/src/main/java/com/product/file/service/FileManagerService.java
index 4245667..b88053c 100644
--- a/src/main/java/com/product/file/service/FileManagerService.java
+++ b/src/main/java/com/product/file/service/FileManagerService.java
@@ -266,6 +266,11 @@
return false;
}
+ // 瀛樻斁鍦ㄦ暟鎹簱涓殑鏂囦欢锛岀洿鎺ュ垽瀹氭槸鍚︽湁鍊�
+ if (attachmentFse.getValue(CmnConst.FILE_CONTENT) != null) {
+ return true;
+ }
+
//鍒ゆ柇鏂囦欢瀛樻斁鍦ㄦ湇鍔″櫒杩樻槸鏈湴
boolean needDownloadFromServerFlag = "1".equals(attachmentFse.getString(CmnConst.UPLOAD_SIGN));
String dir = attachmentFse.getString(CmnConst.ATTACHMENT_URL);
@@ -1245,4 +1250,28 @@
return flag;
}
+ /**
+ * 楠岃瘉鏄惁鍙互棰勮
+ * @param fse
+ * @return
+ */
+ public Object checkPreview(FieldSetEntity fse) {
+ String fileName = fse.getString("file_name");
+ boolean allowPreviewFlag = Global.getPropertyToBoolean("file.view.online", "true");
+ List<String> canTransferFormatList = Lists.newArrayList(Arrays.asList(Global.getSystemConfig("can.transfer.format", "").split(",")));
+ List<String> canDirectPreviewList = Lists.newArrayList(Arrays.asList(Global.getSystemConfig("can.direct.view.online.format", "").split(",")));
+ List<String> canPreviewList = Lists.newArrayList();
+ canPreviewList.addAll(canTransferFormatList);
+ canPreviewList.addAll(canDirectPreviewList);
+ if (StringUtils.isEmpty(fileName)) {
+ if (allowPreviewFlag) {
+ return BaseUtil.collection2String(canPreviewList);
+ } else {
+ return "";
+ }
+ } else {
+ String tail = fileName.substring(fileName.lastIndexOf(".") + 1);
+ return allowPreviewFlag && canPreviewList.contains(tail);
+ }
+ }
}
--
Gitblit v1.9.2