Selaa lähdekoodia

fix(WFTOrderService): 修正退款金额逻辑并更新订单状态

- 添加判断退款金额是否大于等于订单金额逻辑
- 全额退款时将订单状态设置为状态四
- 部分退款时将订单状态设置为状态五
- 确保订单状态根据退款金额正确更新
wzq 4 viikkoa sitten
vanhempi
commit
cfa3c3600b

+ 7 - 0
src/main/java/com/zsElectric/boot/business/service/WFTOrderService.java

@@ -931,6 +931,13 @@ public class WFTOrderService {
                 //修改订单状态
                 BigDecimal currentRefundMoney = userOrderInfo.getRefundMoney() == null ? BigDecimal.ZERO : userOrderInfo.getRefundMoney();
                 userOrderInfo.setRefundMoney(currentRefundMoney.add(refundAmount));
+                if ((userOrderInfo.getRefundMoney()).compareTo(userOrderInfo.getOrderMoney()) >= 0) {
+                    // 退款金额等于或大于订单金额,全额退款
+                    userOrderInfo.setOrderStatus(SystemConstants.STATUS_FOUR);
+                } else {
+                    // 退款金额小于订单金额,部分退款
+                    userOrderInfo.setOrderStatus(SystemConstants.STATUS_FIVE);
+                }
                 userOrderInfoMapper.updateById(userOrderInfo);
                 userRefundsOrderInfo.setStatus("PROCESSING");
             }