From 94a0a48cbc819023015479dabd951ce6c167d8a0 Mon Sep 17 00:00:00 2001 From: aikai Date: Wed, 28 Aug 2024 11:10:24 +0800 Subject: [PATCH] =?UTF-8?q?```txtfeat(bpm):=E6=94=AF=E6=8C=81=E5=88=86?= =?UTF-8?q?=E6=89=B9=E6=94=AF=E4=BB=98=E7=9A=84=E8=B4=A2=E5=8A=A1=E4=BB=98?= =?UTF-8?q?=E6=AC=BE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增财务付款项分期支付功能,允许用户分批进行支付。通过在FinancialPaymentItemDO表中添加新字段, 以及在FinancialPaymentSaveVO中添加支付类型字段实现。更新了FinancialPaymentServiceImpl中支付逻辑, 以支持全额和分批支付两种模式,以及后续的付款状态更新。 - 在FinancialPaymentItemDO中添加字段以存储分批支付信息。 - 在FinancialPaymentSaveVO中添加类型字段以区分全额和分批支付。 - 更新付款状态逻辑,以支持分批支付并达到全额支付状态的转换。 ``` --- .../admin/financialpayment/vo/FinancialPaymentSaveVO.java | 3 +++ .../financialpaymentitem/FinancialPaymentItemDO.java | 2 +- .../financialpayment/FinancialPaymentServiceImpl.java | 8 ++++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/financialpayment/vo/FinancialPaymentSaveVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/financialpayment/vo/FinancialPaymentSaveVO.java index 502e7353..e0b8ea36 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/financialpayment/vo/FinancialPaymentSaveVO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/financialpayment/vo/FinancialPaymentSaveVO.java @@ -14,6 +14,9 @@ public class FinancialPaymentSaveVO { @Schema(description = "状态 1同意 2拒绝", example = "1") private Integer status; + @Schema(description = "类型 1全额支付 2分批支付", example = "1") + private Integer type; + @Schema(description = "支付信息") private FinancialPaymentItemSaveReqVO financialPaymentItemSaveReqVO; } diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/financialpaymentitem/FinancialPaymentItemDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/financialpaymentitem/FinancialPaymentItemDO.java index b852e66d..727b247b 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/financialpaymentitem/FinancialPaymentItemDO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/financialpaymentitem/FinancialPaymentItemDO.java @@ -17,7 +17,7 @@ import java.util.List; * * @author 艾楷 */ -@TableName("bpm_financial_payment_item") +@TableName(value = "bpm_financial_payment_item", autoResultMap = true) @KeySequence("bpm_financial_payment_item_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/financialpayment/FinancialPaymentServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/financialpayment/FinancialPaymentServiceImpl.java index 2fec7e34..ee05fc6c 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/financialpayment/FinancialPaymentServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/financialpayment/FinancialPaymentServiceImpl.java @@ -81,10 +81,14 @@ public class FinancialPaymentServiceImpl implements FinancialPaymentService { FinancialPaymentDO financialPayment = this.getFinancialPayment(vo.getId()); if (vo.getStatus() == 1) { financialPayment.setActualPayment(financialPayment.getActualPayment().add(financialPaymentItem.getAmount())); - if (financialPayment.getActualPayment().equals(financialPayment.getAmountPayable())) { + if (vo.getType() != null && vo.getType() == 1) { financialPayment.setStatus(2); } else { - financialPayment.setStatus(1); + if (financialPayment.getActualPayment().compareTo(financialPayment.getAmountPayable()) >= 0) { + financialPayment.setStatus(2); + } else { + financialPayment.setStatus(1); + } } } else { // TODO: 2024/8/18 - 驳回该流程通过流程实例id 发消息通知发起人 - 更改状态