From 662ced27d009a35ffb77312942953ab424ae2dda Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期五, 01 十一月 2024 16:27:39 +0800 Subject: [PATCH] 优化农户问题上报接口,删除前判断要删除的上报是否存在 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml | 5 ++ pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeIssueReportMapper.java | 9 ++++ pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueSv.java | 10 +++++ pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/dto/DtoDeleteParam.java | 28 ++++++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/IssueCtrl.java | 20 +++++++--- 5 files changed, 66 insertions(+), 6 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeIssueReportMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeIssueReportMapper.java index cc4e746..14a4c51 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeIssueReportMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeIssueReportMapper.java @@ -4,6 +4,7 @@ import com.dy.pipIrrGlobal.pojoSe.SeIssueReport; import com.dy.pipIrrGlobal.voSe.VoIssueReport; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -44,6 +45,14 @@ List<VoIssueReport> getIssueReports(Map<?, ?> params); /** + * 鏍规嵁涓婃姤ID鍙婂啘鎴稩D鑾峰彇鏈垹闄ょ殑涓婃姤锛屽垹闄や笂鎶ュ垽鏂娇鐢� + * @param issueReportId + * @param clientId + * @return + */ + SeIssueReport getReport(@Param("issueReportId")Long issueReportId, @Param("clientId")Long clientId); + + /** * 閫昏緫鍒犻櫎涓�涓啘鎴烽棶棰樹笂鎶� * @param issueReportId * @return diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml index 3183e50..31bcb79 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeIssueReportMapper.xml @@ -252,6 +252,11 @@ </trim> </select> + <!--鏍规嵁涓婃姤ID鍙婂啘鎴稩D鑾峰彇鏈垹闄ょ殑涓婃姤锛屽垹闄や笂鎶ュ垽鏂娇鐢�--> + <select id="getReport" resultType="com.dy.pipIrrGlobal.pojoSe.SeIssueReport"> + SELECT * FROM se_issue_report WHERE state != 3 AND id = #{issueReportId} AND client_id = #{clientId} + </select> + <!--閫昏緫鍒犻櫎涓�涓啘鎴烽棶棰樹笂鎶�--> <update id="deleteIssueReport"> UPDATE se_issue_report SET state = 3 WHERE id = #{issueReportId} 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 8091d44..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 @@ -8,6 +8,7 @@ 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; @@ -96,18 +97,25 @@ } /** - * 閫昏緫鍒犻櫎鍐滄埛闂涓婃姤 - * @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 { - 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 { 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 dce5580..367d6b9 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 @@ -83,6 +83,16 @@ } /** + * 鏍规嵁涓婃姤ID鍙婂啘鎴稩D鑾峰彇鏈垹闄ょ殑涓婃姤锛屽垹闄や笂鎶ュ垽鏂娇鐢� + * @param issueReportId + * @param clientId + * @return + */ + public SeIssueReport getReport(Long issueReportId, Long clientId) { + return seIssueReportMapper.getReport(issueReportId, clientId); + } + + /** * 鍒犻櫎鍐滄埛闂涓婃姤 * @param issueReportId * @return diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/dto/DtoDeleteParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/dto/DtoDeleteParam.java new file mode 100644 index 0000000..6d951c8 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/issue/dto/DtoDeleteParam.java @@ -0,0 +1,28 @@ +package com.dy.pipIrrWechat.issue.dto; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +/** + * @author ZhuBaoMin + * @date 2024-11-01 15:54 + * @LastEditTime 2024-11-01 15:54 + * @Description 鍐滄埛闂涓婃姤鍒犻櫎鍙傛暟瀵硅薄 + */ + +@Data +public class DtoDeleteParam { + public static final long serialVersionUID = 202411011555001L; + + /** + * 鍐滄埛闂涓婃姤ID + */ + @NotNull(message = "璇烽�夋嫨瑕佸垹闄ょ殑闂涓婃姤") + private Long issueReportId; + + /** + * 鍐滄埛ID + */ + @NotNull(message = "鍐滄埛缂栧彿涓嶈兘涓虹┖") + private Long clientId; +} -- Gitblit v1.8.0