From 662ced27d009a35ffb77312942953ab424ae2dda Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期五, 01 十一月 2024 16:27:39 +0800
Subject: [PATCH] 优化农户问题上报接口,删除前判断要删除的上报是否存在

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java |   83 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 74 insertions(+), 9 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..925dad6 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
@@ -5,8 +5,12 @@
 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.pipIrrGlobal.voSe.VoIssueReportReply;
+import com.dy.pipIrrWechat.issue.dto.DtoDeleteParam;
 import com.dy.pipIrrWechat.issue.dto.DtoIssueReport;
+import com.dy.pipIrrWechat.issue.dto.DtoReportReply;
 import com.dy.pipIrrWechat.issue.qo.QoIssueReport;
 import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
@@ -93,27 +97,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