From 026447959141110afd24d18b61da953c62aa2209 Mon Sep 17 00:00:00 2001
From: zhubaomin <470473919@qq.com>
Date: 星期三, 23 四月 2025 12:23:55 +0800
Subject: [PATCH] 各轮灌组开阀时间提前2分钟,第一组除外

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

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java
index 8ea2eec..317d3c1 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java
@@ -1,12 +1,14 @@
 package com.dy.pipIrrWechat.issue;
 
-import com.alibaba.fastjson2.JSONArray;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.pojoSe.SeIssueReport;
+import com.dy.pipIrrGlobal.pojoSe.SeReportReply;
 import com.dy.pipIrrGlobal.voSe.VoIssueReport;
-import com.dy.pipIrrWechat.issue.dto.DtoIssueReport;
+import com.dy.pipIrrGlobal.voSe.VoIssueReportReply;
+import com.dy.pipIrrWechat.issue.dto.DtoDeleteParam;
+import com.dy.pipIrrWechat.issue.dto.DtoReportReply;
 import com.dy.pipIrrWechat.issue.qo.QoIssueReport;
 import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
@@ -15,7 +17,6 @@
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 
-import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
@@ -43,34 +44,14 @@
      */
     @PostMapping(path = "addIssueReport")
     @Transactional(rollbackFor = Exception.class)
