```txtfeat(bpm):支持分批支付的财务付款功能

新增财务付款项分期支付功能,允许用户分批进行支付。通过在FinancialPaymentItemDO表中添加新字段,
以及在FinancialPaymentSaveVO中添加支付类型字段实现。更新了FinancialPaymentServiceImpl中支付逻辑,
以支持全额和分批支付两种模式,以及后续的付款状态更新。

- 在FinancialPaymentItemDO中添加字段以存储分批支付信息。
- 在FinancialPaymentSaveVO中添加类型字段以区分全额和分批支付。
- 更新付款状态逻辑,以支持分批支付并达到全额支付状态的转换。
```
This commit is contained in:
aikai 2024-08-28 11:10:24 +08:00
parent 64bb3778a0
commit 94a0a48cbc
3 changed files with 10 additions and 3 deletions

View File

@ -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;
}

View File

@ -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") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 MySQL 等数据库可不写
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -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 发消息通知发起人 - 更改状态