From 2f1913cbfd84fe580cdd48b810251fdf2ad29112 Mon Sep 17 00:00:00 2001
From: 6c <420680616@qq.com>
Date: 星期五, 17 四月 2026 14:22:52 +0800
Subject: [PATCH] 组件-个人签名
---
src/main/java/com/product/file/config/FileCode.java | 1 +
src/main/java/com/product/file/service/FileManagerService.java | 18 ++++++++++++++++--
src/main/java/com/product/file/controller/FileManagerController.java | 32 +++++++++++++++++++++++++++++++-
3 files changed, 48 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/product/file/config/FileCode.java b/src/main/java/com/product/file/config/FileCode.java
index 516af70..88b2c1f 100644
--- a/src/main/java/com/product/file/config/FileCode.java
+++ b/src/main/java/com/product/file/config/FileCode.java
@@ -87,6 +87,7 @@
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"),
+ GET_USER_SIGNATURE_FAIL("鑾峰彇鐢ㄦ埛绛惧悕澶辫触", ModuleEnum.FILE.getValue() + "065"),
;
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 ea1c61f..7fa5604 100644
--- a/src/main/java/com/product/file/controller/FileManagerController.java
+++ b/src/main/java/com/product/file/controller/FileManagerController.java
@@ -441,7 +441,7 @@
}
/**
- * 闆嗙兢鏂囦欢鍚屾鏂规硶-鎺ユ敹
+ * 棰勮楠岃瘉
* @return 缁撴灉
*/
@RequestMapping(value = "/check-preview/{version}", method = RequestMethod.POST)
@@ -469,4 +469,34 @@
return error(FileCode.CHECK_PREVIEW_FAIL);
}
}
+
+ /**
+ * 棰勮楠岃瘉
+ * @return 缁撴灉
+ */
+ @RequestMapping(value = "/get-signature/{version}", method = RequestMethod.POST)
+ @ApiVersion(1)
+ public String getSignature(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.getSignature(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.GET_USER_SIGNATURE_FAIL);
+ }
+ }
}
diff --git a/src/main/java/com/product/file/service/FileManagerService.java b/src/main/java/com/product/file/service/FileManagerService.java
index b88053c..9d4b832 100644
--- a/src/main/java/com/product/file/service/FileManagerService.java
+++ b/src/main/java/com/product/file/service/FileManagerService.java
@@ -31,6 +31,7 @@
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
+import org.apache.commons.codec.binary.Base64;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -472,7 +473,7 @@
String fileFinalName = "";
for (Map.Entry<Object, Object> entry : map.entrySet()) {
fieldFse = fieldMetaEntity.getFieldMeta(fieldName);
- if (fieldFse == null || !Arrays.asList(CmnConst.ATTACHMENT_TYPE, "file-image", FieldType.FILE_ATTACHMENT.getDictValue()).contains(fieldFse.getString(CmnConst.FIELD_TYPE))) {
+ if (fieldFse == null || !Arrays.asList(CmnConst.ATTACHMENT_TYPE, "file-image", FieldType.FILE_ATTACHMENT.getDictValue(), FieldType.SIGNATURE.getDictValue()).contains(fieldFse.getString(CmnConst.FIELD_TYPE))) {
fse.setValue(entry.getKey().toString(), null);
continue;
}
@@ -504,7 +505,7 @@
}
}
- boolean saveInDbFlag = FieldType.FILE_ATTACHMENT.getDictValue().equals(fieldFse.getString("field_type"));
+ boolean saveInDbFlag = FieldType.checkSaveInDB(fieldFse.getString("field_type"));
if (!saveInDbFlag) {
fileFinalName = FileUtils.uploadFile(tempFile, templateType, clientUuid);
} else {
@@ -954,6 +955,19 @@
return this.getFileContent(attachmentFse);
}
+ /**
+ * 鑾峰彇鐢ㄦ埛绛惧悕
+ * @return
+ * @throws BaseException
+ */
+ public String getSignature(FieldSetEntity fse) throws BaseException {
+ String bytes = Base64.encodeBase64String(getFileContent(fse.getUUID()));
+ if (bytes == null) {
+ return null;
+ }
+ return "data:image/png;base64," + bytes;
+ }
+
/**
* 鏍规嵁闄勪欢uuid鑾峰彇鏂囦欢
* 鐢ㄥ畬涔嬪悗闇�瑕佸垹闄よ繑鍥炵殑 file 锛堜复鏃舵枃浠讹級
--
Gitblit v1.9.2