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