From 706f722adc849eba0296f1dbd64166e1e0bde4c5 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 14 一月 2025 09:58:41 +0800
Subject: [PATCH] app模块巡检问题上报增加文件处理逻辑,增加缩略图文件路径生成

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/webCtrls/WebFileCtrl.java         |    4 +-
 pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java       |   33 ++++++++++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java |   11 +++--
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/dyFile/FileOperate.java           |   26 ++++++------
 4 files changed, 55 insertions(+), 19 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/dyFile/FileOperate.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/dyFile/FileOperate.java
index 08fed09..5d00701 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/dyFile/FileOperate.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/dyFile/FileOperate.java
@@ -79,44 +79,44 @@
 
 	/**
 	 * 閫氳繃鐓х墖璺緞锛屽緱鍒板搴旂缉鐣ュ浘鐨勮矾寰�
-	 * @param imgPath
+	 * @param filePath
 	 * @return
 	 */
-	public String getImgFileZipPath(String imgPath){
+	public String getFileZipPath(String filePath){
 		String path_ = null ;
 		String prePath = null ;
 		String tailPath = null ;
-		if(imgPath != null && !imgPath.trim().equals("")) {
-			int lastDotIndex = imgPath.lastIndexOf('.');
+		if(filePath != null && !filePath.trim().equals("")) {
+			int lastDotIndex = filePath.lastIndexOf('.');
 			if (lastDotIndex >= 0) {
-				prePath = imgPath.substring(0, lastDotIndex);
-				tailPath = imgPath.substring(lastDotIndex);
+				prePath = filePath.substring(0, lastDotIndex);
+				tailPath = filePath.substring(lastDotIndex);
 				path_ = prePath + "_" + tailPath ;
 			}
 		}
 		if(path_ == null){
-			path_ = imgPath ;
+			path_ = filePath;
 		}
 		return path_ ;
 	}
 
 	/**
 	 * 閫氳繃瑙嗛璺緞锛屽緱鍒板搴旂缉鐣ュ浘鐨勮矾寰�
-	 * @param videoPath
+	 * @param filePath
 	 * @return
 	 */
-	public String getVideoFileZipPath(String videoPath, String extName){
+	public String getFileZipPath(String filePath, String extName){
 		String path_ = null ;
 		String prePath = null ;
-		if(videoPath != null && !videoPath.trim().equals("")) {
-			int lastDotIndex = videoPath.lastIndexOf('.');
+		if(filePath != null && !filePath.trim().equals("")) {
+			int lastDotIndex = filePath.lastIndexOf('.');
 			if (lastDotIndex >= 0) {
-				prePath = videoPath.substring(0, lastDotIndex);
+				prePath = filePath.substring(0, lastDotIndex);
 				path_ = prePath + "_." + extName ;
 			}
 		}
 		if(path_ == null){
-			path_ = videoPath ;
+			path_ = filePath;
 		}
 		return path_ ;
 	}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/webCtrls/WebFileCtrl.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/webCtrls/WebFileCtrl.java
index 44f8956..6f26cd1 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/webCtrls/WebFileCtrl.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/webCtrls/WebFileCtrl.java
@@ -68,7 +68,7 @@
                                 fileNameGrp[1],
                                 frVo.getFileWebPath(),
                                 (frVo.getFileWebUrl() + frVo.getFileWebPath()),
-                                fileOp.getImgFileZipPath(frVo.getFileWebUrl() + frVo.getFileWebPath()),
+                                fileOp.getFileZipPath(frVo.getFileWebUrl() + frVo.getFileWebPath()),
                                 frVo.fileWebDownloadPath + id) ;
                         return  BaseResponseUtils.buildSuccess(fvo) ;
                     }else {
@@ -159,7 +159,7 @@
                                 fileNameGrp[1],
                                 frVo.getFileWebPath(),
                                 frVo.getFileWebUrl() + frVo.getFileWebPath(),
-                                fileOp.getVideoFileZipPath(frVo.getFileWebUrl() + frVo.getFileWebPath(), VideoZipPicFileType),
+                                fileOp.getFileZipPath(frVo.getFileWebUrl() + frVo.getFileWebPath(), VideoZipPicFileType),
                                 frVo.fileWebDownloadPath + id) ;
                         return  BaseResponseUtils.buildSuccess(fvo) ;
                     }else {
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java
index 363b901..201247d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java
@@ -3,12 +3,15 @@
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.util.NumUtil;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.common.webUtil.ResultCodeMsg;
 import com.dy.pipIrrApp.issue.dto.DtoDeleteParam;
 import com.dy.pipIrrApp.issue.qo.QoIssueReport;
 import com.dy.pipIrrGlobal.daoOp.OpeIssueReportMapper;
 import com.dy.pipIrrGlobal.daoOp.OpeReportReplyMapper;
+import com.dy.pipIrrGlobal.dyFile.FileOperate;
+import com.dy.pipIrrGlobal.dyFile.FileRestVo;
 import com.dy.pipIrrGlobal.pojoOp.OpeIssueReport;
 import com.dy.pipIrrGlobal.pojoOp.OpeReportReply;
 import com.dy.pipIrrGlobal.voOp.VoIssueReport;
@@ -18,6 +21,7 @@
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
@@ -38,6 +42,29 @@
     @Autowired
     private OpeReportReplyMapper opeReportReplyMapper;
 
+    @Value("${dy.webFile.fmUrl}")
+    private String fmUrl ;
+
+    @Autowired
+    private FileOperate fileOp ;
+
+    private void dealWebFilePath(JSONArray jsonArray, boolean hasZipFile){
+        for (Object obj : jsonArray){
+            if(obj instanceof JSONObject){
+                JSONObject jsonObject = (JSONObject) obj;
+                Object hashObj = jsonObject.get("hash") ;
+                if(hashObj != null && NumUtil.isIntNumber(hashObj.toString())){
+                    FileRestVo fvo = fileOp.parseHashcode(fmUrl, Integer.valueOf(hashObj.toString()));
+                    if(fvo != null && fvo.fileWebUrl != null){
+                        jsonObject.put("webPath", fvo.fileWebUrl + jsonObject.get("filePath"));
+                        if(hasZipFile){
+                            jsonObject.put("webPathZip", fileOp.getFileZipPath(fvo.fileWebUrl + jsonObject.get("filePath")));
+                        }
+                    }
+                }
+            }
+        }
+    }
     /**
      * 娣诲姞宸℃鍛橀棶棰樹笂鎶�
      * @param po
@@ -94,6 +121,9 @@
             JSONArray images_array = Optional.ofNullable(JSON.parseArray(report_temp.getImages())).orElse(new JSONArray());
             JSONArray audios_array = Optional.ofNullable(JSON.parseArray(report_temp.getAudios())).orElse(new JSONArray());
             JSONArray videos_array = Optional.ofNullable(JSON.parseArray(report_temp.getVideos())).orElse(new JSONArray());
+            this.dealWebFilePath(images_array, true) ;
+            this.dealWebFilePath(audios_array, false) ;
+            this.dealWebFilePath(videos_array, true) ;
             report.setImages(images_array);
             report.setAudios(audios_array);
             report.setVideos(videos_array);
@@ -119,6 +149,9 @@
         JSONArray images_array = Optional.ofNullable(JSON.parseArray(issueReport.getImages())).orElse(new JSONArray());
         JSONArray audios_array = Optional.ofNullable(JSON.parseArray(issueReport.getAudios())).orElse(new JSONArray());
         JSONArray videos_array = Optional.ofNullable(JSON.parseArray(issueReport.getVideos())).orElse(new JSONArray());
+        this.dealWebFilePath(images_array, true) ;
+        this.dealWebFilePath(audios_array, false) ;
+        this.dealWebFilePath(videos_array, true) ;
 
         report.setImages(images_array);
         report.setAudios(audios_array);
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java
index c8aedaa..35376d2 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java
@@ -46,7 +46,7 @@
     @Autowired
     private FileOperate fileOp ;
 
-    private void dealWebFilePath(JSONArray jsonArray){
+    private void dealWebFilePath(JSONArray jsonArray, boolean hasZipFile){
         for (Object obj : jsonArray){
             if(obj instanceof JSONObject){
                 JSONObject jsonObject = (JSONObject) obj;
@@ -55,6 +55,9 @@
                     FileRestVo fvo = fileOp.parseHashcode(fmUrl, Integer.valueOf(hashObj.toString()));
                     if(fvo != null && fvo.fileWebUrl != null){
                         jsonObject.put("webPath", fvo.fileWebUrl + jsonObject.get("filePath"));
+                        if(hasZipFile){
+                            jsonObject.put("webPathZip", fileOp.getFileZipPath(fvo.fileWebUrl + jsonObject.get("filePath")));
+                        }
                     }
                 }
             }
@@ -125,9 +128,9 @@
             JSONArray images_array = Optional.ofNullable(JSON.parseArray(report_temp.getImages())).orElse(new JSONArray());
             JSONArray audios_array = Optional.ofNullable(JSON.parseArray(report_temp.getAudios())).orElse(new JSONArray());
             JSONArray videos_array = Optional.ofNullable(JSON.parseArray(report_temp.getVideos())).orElse(new JSONArray());
-            this.dealWebFilePath(images_array) ;
-            this.dealWebFilePath(audios_array) ;
-            this.dealWebFilePath(videos_array) ;
+            this.dealWebFilePath(images_array, true) ;
+            this.dealWebFilePath(audios_array, false) ;
+            this.dealWebFilePath(videos_array, true) ;
             report.setImages(images_array);
             report.setAudios(audios_array);
             report.setVideos(videos_array);

--
Gitblit v1.8.0