From c3cc8704fda6893d8eba888df716b4845c35153b Mon Sep 17 00:00:00 2001 From: Lemon Date: Tue, 5 Aug 2025 16:15:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=B1=BB=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jsowell/common/util/YKCUtils.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/jsowell-common/src/main/java/com/jsowell/common/util/YKCUtils.java b/jsowell-common/src/main/java/com/jsowell/common/util/YKCUtils.java index 0f3b94334..19536ebea 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/util/YKCUtils.java +++ b/jsowell-common/src/main/java/com/jsowell/common/util/YKCUtils.java @@ -490,4 +490,18 @@ public class YKCUtils { return minValue; } + /** + * 三个BigDecimal, 取出大于0的最小值 + * @param settleAmount 结算金额 + * @param actualReceivedAmount 实收金额 + * @param orderAmount 订单金额 + */ + public static BigDecimal getMinBigDecimal(BigDecimal settleAmount, BigDecimal actualReceivedAmount, BigDecimal orderAmount) { + BigDecimal minValue = Stream.of(settleAmount, actualReceivedAmount, orderAmount) + .filter(v -> v.compareTo(BigDecimal.ZERO) > 0) // 过滤出大于 0 的值 + .min(BigDecimal::compareTo) // 取最小值 + .orElse(orderAmount); // 如果没有大于 0 的值,则返回订单金额 + return minValue; + } + }