update 店铺费率,矿机理论算力和实际算力比值保留四位小数

This commit is contained in:
yyb
2026-01-28 09:39:19 +08:00
parent b50de64528
commit ada88614c2
2 changed files with 16 additions and 7 deletions

View File

@@ -580,7 +580,7 @@ public class LeaseOrderInfoServiceImpl extends ServiceImpl<LeaseOrderInfoMapper,
for (LeaseOrderItem leaseOrderItem : leaseOrderItems) {
BigDecimal theoryPower = leaseOrderItem.getTheoryPower();
BigDecimal practicalPower = leaseOrderItem.getPracticalPower();
BigDecimal powerRatio = practicalPower.divide(theoryPower, 2, RoundingMode.HALF_UP);
BigDecimal powerRatio = practicalPower.divide(theoryPower, 4, RoundingMode.HALF_UP);
BigDecimal alreadyPayRealAmount = leaseOrderItem.getAlreadyPayRealAmount();
orderInfoDto.setTotalTheoryPower(orderInfoDto.getTotalTheoryPower().add(theoryPower));
@@ -607,7 +607,7 @@ public class LeaseOrderInfoServiceImpl extends ServiceImpl<LeaseOrderInfoMapper,
}
orderInfoDto.setPayCoin(list.get(0).getPayCoin());
orderInfoDto.setPowerRatio(orderInfoDto.getTotalPracticalPower()
.divide(orderInfoDto.getTotalTheoryPower(), 2, RoundingMode.HALF_UP));
.divide(orderInfoDto.getTotalTheoryPower(), 4, RoundingMode.HALF_UP));
orderInfoDto.setOrderItemDtoList(list);
return Result.success(orderInfoDto);
@@ -895,14 +895,18 @@ public class LeaseOrderInfoServiceImpl extends ServiceImpl<LeaseOrderInfoMapper,
LeaseShop leaseShop = shopMap.get(leaseMachine.getShopId());
leaseShop.setSaleNumber(leaseShop.getSaleNumber() + orderInfoVo.getNumbers());
OrderMiningInfoDto orderMiningInfoDto = userAndMinerMap.get(machineId);
LeaseOrderItem build = LeaseOrderItem.builder()
.userId(userEmail)
.orderId(leaseOrderInfo.getId())
.productMachineId(machineId)
.price(leaseMachinePrice.getPrice())
.user(userAndMinerMap.get(machineId).getPoolUser())
.miner(userAndMinerMap.get(machineId).getWorkerId())
.pool(orderMiningInfoDto.getPoolName())
.user(orderMiningInfoDto.getPoolUser())
.miner(orderMiningInfoDto.getWorkerId())
.coin(orderMiningInfoDto.getCoin())
.algorithm(orderMiningInfoDto.getAlgorithm())
//.theoryIncome(leaseMachine.getTheoryIncome().multiply(BigDecimal.valueOf(orderInfoVo.getLeaseTime())))
.leaseTime(orderInfoVo.getLeaseTime())
.payCoin(leaseShopConfig.getPayCoin())
@@ -1031,7 +1035,7 @@ public class LeaseOrderInfoServiceImpl extends ServiceImpl<LeaseOrderInfoMapper,
for (OrderMiningInfoDto addressInfo : orderMiningInfoDtoList) {
String coin = addressInfo.getCoin();
String walletAddress = addressInfo.getWalletAddress();
if (!WalletRuleCheckUtils.checkAddress(coin,walletAddress)){
if (StringUtils.isNotEmpty(walletAddress) && !WalletRuleCheckUtils.checkAddress(coin,walletAddress)){
addressVerify = addressInfo.getWalletAddress() + "钱包地址格式错误";
break;
}
@@ -1105,7 +1109,11 @@ public class LeaseOrderInfoServiceImpl extends ServiceImpl<LeaseOrderInfoMapper,
//已购商品信息
orderMiningList.add(build);
long timeout = ChronoUnit.HOURS.between(build.getStartTime(), build.getEndTime().plusHours(1));
if (StringUtils.isNotEmpty(walletAddress)){
redisService.setCacheObject7(combinationKey(poolName,walletAddress,coin,algo),"1",timeout, TimeUnit.HOURS);
}else if (StringUtils.isNotEmpty(poolUser)){
redisService.setCacheMapValue7(combinationKey(poolName,poolUser,coin,algo),poolWorkerId,"1",timeout, TimeUnit.HOURS);
}
}
leaseOrderMiningMapper.insertBatch(orderMiningList);
macMessageMap.forEach(this::sendMessage);

View File

@@ -27,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -184,7 +185,7 @@ public class LeaseShopServiceImpl extends ServiceImpl<LeaseShopMapper, LeaseShop
.id(leaseShop.getId())
.name(leaseShop.getName())
.image(leaseShop.getImage())
.feeRate(leaseShop.getFeeRate())
.feeRate(leaseShop.getFeeRate().setScale(4, RoundingMode.HALF_UP))
.description(leaseShop.getDescription())
.state(leaseShop.getState())
.del(leaseShop.getDel())