From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-lims/jnpf-lims-controller/src/main/java/jnpf/controller/DocumentEditController.java | 189 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 189 insertions(+), 0 deletions(-)
diff --git a/jnpf-lims/jnpf-lims-controller/src/main/java/jnpf/controller/DocumentEditController.java b/jnpf-lims/jnpf-lims-controller/src/main/java/jnpf/controller/DocumentEditController.java
new file mode 100644
index 0000000..8c5eb32
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-controller/src/main/java/jnpf/controller/DocumentEditController.java
@@ -0,0 +1,189 @@
+package jnpf.controller;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jnpf.base.ActionResult;
+import jnpf.base.vo.PaginationVO;
+import jnpf.constant.MsgCode;
+import jnpf.emnus.FilePreviewTypeEnum;
+import jnpf.file.YozoApi;
+import jnpf.model.SuffixParams;
+import jnpf.model.YozoFileParams;
+import jnpf.model.YozoParams;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.codec.binary.Base64;
+import org.springframework.beans.BeanUtils;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
+/**
+ * 鏂囨。鍦ㄧ嚎缂栬緫
+ *
+ * @author JNPF寮�鍙戝钩鍙扮粍
+ * @version V3.1.0
+ * @copyright 寮曡繄淇℃伅鎶�鏈湁闄愬叕鍙革紙https://www.jnpfsoft.com锛�
+ * @date 2021/5/7
+ */
+@Tag(name = "鏂囨。鍦ㄧ嚎棰勮缂栬緫", description = "DocumentEdit")
+//@RestController
+//@RequestMapping("/DocumentEdit")
+@RequiredArgsConstructor
+public class DocumentEditController {
+
+
+ private final YozoParams yozoParams;
+ private final YozoApi yozoApi;
+
+ /**
+ * 涓婁紶鏈湴鏂囦欢
+ *
+ * @param file 鏂囦欢
+ * @return
+ * @throws IOException
+ */
+ @PostMapping(value = "/uploadLocalFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+ @Operation(summary = "涓婁紶鏈湴鏂囦欢")
+ public ActionResult<Object>yozoUploadLocalFile(MultipartFile file) throws IOException {
+ return yozoApi.upload(file);
+ }
+
+ /**
+ * 鏂板缓鏂囦欢
+ *
+ * @param fileName 鍚嶇О
+ * @param templateType 绫诲瀷
+ * @return
+ */
+ @GetMapping("/create")
+ @Operation(summary = "鏂板缓鏂囦欢")
+ @Parameter(name = "fileName", description = "鍚嶇О")
+ @Parameter(name = "templateType", description = "绫诲瀷")
+ public ActionResult<Object>newCreate(@RequestParam("fileName") String fileName, @RequestParam("templateType") String templateType) {
+ return yozoApi.newCreate(fileName, templateType);
+ }
+
+ /**
+ * 鍒犻櫎鏂囦欢鐗堟湰
+ *
+ * @param fileVersionId 涓婚敭
+ * @return
+ */
+ @GetMapping("/deleteVersion")
+ @Operation(summary = "鍒犻櫎鏂囦欢鐗堟湰")
+ @Parameter(name = "fileVersionId", description = "涓婚敭")
+ public ActionResult<Object>deleteVersion(@RequestParam("fileVersionId") String fileVersionId) {
+ return yozoApi.deleteVersion(fileVersionId);
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎鏂囦欢鐗堟湰
+ *
+ * @param fileVersionIds 鎵归噺涓婚敭
+ * @return
+ */
+ @GetMapping("/batchDelete")
+ @Operation(summary = "鎵归噺鍒犻櫎鏂囦欢鐗堟湰")
+ @Parameter(name = "fileVersionIds", description = "鎵归噺涓婚敭")
+ public ActionResult<Object>batchDelete(@RequestParam("fileVersionIds") String[] fileVersionIds) {
+ return yozoApi.batchDelete(fileVersionIds);
+ }
+
+ /**
+ * 鍦ㄧ嚎缂栬緫
+ *
+ * @param fileVersionId 涓婚敭
+ * @return
+ */
+ @GetMapping("/onlineEditFile")
+ @Operation(summary = "鍦ㄧ嚎缂栬緫")
+ @Parameter(name = "fileVersionId", description = "涓婚敭")
+ public ActionResult<Object>onlineEditFile(@RequestParam("fileVersionId") String fileVersionId) {
+ return yozoApi.editFile(fileVersionId);
+ }
+
+ /**
+ * 鏂囨。鍒楄〃
+ *
+ * @param pageModel 鍒嗛〉妯″瀷
+ * @return
+ */
+ @PostMapping("/documentList")
+ @Operation(summary = "鏂囨。鍒楄〃")
+ public ActionResult<Object>documentList(PaginationVO pageModel) {
+ return yozoApi.documentList(pageModel);
+ }
+
+ /**
+ * 鏈湴鍚屾缂栬緫杩囧悗鐨勬枃浠�
+ *
+ * @param fileVersionId 涓婚敭
+ * @return
+ */
+ @GetMapping("/updateFile")
+ @Operation(summary = "鏈湴鍚屾缂栬緫杩囧悗鐨勬枃浠�")
+ @Parameter(name = "fileVersionId", description = "涓婚敭")
+ public ActionResult<Object>updateFile(@RequestParam("fileVersionId") String fileVersionId) {
+ return yozoApi.updateFile(fileVersionId);
+ }
+
+ /**
+ * 鏈湴棰勮
+ *
+ * @param filename 鍚嶇О
+ * @param params 棰勮妯″瀷
+ * @param previewType 绫诲瀷
+ * @return
+ */
+ @GetMapping("/storageFilePreview")
+ @Operation(summary = "鏈湴棰勮")
+ @Parameter(name = "filename", description = "鍚嶇О")
+ @Parameter(name = "previewType", description = "绫诲瀷")
+ public Object onlinePreview(@RequestParam("filename") String filename, SuffixParams params, @RequestParam("previewType") String previewType) throws UnsupportedEncodingException {
+ String url;
+ String fileName = filename.substring(0, filename.lastIndexOf("."));
+ String suffix = filename.substring(filename.lastIndexOf(".") + 1);
+ if (previewType.equals(FilePreviewTypeEnum.YOZO_ONLINE_PREVIEW.getType())) {
+ url = yozoParams.getJnpfDomain() + "/api/extend/DocumentPreview/down/" + fileName + "/" + suffix;
+ } else {
+ url = yozoParams.getJnpfDomain() + "/api/extend/DocumentPreview/pointDown/" + fileName + "." + suffix;
+ url = URLEncoder.encode(url, "utf-8");
+ }
+ YozoFileParams fileParams = new YozoFileParams();
+ BeanUtils.copyProperties(params, fileParams);
+ fileParams.setUrl(url);
+ return this.previewType(previewType, fileParams);
+ }
+
+ /**
+ * 閫夋嫨棰勮鏂瑰紡 yozo:姘镐腑棰勮; doc:kk鏂囨。棰勮;
+ * 璇存槑 閲囩敤姘镐腑url鏂瑰紡棰勮鏃讹紝璇锋敞鎰忓煙鍚嶆槸鍚﹀搴�
+ *
+ * @param previewType
+ * @param params
+ * @return
+ */
+ public ActionResult<Object>previewType(String previewType, YozoFileParams params) {
+ if (params.getUrl() == null) {
+ return ActionResult.fail(MsgCode.ETD115.get());
+ }
+ if (previewType.equals(FilePreviewTypeEnum.YOZO_ONLINE_PREVIEW.getType())) {
+ return yozoApi.getUrl(params);
+ }
+ //鍔犲瘑
+ byte[] sb = params.getUrl().getBytes();
+ String s = new String(Base64.encodeBase64(sb));
+ if (previewType.equals(FilePreviewTypeEnum.LOCAL_PREVIEW.getType())) {
+ String url = yozoParams.getJnpfDomain() + "/api/file/onlinePreview?url=" + s;
+ return ActionResult.success("success", url);
+ }
+ return ActionResult.fail(MsgCode.ETD116.get());
+ }
+}
--
Gitblit v1.8.0