-    public BaseResponse<Boolean> addIssueReport(@RequestBody @Valid DtoIssueReport po, BindingResult bindingResult) {
+    public BaseResponse<Boolean> addIssueReport(@RequestBody @Valid SeIssueReport po, BindingResult bindingResult) {
         if(bindingResult != null && bindingResult.hasErrors()){
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
 
-        Long clientId = po.getClientId();
-        String phone = Optional.ofNullable(po.getPhone()).orElse("");
-        BigDecimal lng = Optional.ofNullable(po.getLng()).orElse(BigDecimal.valueOf(0));
-        BigDecimal lat = Optional.ofNullable(po.getLat()).orElse(BigDecimal.valueOf(0));
-        String content = Optional.ofNullable(po.getContent()).orElse("");
-        JSONArray images = Optional.ofNullable(po.getImages()).orElse(new JSONArray());
-        JSONArray audios = Optional.ofNullable(po.getAudios()).orElse(new JSONArray());
-        JSONArray videos = Optional.ofNullable(po.getVideos()).orElse(new JSONArray());
-
-        SeIssueReport seIssueReport = new SeIssueReport();
-        seIssueReport.setClientId(clientId);
-        seIssueReport.setPhone(phone);
-        seIssueReport.setLng(lng);
-        seIssueReport.setLat(lat);
-        seIssueReport.setContent(content);
-        seIssueReport.setImages(images);
-        seIssueReport.setAudios(audios);
-        seIssueReport.setVideos(videos);
-        seIssueReport.setReportTime(new Date());
-        seIssueReport.setState((byte)1);
-        Long issueReportId = issueSv.insertIssueReport(seIssueReport);
-        if(issueReportId == null) {
-            return BaseResponseUtils.buildErrorMsg("鍐滄埛闂涓婃姤澶辫触");
+        String result = issueSv.addIssueReport(po);
+        if(!result.equals("success")) {
+            return BaseResponseUtils.buildErrorMsg(result);
         }
 
         return BaseResponseUtils.buildSuccess(true) ;
@@ -84,8 +65,8 @@
     @GetMapping(path = "/getIssueReports")
     public BaseResponse<QueryResultVo<List<VoIssueReport>>> getIssueReports(QoIssueReport vo) {
         try {
-            QueryResultVo<List<VoIssueReport>> res = issueSv.getIssueReports(vo);
-            return BaseResponseUtils.buildSuccess(res);
+            //QueryResultVo<List<VoIssueReport_temp>> res = issueSv.getIssueReports(vo);
+            return BaseResponseUtils.buildSuccess(issueSv.getIssueReports(vo));
         } catch (Exception e) {
             log.error("鑾峰彇鍐滄埛闂涓婃姤璁板綍寮傚父", e);
             return BaseResponseUtils.buildException(e.getMessage());
@@ -93,27 +74,88 @@
     }
 
     /**
-     * 閫昏緫鍒犻櫎鍐滄埛闂涓婃姤
-     * @param issueReportId
+     * 閫昏緫鍒犻櫎鍐滄埛闂涓婃姤锛屽垹闄ゅ墠鍏堝垽鏂鍒犻櫎鐨勪笂鎶ユ槸鍚﹀瓨鍦�
+     * @param po
+     * @param bindingResult
      * @return
      */
     @PostMapping(path = "deleteIssueReport")
-    public BaseResponse<Boolean> deleteIssueReport(@RequestParam("issueReportId") Long issueReportId) {
-        if (issueReportId == null) {
-            return BaseResponseUtils.buildErrorMsg("鏈�夋嫨瑕佸垹闄ょ殑鍐滄埛闂涓婃姤");
+    public BaseResponse<Boolean> deleteIssueReport(@RequestBody @Valid DtoDeleteParam po, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        // 鏍规嵁涓婃姤ID鍙婂啘鎴稩D鑾峰彇鏈垹闄ょ殑涓婃姤锛屽垹闄や笂鎶ュ垽鏂娇鐢�
+        SeIssueReport seIssueReport = issueSv.getReport(po.getIssueReportId(), po.getClientId());
+        if(seIssueReport == null) {
+            return BaseResponseUtils.buildErrorMsg("鎮ㄨ鍒犻櫎鐨勯棶棰樹笂鎶ヤ笉瀛樺湪");
         }
 
         try {
-            //鍙栨按鍙D
-            Integer recordCount = Optional.ofNullable(issueSv.deleteIssueReport(issueReportId)).orElse(0);
+            Integer recordCount = Optional.ofNullable(issueSv.deleteIssueReport(po.getIssueReportId())).orElse(0);
             if (recordCount == 0) {
                 return BaseResponseUtils.buildErrorMsg("鍐滄埛闂涓婃姤鍒犻櫎澶辫触");
-            } else {
-                return BaseResponseUtils.buildSuccess(true);
+            }else {
+                return BaseResponseUtils.buildSuccess();
             }
         } catch (Exception e) {
             log.error("鍐滄埛闂涓婃姤鍒犻櫎澶辫触", e);
             return BaseResponseUtils.buildException(e.getMessage());
         }
     }
+
+    /**
+     * 鍥炲鍐滄埛闂涓婃姤
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "replyReport")
+    @Transactional(rollbackFor = Exception.class)
+    public BaseResponse<Boolean> replyReport(@RequestBody @Valid DtoReportReply po, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        // 娣诲姞涓婃姤鍥炲璁板綍
+        SeReportReply seReportReply = new SeReportReply();
+        seReportReply.setReportId(po.getReportId());
+        seReportReply.setReplyContent(po.getReplyContent());
+        seReportReply.setReplyTime(new Date());
+        seReportReply.setReplierId(po.getReplierId());
+        Long reportReplyId = issueSv.insertReportReply(seReportReply);
+        if(reportReplyId == null) {
+            return BaseResponseUtils.buildErrorMsg("鍥炲鍐滄埛闂涓婃姤澶辫触");
+        }
+
+        // 淇敼闂涓婃姤鐘舵�佷负宸插洖澶�
+        SeIssueReport seIssueReport = new SeIssueReport();
+        seIssueReport.setId(po.getReportId());
+        seIssueReport.setState((byte)2);
+        Integer issueReportId = issueSv.updateIssueReport(seIssueReport);
+        if(issueReportId == null) {
+            return BaseResponseUtils.buildErrorMsg("鍐滄埛闂涓婃姤淇敼澶辫触");
+        }
+
+        return BaseResponseUtils.buildSuccess(true) ;
+    }
+
+    /**
+     * 鏍规嵁闂涓婃姤ID鑾峰彇涓婃姤鍥炲淇℃伅
+     * @param reportId
+     * @return
+     */
+    @GetMapping(path = "/getReportReply")
+    public BaseResponse<VoIssueReportReply> getReportReply(@RequestParam("reportId") Long reportId) {
+        if(reportId == null) {
+            return BaseResponseUtils.buildErrorMsg("璇烽�夋嫨涓�涓棶棰樹笂鎶�");
+        }
+
+        try {
+            return BaseResponseUtils.buildSuccess(issueSv.getReportReplyByReportId(reportId));
+        } catch (Exception e) {
+            log.error("鑾峰彇涓婃姤鍥炲淇℃伅褰曞紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
 }

--
Gitblit v1.8.0