From 0fc0c51bec7133391e9cc89c0c7d9ee34c966434 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 03 三月 2023 18:00:28 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/controller/data/MetaController.java     |   10 +++++
 src/main/java/com/lf/server/service/all/UploadAttachService.java    |    6 +--
 src/main/java/com/lf/server/controller/all/BaseQueryController.java |   10 +++++
 src/main/java/com/lf/server/entity/all/StaticData.java              |    4 ++
 src/main/java/com/lf/server/service/data/MetaService.java           |   43 +++++++++++++++++++++
 src/main/java/com/lf/server/controller/sys/ResController.java       |    2 
 6 files changed, 70 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/lf/server/controller/all/BaseQueryController.java b/src/main/java/com/lf/server/controller/all/BaseQueryController.java
index ac96d80..f9f8d01 100644
--- a/src/main/java/com/lf/server/controller/all/BaseQueryController.java
+++ b/src/main/java/com/lf/server/controller/all/BaseQueryController.java
@@ -556,6 +556,16 @@
     }
 
     @SysLog()
+    @ApiOperation(value = "鏌ョ湅鏂囦欢")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "guid", value = "闄勪欢Guid", dataType = "String", paramType = "body")
+    })
+    @GetMapping(value = "/downloadForView")
+    public void downloadForView(String guid, HttpServletResponse res) {
+        metaService.downloadForView(guid, true, res);
+    }
+
+    @SysLog()
     @ApiOperation(value = "鍒嗛〉鏌ヨ涓嬭浇鏂囦欢")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""),
diff --git a/src/main/java/com/lf/server/controller/data/MetaController.java b/src/main/java/com/lf/server/controller/data/MetaController.java
index 08516df..bec6412 100644
--- a/src/main/java/com/lf/server/controller/data/MetaController.java
+++ b/src/main/java/com/lf/server/controller/data/MetaController.java
@@ -480,4 +480,14 @@
             WebHelper.writeInfo(HttpStatus.ERROR, ex.getMessage(), res);
         }
     }
+
+    @SysLog()
+    @ApiOperation(value = "鏌ョ湅鏂囦欢")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "guid", value = "闄勪欢Guid", dataType = "String", paramType = "body")
+    })
+    @GetMapping(value = "/downloadForView")
+    public void downloadForView(String guid, HttpServletResponse res) {
+        metaService.downloadForView(guid, true, res);
+    }
 }
diff --git a/src/main/java/com/lf/server/controller/sys/ResController.java b/src/main/java/com/lf/server/controller/sys/ResController.java
index 1c476e1..dddef33 100644
--- a/src/main/java/com/lf/server/controller/sys/ResController.java
+++ b/src/main/java/com/lf/server/controller/sys/ResController.java
@@ -301,7 +301,7 @@
     }
 
     @SysLog()
-    @ApiOperation(value = "鏌ョ湅涓嬭浇鏂囦欢")
+    @ApiOperation(value = "鏌ョ湅鏂囦欢")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "guid", value = "闄勪欢Guid", dataType = "String", paramType = "body")
     })
diff --git a/src/main/java/com/lf/server/entity/all/StaticData.java b/src/main/java/com/lf/server/entity/all/StaticData.java
index 0f69621..bf3f130 100644
--- a/src/main/java/com/lf/server/entity/all/StaticData.java
+++ b/src/main/java/com/lf/server/entity/all/StaticData.java
@@ -1,5 +1,7 @@
 package com.lf.server.entity.all;
 
+import com.alibaba.fastjson.JSON;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -169,6 +171,8 @@
 
     public final static String MULTIPOLYGON = "MULTIPOLYGON";
 
+    public static final String NO_FILE = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.NOT_FOUND, "鏂囦欢鎵句笉鍒�"));
+
     /**
      * 16杩涘埗
      */
diff --git a/src/main/java/com/lf/server/service/all/UploadAttachService.java b/src/main/java/com/lf/server/service/all/UploadAttachService.java
index 045c7da..071c50b 100644
--- a/src/main/java/com/lf/server/service/all/UploadAttachService.java
+++ b/src/main/java/com/lf/server/service/all/UploadAttachService.java
@@ -44,8 +44,6 @@
 
     private final static Log log = LogFactory.getLog(UploadAttachService.class);
 
-    private static final String NO_FILE = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.NOT_FOUND, "鏂囦欢鎵句笉鍒�"));
-
     /**
      * 鑾峰彇琛ㄥ悕
      */
@@ -148,13 +146,13 @@
     public void download(String guid, boolean inline, HttpServletResponse res) {
         try {
             if (StringHelper.isEmpty(guid)) {
-                WebHelper.writeStr2Page(res, NO_FILE);
+                WebHelper.writeStr2Page(res, StaticData.NO_FILE);
                 return;
             }
 
             AttachEntity entity = attachService.selectByGuid(guid);
             if (entity == null) {
-                WebHelper.writeStr2Page(res, NO_FILE);
+                WebHelper.writeStr2Page(res, StaticData.NO_FILE);
                 return;
             }
 
diff --git a/src/main/java/com/lf/server/service/data/MetaService.java b/src/main/java/com/lf/server/service/data/MetaService.java
index 25b734b..1274a36 100644
--- a/src/main/java/com/lf/server/service/data/MetaService.java
+++ b/src/main/java/com/lf/server/service/data/MetaService.java
@@ -1,11 +1,20 @@
 package com.lf.server.service.data;
 
+import com.lf.server.entity.all.StaticData;
 import com.lf.server.entity.data.MetaEntity;
+import com.lf.server.entity.sys.AttachEntity;
+import com.lf.server.helper.PathHelper;
 import com.lf.server.helper.StringHelper;
+import com.lf.server.helper.WebHelper;
 import com.lf.server.mapper.data.MetaMapper;
+import com.lf.server.service.all.UploadAttachService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -16,7 +25,12 @@
 @Service
 public class MetaService implements MetaMapper {
     @Autowired
+    PathHelper pathHelper;
+
+    @Autowired
     MetaMapper metaMapper;
+
+    private final static Log log = LogFactory.getLog(MetaService.class);
 
     @Override
     public Integer selectCount(String depcode, String dircode, Integer verid, String name) {
@@ -171,4 +185,33 @@
 
         return StringHelper.join(list, ";");
     }
+
+    /**
+     * 鏌ョ湅鏂囦欢
+     */
+    public void downloadForView(String guid, boolean inline, HttpServletResponse res) {
+        try {
+            if (StringHelper.isEmpty(guid)) {
+                WebHelper.writeStr2Page(res, StaticData.NO_FILE);
+                return;
+            }
+
+            MetaEntity me = selectByGuid(guid, null);
+            if (me == null) {
+                WebHelper.writeStr2Page(res, StaticData.NO_FILE);
+                return;
+            }
+
+            String filePath = pathHelper.getConfig().getUploadPath() + File.separator + me.getPath();
+            File file = new File(filePath);
+            if (!file.exists() || file.isDirectory()) {
+                WebHelper.writeJson2Page(res, "鏂囦欢涓嶅瓨鍦�");
+            }
+
+            WebHelper.download(filePath, me.getName(), inline, res);
+        } catch (Exception ex) {
+            WebHelper.writeJson2Page(res, "鏂囦欢涓嬭浇鍑洪敊");
+            log.error(ex.getMessage(), ex);
+        }
+    }
 }

--
Gitblit v1.9.3