From 427d87e5572d72d0e3aaa4364e4f53569222e321 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期二, 25 三月 2025 21:40:05 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 58 insertions(+), 0 deletions(-) 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 229b9a1..edd4f55 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,33 @@ @Autowired private OpeReportReplyMapper opeReportReplyMapper; + @Value("${dy.webFile.fmUrl}") + private String fmUrl ; + + @Autowired + private FileOperate fileOp ; + + private void dealWebFilePath(JSONArray jsonArray, boolean hasZipFile, boolean isVideo){ + 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){ + if(!isVideo){ + jsonObject.put("webPathZip", fileOp.getFileZipPath(fvo.fileWebUrl + jsonObject.get("filePath"))); + }else{ + jsonObject.put("webPathZip", fileOp.getFileZipPath(fvo.fileWebUrl + jsonObject.get("filePath"), "jpg")); + } + } + } + } + } + } + } /** * 娣诲姞宸℃鍛橀棶棰樹笂鎶� * @param po @@ -94,6 +125,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, false) ; + this.dealWebFilePath(audios_array, false, false) ; + this.dealWebFilePath(videos_array, true, true) ; report.setImages(images_array); report.setAudios(audios_array); report.setVideos(videos_array); @@ -106,6 +140,30 @@ } /** + * 鏍规嵁闂涓婃姤璁板綍涓婚敭鑾峰彇鑾峰彇宸℃鍛橀棶棰樹笂鎶ヨ褰曡鍥惧璞� + * @param issueReportId + * @return + */ + public VoIssueReport getIssueReportById(Long issueReportId) { + VoIssueReport_temp issueReport = opeIssueReportMapper.getIssueReportById(issueReportId); + + VoIssueReport report = new VoIssueReport(); + BeanUtils.copyProperties(issueReport, report); + + 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, false) ; + this.dealWebFilePath(audios_array, false, false) ; + this.dealWebFilePath(videos_array, true, true) ; + + report.setImages(images_array); + report.setAudios(audios_array); + report.setVideos(videos_array); + return report; + } + + /** * 閫昏緫鍒犻櫎宸℃鍛橀棶棰樹笂鎶ワ紝鍒犻櫎鍓嶅厛鍒ゆ柇瑕佸垹闄ょ殑涓婃姤鏄惁瀛樺湪 * @param po * @return -- Gitblit v1.8.0