From 48da13587473c514d7d9d997871e59d87ce617c2 Mon Sep 17 00:00:00 2001 From: qitz <18810291185@163.com> Date: Tue, 2 Jan 2024 16:41:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E7=BC=B4=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CasePaymentController.java | 10 ++++ .../domain/dto/CaseConfirmPayDTO.java | 1 + .../domain/dto/CasePayDTO.java | 4 ++ .../service/ICasePaymentService.java | 1 + .../service/impl/CasePaymentServiceImpl.java | 54 +++++++++++++++++++ 5 files changed, 70 insertions(+) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CasePaymentController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CasePaymentController.java index e7d24f8..cc5dc15 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CasePaymentController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/CasePaymentController.java @@ -46,6 +46,16 @@ public class CasePaymentController { return paymentService.confirmPay(payDTO); } + /** + * 批量缴费 + * @param payDTO 缴费传入参数 + * @return 统一响应结果 + */ + @PostMapping("/confirmPayBatch") + public AjaxResult confirmPayBatch(@Validated @RequestBody CasePayDTO payDTO) { + return paymentService.confirmPayBatch(payDTO); + } + /** * 缴费确认 * @param batchCaseApplication diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CaseConfirmPayDTO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CaseConfirmPayDTO.java index 596759f..ae00cb0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CaseConfirmPayDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CaseConfirmPayDTO.java @@ -25,4 +25,5 @@ public class CaseConfirmPayDTO { * 缴费凭证 */ private List payOrderList; + } \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CasePayDTO.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CasePayDTO.java index ff448e3..0c92a68 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CasePayDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/domain/dto/CasePayDTO.java @@ -35,4 +35,8 @@ public class CasePayDTO { * 缴费凭证 */ private List payOrderList; + /** + * 批号 + */ + private String batchNumber; } \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICasePaymentService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICasePaymentService.java index 33665b6..01364f8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICasePaymentService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/ICasePaymentService.java @@ -26,4 +26,5 @@ public interface ICasePaymentService { AjaxResult casePayList(CasePayDTO casePayDTO); + AjaxResult confirmPayBatch(CasePayDTO payDTO); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java index c84f938..2f54b29 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/impl/CasePaymentServiceImpl.java @@ -20,6 +20,7 @@ import com.ruoyi.dto.PayRequest; import com.ruoyi.dto.PayResponse; import com.ruoyi.wisdomarbitrate.domain.dto.CasePayDTO; import com.ruoyi.wisdomarbitrate.service.ICasePaymentService; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -28,6 +29,7 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; import static com.ruoyi.common.utils.SecurityUtils.getUsername; @@ -268,5 +270,57 @@ public class CasePaymentServiceImpl implements ICasePaymentService { return AjaxResult.success(listVO); } + @Override + @Transactional + public AjaxResult confirmPayBatch(CasePayDTO payDTO) { + + String batchNumber = payDTO.getBatchNumber(); + CaseApplication caseApplicationsel = new CaseApplication(); + caseApplicationsel.setBatchNumber(Integer.parseInt(batchNumber)); + caseApplicationsel.setCaseStatus(CaseApplicationConstants.PENDING_PAYMENT); + List caseApplications = caseApplicationMapper.listCaseApplicationByBatchNumber(caseApplicationsel); + List caseIds = caseApplications.stream().map(CaseApplication::getId).collect(Collectors.toList()); + if(caseApplications!=null&&caseApplications.size()>0){ + if (payDTO.getPayType() != null) { + payDTO.setCaseIds(caseIds); + // 修改支付方式 + CaseConfirmPayDTO caseConfirmPayDTO = new CaseConfirmPayDTO(); + BeanUtils.copyProperties(payDTO, caseConfirmPayDTO); + caseApplicationMapper.updatePayType(caseConfirmPayDTO); + } + for (Long caseId : caseIds) { + if (CollectionUtil.isNotEmpty(payDTO.getPayOrderList())) { + for (CaseAttach caseAttach : payDTO.getPayOrderList()) { + caseAttach.setCaseAppliId(caseId); + caseAttachMapper.updateCaseAttach(caseAttach); + } + } + + // 修改节点状态 + //根据案件id查询案件信息 + CaseApplication caseApplication = new CaseApplication(); + caseApplication.setId(caseId); + CaseApplication caseApplication1 = caseApplicationMapper.selectCaseApplication(caseApplication); + caseApplication1.setCaseStatus(CaseApplicationConstants.PENDING_PAYMENT_CONFIRM); + //修改案件状态 + int i = caseApplicationMapper.submitCaseApplication(caseApplication1); + if (i > 0) { + // 修改支付状态 + CasePaymentRecord paymentRecord = new CasePaymentRecord(); + paymentRecord.setPayType(payDTO.getPayType()); + paymentRecord.setCaseId(caseId); + paymentRecord.setPaymentStatus(1); + casePaymentRecordMapper.saveRecord(paymentRecord); + // 新增日志 + CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.PENDING_PAYMENT_CONFIRM, ""); + } + + } + + } + + return AjaxResult.success("确认缴费成功"); + } + }