merge conflict origin/master

This commit is contained in:
paulGao 2022-01-10 19:10:42 +08:00
commit 23264d5d9b
4 changed files with 22 additions and 19 deletions

View File

@ -2,6 +2,7 @@ package cn.lili.common.utils;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Arrays;
/**
* 金额计算工具
@ -24,27 +25,29 @@ public final class CurrencyUtil {
/**
* 提供精确的加法运算
*
* @param v1 被加数
* @param v2 加数
* @return 两个参数的和
* @return 累加之和
*/
public static Double add(double v1, double v2) {
BigDecimal b1 = BigDecimal.valueOf(v1);
BigDecimal b2 = BigDecimal.valueOf(v2);
return b1.add(b2).setScale(2, RoundingMode.HALF_UP).doubleValue();
public static Double add(double... params) {
BigDecimal result = new BigDecimal("0");
for (double param : params) {
BigDecimal bigParam = BigDecimal.valueOf(param);
result = result.add(bigParam).setScale(2, RoundingMode.HALF_UP);
}
return result.doubleValue();
}
/**
* 提供精确的法运算
* 提供精确的法运算
*
* @param v1 被减数
* @param v2 减数
* @return 两个参数的差
* @return 累加之和
*/
public static double sub(double v1, double v2) {
BigDecimal b1 = BigDecimal.valueOf(v1);
BigDecimal b2 = BigDecimal.valueOf(v2);
return b1.subtract(b2).setScale(2, RoundingMode.HALF_UP).doubleValue();
public static Double sub(double... params) {
BigDecimal result = BigDecimal.valueOf(params[0]);
params = Arrays.stream(params).skip(1).toArray();
for (double param : params) {
BigDecimal bigParam = BigDecimal.valueOf(param);
result = result.subtract(bigParam).setScale(2, RoundingMode.HALF_UP);
}
return result.doubleValue();
}
/**

View File

@ -170,7 +170,7 @@ public class PriceDetailDTO implements Serializable {
billPrice = settlementPrice;
} else {
//如果是普通订单最终结算金额 = flowPrice - platFormCommission - distributionCommission 流水金额-平台佣金-分销佣金
billPrice = CurrencyUtil.sub(CurrencyUtil.sub(flowPrice, platFormCommission), distributionCommission);
billPrice = CurrencyUtil.sub(flowPrice, platFormCommission, distributionCommission);
}
}

View File

@ -160,7 +160,7 @@ public class StoreFlowServiceImpl extends ServiceImpl<StoreFlowMapper, StoreFlow
//流水金额
storeFlow.setFinalPrice(afterSale.getActualRefundPrice());
//最终结算金额
storeFlow.setBillPrice(CurrencyUtil.add(CurrencyUtil.add(storeFlow.getFinalPrice(), storeFlow.getDistributionRebate()), storeFlow.getCommissionPrice()));
storeFlow.setBillPrice(CurrencyUtil.add(storeFlow.getFinalPrice(), storeFlow.getDistributionRebate(), storeFlow.getCommissionPrice()));
//获取第三方支付流水号
RefundLog refundLog = refundLogService.queryByAfterSaleSn(afterSale.getSn());
storeFlow.setTransactionId(refundLog.getReceivableNo());

View File

@ -98,7 +98,7 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements Bi
bill.setSiteCouponCommission(orderBill.getSiteCouponCommission());
bill.setPointSettlementPrice(orderBill.getPointSettlementPrice());
bill.setKanjiaSettlementPrice(orderBill.getKanjiaSettlementPrice());
//入账金额=订单金额+积分商品+砍价商品
//入账金额=订单金额
orderPrice = orderBill.getBillPrice();
}