update 2miner 卖家手续费使用下单时费率

This commit is contained in:
yyb
2026-01-30 09:52:24 +08:00
parent bb9f76012d
commit 5008b953cb

View File

@@ -816,22 +816,25 @@ public class OrderAndPayTask {
BigDecimal totalBlockAmount = BigDecimal.ZERO; BigDecimal totalBlockAmount = BigDecimal.ZERO;
BigDecimal totalRealAmount = BigDecimal.ZERO; BigDecimal totalRealAmount = BigDecimal.ZERO;
BigDecimal totalNeedAmount = BigDecimal.ZERO; BigDecimal totalNeedAmount = BigDecimal.ZERO;
BigDecimal feeRate = BigDecimal.ZERO;
for (LeaseOrderItem item : orderItemList) { for (LeaseOrderItem item : orderItemList) {
BigDecimal settlePayRealAmount = item.getSettlePayRealAmount();
//理论支付金额 = 单价 * 数量 * 租期天数 //理论支付金额 = 单价 * 数量 * 租期天数
BigDecimal itemAmount = item.getPrice().multiply(BigDecimal.valueOf(item.getNumbers())) BigDecimal itemAmount = item.getPrice().multiply(BigDecimal.valueOf(item.getNumbers()))
.multiply(BigDecimal.valueOf(item.getLeaseTime())); .multiply(BigDecimal.valueOf(item.getLeaseTime()));
totalAmount = totalAmount.add(itemAmount); totalAmount = totalAmount.add(itemAmount);
totalBlockAmount = totalBlockAmount.add(itemAmount); totalBlockAmount = totalBlockAmount.add(itemAmount);
//实际支付金额 = 累积的实际支付金额 //实际支付金额 = 累积的实际支付金额
totalRealAmount = totalRealAmount.add(item.getSettlePayRealAmount()); totalRealAmount = totalRealAmount.add(settlePayRealAmount);
totalNeedAmount = totalNeedAmount.add(item.getSettlePayRealAmount()); totalNeedAmount = totalNeedAmount.add(settlePayRealAmount);
if (!StringUtils.isEmpty(item.getUser())){ if (!StringUtils.isEmpty(item.getUser())){
redisMapKeyFiled.put(combinationKey(item.getPool(),item.getUser(),item.getCoin(),item.getAlgorithm()),item.getMiner()); redisMapKeyFiled.put(combinationKey(item.getPool(),item.getUser(),item.getCoin(),item.getAlgorithm()),item.getMiner());
} }
//同一个订单下 只会有一个店铺中的机器费率相同
feeRate = item.getFeeRate();
} }
BigDecimal fee = totalRealAmount.multiply(feeRate);
BigDecimal fee = totalRealAmount.multiply(leaseShop.getFeeRate());
LeasePayRecordMessage build = LeasePayRecordMessage.builder() LeasePayRecordMessage build = LeasePayRecordMessage.builder()
.queueId(orderInfo.getOrderNumber()) .queueId(orderInfo.getOrderNumber())
.fromAddress(firstItem.getFromAddress()) .fromAddress(firstItem.getFromAddress())
@@ -853,8 +856,7 @@ public class OrderAndPayTask {
.status(1) .status(1)
.sellerEmail(leaseShop.getUserEmail()) .sellerEmail(leaseShop.getUserEmail())
.receivedAmount(totalRealAmount.subtract(fee)) .receivedAmount(totalRealAmount.subtract(fee))
.feeRate(leaseShop.getFeeRate()) .feeRate(feeRate)
.feeRate(fee)
.build(); .build();
reocrdList.add(build); reocrdList.add(build);