From 5f988ae8e9516b0ec2406fef7d207b216e30c2af Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期五, 13 十二月 2024 16:50:38 +0800
Subject: [PATCH] 优化接口 回复巡检员问题上报接口 已回复的加限制,只能回复一次

---
 pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueSv.java |   86 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 82 insertions(+), 4 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 ee70618..363b901 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
@@ -1,6 +1,10 @@
 package com.dy.pipIrrApp.issue;
 
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
 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;
@@ -8,14 +12,15 @@
 import com.dy.pipIrrGlobal.pojoOp.OpeIssueReport;
 import com.dy.pipIrrGlobal.pojoOp.OpeReportReply;
 import com.dy.pipIrrGlobal.voOp.VoIssueReport;
+import com.dy.pipIrrGlobal.voOp.VoIssueReportReply;
+import com.dy.pipIrrGlobal.voOp.VoIssueReport_temp;
 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.stereotype.Service;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @author ZhuBaoMin
@@ -71,14 +76,54 @@
         Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
 
         Long itemTotal = opeIssueReportMapper.getIssueReportsCount(params);
+        //QueryResultVo<List<VoIssueReport_temp>> rsVo = new QueryResultVo<>();
         QueryResultVo<List<VoIssueReport>> rsVo = new QueryResultVo<>();
 
         rsVo.pageSize = queryVo.pageSize;
         rsVo.pageCurr = queryVo.pageCurr;
 
         rsVo.calculateAndSet(itemTotal, params);
-        rsVo.obj = opeIssueReportMapper.getIssueReports(params);
+
+        List<VoIssueReport_temp> list_temp = opeIssueReportMapper.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());
+            report.setImages(images_array);
+            report.setAudios(audios_array);
+            report.setVideos(videos_array);
+            list.add(report);
+        }
+
+        rsVo.obj = list;
+        //rsVo.obj = opeIssueReportMapper.getIssueReports(params);
         return rsVo;
+    }
+
+    /**
+     * 鏍规嵁闂涓婃姤璁板綍涓婚敭鑾峰彇鑾峰彇宸℃鍛橀棶棰樹笂鎶ヨ褰曡鍥惧璞�
+     * @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());
+
+        report.setImages(images_array);
+        report.setAudios(audios_array);
+        report.setVideos(videos_array);
+        return report;
     }
 
     /**
@@ -114,7 +159,40 @@
             return "鍥炲璁板綍娣诲姞澶辫触";
         }
 
+        OpeIssueReport issueReport = new OpeIssueReport();
+        issueReport.setId(po.getReportId());
+        issueReport.setState((byte)2);
+        Integer rec = opeIssueReportMapper.updateByPrimaryKeySelective(issueReport);
+        if(rec == 0) {
+            return "宸℃鍛橀棶棰樹笂鎶ョ姸鎬佷慨鏀瑰け璐�";
+        }
         return "sucess";
     }
 
+    /**
+     * 鑾峰彇涓婃姤鍥炲淇℃伅
+     * @param reportId
+     * @return
+     */
+    public JSONObject getReportReply(Long reportId) {
+        JSONObject result = new JSONObject();
+        if(reportId == null) {
+            result.put("code", ResultCodeMsg.RsCode.ERROR_CODE);
+            result.put("msg","璇烽�夋嫨涓�涓棶棰樹笂鎶�");
+            return result;
+        }
+
+        VoIssueReportReply issueReportReply = opeReportReplyMapper.getReportReplyByReportId(reportId);
+        if(issueReportReply != null) {
+            result.put("code", ResultCodeMsg.RsCode.SUCCESS_CODE);
+            result.put("msg","success");
+            result.put("data", issueReportReply);
+            return result;
+        }
+        result.put("code", ResultCodeMsg.RsCode.ERROR_CODE);
+        result.put("msg","鏈幏鍙栧埌涓婃姤鍥炲淇℃伅");
+        return result;
+
+    }
+
 }

--
Gitblit v1.8.0