From e5c29d6ac2b210a9385723598d79a42ae5a9679e Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 23 四月 2025 15:20:13 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java |  118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 112 insertions(+), 6 deletions(-)

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 dc3836c..7fc6ea1 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
@@ -1,17 +1,28 @@
 package com.dy.pipIrrWechat.issue;
 
+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.pipIrrGlobal.daoSe.SeIssueReportMapper;
+import com.dy.pipIrrGlobal.daoSe.SeReportReplyMapper;
+import com.dy.pipIrrGlobal.dyFile.FileOperate;
+import com.dy.pipIrrGlobal.dyFile.FileRestVo;
 import com.dy.pipIrrGlobal.pojoSe.SeIssueReport;
+import com.dy.pipIrrGlobal.pojoSe.SeReportReply;
 import com.dy.pipIrrGlobal.voSe.VoIssueReport;
+import com.dy.pipIrrGlobal.voSe.VoIssueReportReply;
+import com.dy.pipIrrGlobal.voSe.VoIssueReport_temp;
 import com.dy.pipIrrWechat.issue.qo.QoIssueReport;
 import lombok.extern.slf4j.Slf4j;
 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.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @author ZhuBaoMin
@@ -26,14 +37,60 @@
     @Autowired
     private SeIssueReportMapper seIssueReportMapper;
 
+    @Autowired
+    private SeReportReplyMapper seReportReplyMapper;
+
+    @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
      * @return
      */
-    public Long insertIssueReport(SeIssueReport po) {
+    public String addIssueReport(SeIssueReport po) {
+        po.setReportTime(new Date());
+        po.setState((byte)1);
         seIssueReportMapper.insert(po);
-        return po.getId();
+        Long issueReportId = po.getId();
+        if(issueReportId == null) {
+            return "鍐滄埛闂涓婃姤澶辫触";
+        }
+
+        return "success";
+    }
+
+    /**
+     * 淇敼鍐滄埛闂涓婃姤鐘舵�侊紝鍥炲鍙婂垹闄ゆ椂浣跨敤
+     * @param po
+     * @return
+     */
+    public Integer updateIssueReport(SeIssueReport po) {
+        return seIssueReportMapper.updateByPrimaryKeySelective(po);
     }
 
     /**
@@ -63,8 +120,38 @@
         rsVo.pageCurr = queryVo.pageCurr;
 
         rsVo.calculateAndSet(itemTotal, params);
-        rsVo.obj = seIssueReportMapper.getIssueReports(params);
+
+        List<VoIssueReport_temp> list_temp = seIssueReportMapper.getIssueReports(params);
+        List<VoIssueReport> list = new ArrayList<>();
+        for (int i = 0; i < list_temp.size(); i++) {
+            VoIssueReport_temp report_temp = list_temp.get(i);
+            VoIssueReport report = new VoIssueReport();
+            BeanUtils.copyProperties(report_temp, report);
+
+            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);
+            list.add(report);
+        }
+
+        rsVo.obj = list;
         return rsVo;
+    }
+
+    /**
+     * 鏍规嵁涓婃姤ID鍙婂啘鎴稩D鑾峰彇鏈垹闄ょ殑涓婃姤锛屽垹闄や笂鎶ュ垽鏂娇鐢�
+     * @param issueReportId
+     * @param clientId
+     * @return
+     */
+    public SeIssueReport getReport(Long issueReportId, Long clientId) {
+        return seIssueReportMapper.getReport(issueReportId, clientId);
     }
 
     /**
@@ -76,4 +163,23 @@
         return seIssueReportMapper.deleteIssueReport(issueReportId);
     }
 
+    /**
+     * 娣诲姞鍐滄埛闂涓婃姤鍥炲
+     * @param po
+     * @return
+     */
+    public Long insertReportReply(SeReportReply po) {
+        seReportReplyMapper.insert(po);
+        return po.getId();
+    }
+
+    /**
+     * 鏍规嵁闂涓婃姤ID鑾峰彇涓婃姤鍥炲淇℃伅
+     * @param reportId
+     * @return
+     */
+    public VoIssueReportReply getReportReplyByReportId(Long reportId) {
+        return seReportReplyMapper.getReportReplyByReportId(reportId);
+    }
+
 }

--
Gitblit v1.8.0