From a3657cc4e9fd9f13e4838db8eebaf914c529beee Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期三, 15 七月 2026 14:34:44 +0800
Subject: [PATCH] 结算的已支付订单
---
ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/ChargingSimulationSupportTest.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 52 insertions(+), 0 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/ChargingSimulationSupportTest.java b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/ChargingSimulationSupportTest.java
index 13d2754..f6a7bfb 100644
--- a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/ChargingSimulationSupportTest.java
+++ b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/service/impl/ChargingSimulationSupportTest.java
@@ -1,6 +1,7 @@
package com.ruoyi.order.service.impl;
import com.ruoyi.order.api.model.AccountingStrategyDetailOrder;
+import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.vo.TransactionRecordMessageVO;
import org.junit.jupiter.api.Test;
@@ -13,6 +14,57 @@
class ChargingSimulationSupportTest {
@Test
+ void supportsBalanceAndMixedPaymentAmounts() {
+ TChargingOrder balance = new TChargingOrder();
+ balance.setPayMethod(1);
+ balance.setRechargeAmount(new BigDecimal("10.00"));
+ balance.setChargeAmount(new BigDecimal("10.00"));
+ balance.setBalancePayAmount(new BigDecimal("10.00"));
+ balance.setThirdPayAmount(BigDecimal.ZERO);
+
+ assertEquals(new BigDecimal("10.00"), ChargingSimulationSupport.availableAmount(balance));
+ assertEquals("余额支付", ChargingSimulationSupport.paymentMode(balance));
+
+ TChargingOrder mixed = new TChargingOrder();
+ mixed.setPayMethod(2);
+ mixed.setRechargePaymentType(1);
+ mixed.setSourceName("ICBC");
+ mixed.setRechargeAmount(new BigDecimal("10.00"));
+ mixed.setBalancePayAmount(new BigDecimal("4.00"));
+ mixed.setThirdPayAmount(new BigDecimal("6.00"));
+
+ assertEquals(new BigDecimal("10.00"), ChargingSimulationSupport.availableAmount(mixed));
+ assertEquals("余额+工行支付", ChargingSimulationSupport.paymentMode(mixed));
+
+ TChargingOrder alipay = new TChargingOrder();
+ alipay.setPayMethod(3);
+ alipay.setRechargePaymentType(2);
+ alipay.setRechargeAmount(new BigDecimal("10.00"));
+ alipay.setBalancePayAmount(BigDecimal.ZERO);
+ alipay.setThirdPayAmount(new BigDecimal("10.00"));
+
+ assertEquals("支付宝支付", ChargingSimulationSupport.paymentMode(alipay));
+
+ TChargingOrder legacyAlipay = new TChargingOrder();
+ legacyAlipay.setPayMethod(3);
+ legacyAlipay.setRechargePaymentType(2);
+ legacyAlipay.setRechargeAmount(new BigDecimal("10.00"));
+
+ assertEquals("支付宝支付", ChargingSimulationSupport.paymentMode(legacyAlipay));
+ assertEquals(new BigDecimal("10.00"), ChargingSimulationSupport.thirdPayAmount(legacyAlipay));
+
+ TChargingOrder legacyMixed = new TChargingOrder();
+ legacyMixed.setPayMethod(2);
+ legacyMixed.setRechargePaymentType(1);
+ legacyMixed.setSourceName("ICBC");
+ legacyMixed.setRechargeAmount(new BigDecimal("10.00"));
+ legacyMixed.setBalancePayAmount(new BigDecimal("4.00"));
+
+ assertEquals("余额+工行支付", ChargingSimulationSupport.paymentMode(legacyMixed));
+ assertEquals(new BigDecimal("6.00"), ChargingSimulationSupport.thirdPayAmount(legacyMixed));
+ }
+
+ @Test
void buildsOneKwhRecordForSelectedTariffPeriod() {
AccountingStrategyDetailOrder first = detail(1, 1, "00:00", "12:00");
AccountingStrategyDetailOrder second = detail(2, 3, "12:00", "23:59");
--
Gitblit v1.7.1