From b4d10ff7535002dddb63a0b28ddb37fee7ed1e9d Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 03 十二月 2025 16:30:53 +0800
Subject: [PATCH] 增加pdf,xlsx,docx文件预览功能

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeHisController.java |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeHisController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeHisController.java
index b3863d5..cb10519 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeHisController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeHisController.java
@@ -9,9 +9,11 @@
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.oss.OssTemplate;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.mdm.flow.entity.FlowProgramFile;
 import org.springblade.mdm.flow.service.FlowProgramFileService;
 import org.springblade.mdm.flow.service.TaskDispatchService;
 import org.springblade.mdm.program.entity.NcNode;
@@ -24,6 +26,7 @@
 import org.springblade.mdm.program.vo.NcNodeQueryVO;
 import org.springblade.mdm.program.vo.NcNodeVO;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.io.IOException;
@@ -43,7 +46,7 @@
 @Tag(name = "绋嬪簭鑺傜偣", description = "绋嬪簭鑺傜偣")
 @Slf4j
 public class NcNodeHisController {
-	private final NcNodeService ncNodeService;
+	private final OssTemplate ossTemplate;
 	private final NcNodeHisService nodeHisService;
 	private final FlowProgramFileService flowProgramFileService;
 
@@ -99,6 +102,24 @@
 		}
 	}
 
+	@GetMapping("/link-by-nodeid")
+	@Operation(summary = "鏍规嵁鑺傜偣鑾峰彇鏂囦欢鍐呭", description = "浠呴檺鏂囨湰鏍煎紡鐨勫唴瀹癸紝浜岃繘鍒舵枃浠跺皢杩斿洖绌轰覆")
+	public R<String> fileLinkByNodeId(@Parameter(description = "鑺傜偣id") Long nodeId) {
+		try {
+			NcNodeHis node = this.nodeHisService.getById(nodeId);
+			FlowProgramFile flowFile = this.flowProgramFileService.getById(node.getFlowProgramFileId());
+
+			if(node.getFlowProgramFileId() != null || flowFile == null) {
+				return R.data(this.ossTemplate.fileLink(flowFile.getOssName()));
+			}else{
+				return R.data("");
+			}
+		}catch(Exception e) {
+			log.error("鑾峰彇鏂囦欢鍐呭澶辫触",e);
+			return R.fail(e.getMessage());
+		}
+	}
+
 	@GetMapping("/download-by-nodeid")
 	@Operation(summary = "涓嬭浇鑺傜偣瀵瑰簲鐨勬枃浠�", description = "涓嬭浇鑺傜偣瀵瑰簲鐨勬枃浠�")
 	public void downloadByNodeId(@Parameter(description = "鑺傜偣id") Long nodeId, HttpServletResponse response) throws IOException {

--
Gitblit v1.9.3