From a471b20fe8075a663f32b3a2ee0cd70c1c63baf7 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 21 十一月 2024 21:59:42 +0800
Subject: [PATCH] 业务类型查询:树查询修改,数据列表查询接口修改(处理模板套模板情况下freemarker表达式的替换处理)。

---
 Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/ControllerUtil.java |   66 ++++++++++++++++++++++++++++++--
 1 files changed, 61 insertions(+), 5 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/ControllerUtil.java b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/ControllerUtil.java
index 876a80b..48b5c64 100644
--- a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/ControllerUtil.java
+++ b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/ControllerUtil.java
@@ -1,19 +1,17 @@
 package com.vci.starter.web.util;
 
-import com.vci.starter.web.pagemodel.PageHelper;
+import com.vci.starter.web.constant.VConstant;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.http.MediaType;
 
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
+import java.net.URLDecoder;
 import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -206,6 +204,7 @@
         }
         response.setContentType(contentType);
         response.setCharacterEncoding("UTF-8");
+        //閿欒鏃朵篃闇�瑕佽繖涓弬鏁�
         Cookie cookie = new Cookie("fileDownload", "true");
         cookie.setPath("/");
         response.addCookie(cookie);
@@ -219,6 +218,35 @@
             throw e;
         }
     }
+
+    /**
+     * 灏嗛敊璇殑淇℃伅杈撳叆娴佸啓鍏ュ埌杩斿洖娴佷腑
+     * @param response  鍝嶅簲瀵硅薄
+     * @param data 鏁版嵁鐨勪俊鎭�
+     * @throws IOException 鎷疯礉鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+     */
+    public static void writeDataToResponse(HttpServletResponse response,String fileName,byte[] data,String contentType) throws IOException {
+        if (StringUtils.isBlank(contentType)) {
+            contentType = "application/force-download";
+        }
+        response.setContentType(contentType);
+        response.setCharacterEncoding("UTF-8");
+        //閿欒鏃朵篃闇�瑕佽繖涓弬鏁�
+        response.addHeader("Content-Disposition", "attachment; filename="+ fileName+ ";filename*=utf-8''" + fileName);
+        Cookie cookie = new Cookie("fileDownload", "true");
+        cookie.setPath("/");
+        response.addCookie(cookie);
+        try {
+            response.getOutputStream().write(data);
+        } catch (IOException e) {
+            //鏈夊彲鑳藉鎴风鐨勯摼鎺�
+            if (logger.isErrorEnabled()) {
+                logger.error("鍐欏叆鏂囦欢鍒板搷搴旀祦鍑洪敊", e);
+            }
+            throw e;
+        }
+    }
+
     /**
      * 灏嗙幆澧冨彉閲忎腑鐨勬煇涓枃浠跺啓鍒拌繑鍥炴祦涓�
      * @param response 鍝嶅簲瀵硅薄
@@ -292,7 +320,7 @@
      * @param isQueryTotal 鏄惁鏌ヨ鎬绘暟
      */
     public static void setQueryTotal(HttpServletRequest request, boolean isQueryTotal){
-        WebThreadLocalUtil.getNeedQueryTotalInThread().set(isQueryTotal?"true":"false");
+        WebThreadLocalUtil.setNeedQueryTotalInThread(isQueryTotal?"true":"false");
         //request.setAttribute(webProperties.getQueryTotalSessionName(), isQueryTotal);
     }
 
@@ -323,4 +351,32 @@
             tempFileForDownloadMap.remove(uuid);
         }
     }
+
+    /**
+     * 鍐呭缂栫爜
+     *
+     * @param str 鍐呭
+     * @return 缂栫爜鍚庣殑鍐呭
+     */
+    public static String urlEncode(String str) {
+        try {
+            return URLEncoder.encode(str, VConstant.UTF8);
+        } catch (UnsupportedEncodingException e) {
+            return StringUtils.EMPTY;
+        }
+    }
+
+    /**
+     * 鍐呭瑙g爜
+     *
+     * @param str 鍐呭
+     * @return 瑙g爜鍚庣殑鍐呭
+     */
+    public static String urlDecode(String str) {
+        try {
+            return URLDecoder.decode(str, VConstant.UTF8);
+        } catch (UnsupportedEncodingException e) {
+            return StringUtils.EMPTY;
+        }
+    }
 }

--
Gitblit v1.9.3