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