From 95d8d3df562c8f7fca74ba994cddbbf41564488e Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期二, 08 四月 2025 20:08:15 +0800
Subject: [PATCH] 优化未完成计划列表、已完成计划列表接口

---
 pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java |  158 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 158 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java
new file mode 100644
index 0000000..60a4696
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-app/src/main/java/com/dy/pipIrrApp/issue/IssueCtrl.java
@@ -0,0 +1,158 @@
+package com.dy.pipIrrApp.issue;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.aop.SsoAop;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrApp.issue.dto.DtoDeleteParam;
+import com.dy.pipIrrApp.issue.qo.QoIssueReport;
+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 jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-11-11 16:29
+ * @LastEditTime 2024-11-11 16:29
+ * @Description
+ */
+
+@Slf4j
+@RestController
+@RequestMapping(path="issue")
+@RequiredArgsConstructor
+public class IssueCtrl {
+    private final IssueSv issueSv;
+
+    /**
+     * 娣诲姞宸℃鍛橀棶棰樹笂鎶ヨ褰�
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "addIssueReport")
+    @Transactional(rollbackFor = Exception.class)
+    @SsoAop()
+    public BaseResponse<Boolean> addIssueReport(@RequestBody @Valid OpeIssueReport po, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        String result = issueSv.addIssueReport(po);
+        if(!result.equals("success")) {
+            return BaseResponseUtils.buildErrorMsg(result);
+        }
+
+        return BaseResponseUtils.buildSuccess(true) ;
+    }
+
+    /**
+     * 鑾峰彇宸℃鍛橀棶棰樹笂鎶ヨ褰�
+     * @param vo
+     * @return
+     */
+    @GetMapping(path = "/getIssueReports")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoIssueReport>>> getIssueReports(QoIssueReport vo) {
+        try {
+            //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());
+        }
+    }
+
+    /**
+     * 鑾峰彇涓�涓贰妫�鍛橀棶棰樹笂鎶ヨ褰曡鎯�
+     * @param issueReportId
+     * @return
+     */
+    @GetMapping(path = "/getOneIssueReport")
+    @SsoAop()
+    public BaseResponse<VoIssueReport> getOneIssueReport(@RequestParam("issueReportId") Long issueReportId) {
+        try {
+            VoIssueReport issueReport = issueSv.getIssueReportById(issueReportId);
+            if(issueReport == null) {
+                return BaseResponseUtils.buildNonExist();
+            }
+            return BaseResponseUtils.buildSuccess(issueReport);
+        } catch (Exception e) {
+            log.error("鑾峰彇闂涓婃姤璁板綍璇︽儏寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+    /**
+     * 閫昏緫鍒犻櫎宸℃鍛橀棶棰樹笂鎶ワ紝鍒犻櫎鍓嶅厛鍒ゆ柇瑕佸垹闄ょ殑涓婃姤鏄惁瀛樺湪
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "deleteIssueReport")
+    public BaseResponse<Boolean> deleteIssueReport(@RequestBody @Valid DtoDeleteParam po, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        String result = issueSv.deleteIssueReport(po);
+        if(!result.equals("success")) {
+            return BaseResponseUtils.buildErrorMsg(result);
+        }
+
+        return BaseResponseUtils.buildSuccess();
+
+    }
+
+    /**
+     * 鍥炲宸℃鍛橀棶棰樹笂鎶�
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "replyReport")
+    @Transactional(rollbackFor = Exception.class)
+    public BaseResponse<Boolean> replyReport(@RequestBody @Valid OpeReportReply po, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+        if (issueSv.getReportReply(po.getReportId()).get("code").equals("0001")){
+            return BaseResponseUtils.buildErrorMsg("璇ラ棶棰樹笂鎶ュ凡鍥炲锛岃鍕块噸澶嶅洖澶�");
+        }
+        String result = issueSv.replyReport(po);
+        if(!result.equals("sucess")) {
+            return BaseResponseUtils.buildErrorMsg(result);
+        }
+
+        return BaseResponseUtils.buildSuccess() ;
+    }
+
+    /**
+     * 鏍规嵁闂涓婃姤ID鑾峰彇涓婃姤鍥炲淇℃伅
+     * @param reportId
+     * @return
+     */
+    @GetMapping(path = "/getReportReply")
+    public BaseResponse<VoIssueReportReply> getReportReply(@RequestParam("reportId") Long reportId) {
+
+        JSONObject result = issueSv.getReportReply(reportId);
+        if(!result.get("code").equals("0001")) {
+            return BaseResponseUtils.buildErrorMsg(result.get("msg").toString());
+        }
+
+        return BaseResponseUtils.buildSuccess(result.get("data"));
+
+    }
+
+}

--
Gitblit v1.8.0