diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/security/controller/PenaltySecurityController.java b/src/main/java/com/chinaweal/aiccs/aiccs/security/controller/PenaltySecurityController.java index 74a447c..8261852 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/security/controller/PenaltySecurityController.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/security/controller/PenaltySecurityController.java @@ -148,10 +148,50 @@ public class PenaltySecurityController { penaltyAcceptLog.setCreateTime(LocalDateTime.now()); penaltyAcceptLogService.save(penaltyAcceptLog); + executeCaseInfoLogic(requestDto, penaltyAcceptLog.getAcceptId()); + + return SecurityResultAcceptVO.success(penaltyAcceptLog.getAcceptId()); + } + + /** + * 重新执行CaseInfo业务逻辑 + * 根据acceptId查询acceptLog,解析dataJson,重新写入/更新PenaltyCaseInfo与PenaltyEntInfo + * + * @param acceptId 受理记录id + * @return 操作结果 + */ + @PostMapping("resendCaseInfo") + public SecurityResultVO resendCaseInfo(@RequestParam("acceptId") String acceptId) { + if (StringUtils.isBlank(acceptId)) { + return SecurityResultVO.error(ErrorCode.PARAM_VALID_FAIL_0); + } + + PenaltyAcceptLog penaltyAcceptLog = penaltyAcceptLogService.getById(acceptId); + if (penaltyAcceptLog == null) { + return SecurityResultVO.error(ErrorCode.PARAM_VALID_FAIL_0); + } + + PenaltyCaseInfoRequestDto requestDto = JSONObject.parseObject(penaltyAcceptLog.getDataJson(), PenaltyCaseInfoRequestDto.class); + if (requestDto == null) { + return SecurityResultVO.error(ErrorCode.PARAM_VALID_FAIL_0); + } + + executeCaseInfoLogic(requestDto, acceptId); + return SecurityResultAcceptVO.success(acceptId); + } + + /** + * 执行CaseInfo业务逻辑 + * 保存/更新PenaltyCaseInfo,删除并重新插入PenaltyEntInfo + * + * @param requestDto 请求参数 + * @param acceptId 受理记录id + */ + private void executeCaseInfoLogic(PenaltyCaseInfoRequestDto requestDto, String acceptId) { // 保存案件信息到PENALTY_CASE_INFO表 PenaltyCaseInfo penaltyCaseInfo = new PenaltyCaseInfo(); penaltyCaseInfo.setCaseid(requestDto.getCaseid()); - penaltyCaseInfo.setAcceptid(penaltyAcceptLog.getAcceptId()); + penaltyCaseInfo.setAcceptid(acceptId); penaltyCaseInfo.setCasename(requestDto.getCasename()); penaltyCaseInfo.setCaseintroduction(requestDto.getCaseintroduction()); penaltyCaseInfo.setIllegality(requestDto.getIllegality()); @@ -194,8 +234,6 @@ public class PenaltySecurityController { penaltyEntInfoService.updateById(penaltyEntInfo); } } - - return SecurityResultAcceptVO.success(penaltyAcceptLog.getAcceptId()); } /**