From 86bb162b16fe601bc7e2004385d82be36d348f9f Mon Sep 17 00:00:00 2001 From: yyb <1416014977@qq.com> Date: Mon, 19 May 2025 16:56:02 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=B9=B8=E8=BF=90=E5=80=BC=E8=AE=A1?= =?UTF-8?q?=E7=AE=97bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../strategy/DetailedBlockDataV2Strategy.java | 3 +- .../java/com/m2pool/pool/task/DataTask.java | 40 +++++++++---------- .../main/resources/mapper/pool/PoolMapper.xml | 2 +- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/m2pool-modules/m2pool-pool/src/main/java/com/m2pool/pool/strategy/DetailedBlockDataV2Strategy.java b/m2pool-modules/m2pool-pool/src/main/java/com/m2pool/pool/strategy/DetailedBlockDataV2Strategy.java index 394dcb2..d94bfc9 100644 --- a/m2pool-modules/m2pool-pool/src/main/java/com/m2pool/pool/strategy/DetailedBlockDataV2Strategy.java +++ b/m2pool-modules/m2pool-pool/src/main/java/com/m2pool/pool/strategy/DetailedBlockDataV2Strategy.java @@ -28,7 +28,6 @@ public class DetailedBlockDataV2Strategy implements PoolBlockDataStrategy { .filter(e -> (e.getDate().before(end)) || e.getDate().equals(end)) .filter(e -> (e.getDate().after(start) || e.getDate().equals(start))) .collect(Collectors.toList()); - if (collect.isEmpty()){ return BlockTimeAndNumberDto.builder().dateLength(BigDecimal.ZERO).height(0).build(); } @@ -37,7 +36,7 @@ public class DetailedBlockDataV2Strategy implements PoolBlockDataStrategy { } return BlockTimeAndNumberDto.builder() .dateLength(BigDecimal.valueOf(collect.size())) - .height(collect.get(collect.size() - 1).getHeight()- collect.get(0).getHeight()).build(); + .height(collect.get(0).getHeight()-collect.get(collect.size() - 1).getHeight()).build(); } } diff --git a/m2pool-modules/m2pool-pool/src/main/java/com/m2pool/pool/task/DataTask.java b/m2pool-modules/m2pool-pool/src/main/java/com/m2pool/pool/task/DataTask.java index 3af0cec..9aa7d32 100644 --- a/m2pool-modules/m2pool-pool/src/main/java/com/m2pool/pool/task/DataTask.java +++ b/m2pool-modules/m2pool-pool/src/main/java/com/m2pool/pool/task/DataTask.java @@ -404,8 +404,8 @@ public class DataTask { } - //@Scheduled(cron = "30 2,5 0 * * ?") - @Scheduled(cron = "0 0/2 * * * ?") + @Scheduled(cron = "30 2,5 0 * * ?") + //@Scheduled(cron = "0 0/2 * * * ?") public void NEXALuckyDataToDB(){ log.info("nexa幸运值---定时任务开始"); LuckDto dto = new LuckDto(); @@ -428,10 +428,10 @@ public class DataTask { BigDecimal throreticalBlocks = getTheoreticalBlocks("nexa",PoolUnits.NEXA.gethRate(),start3d, end, blockData); //3天矿池实际报块数 int actualBlocks = poolMapper.selectPoolBlock(3); - log.info("nexa 3天实际报块数{},理论报块数{}",actualBlocks,throreticalBlocks); + log.info("nexa 3天实际报块数{},理论报块数{},全网实际报块数{}",actualBlocks,throreticalBlocks,blockData.getHeight()); //3天幸运值 if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } //7天幸运值 useAggregated = blockPerDays.size() >= 7; @@ -441,7 +441,7 @@ public class DataTask { actualBlocks = poolMapper.selectPoolBlock(7); log.info("nexa 7天实际报块数{},理论报块数{}",actualBlocks,throreticalBlocks); if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } //30天幸运值 @@ -452,7 +452,7 @@ public class DataTask { actualBlocks = poolMapper.selectPoolBlock(30); log.info("nexa 30天实际报块数{},理论报块数{}",actualBlocks,throreticalBlocks); if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } //90天幸运值 @@ -463,7 +463,7 @@ public class DataTask { actualBlocks = poolMapper.selectPoolBlock(90); log.info("nexa 90天实际报块数{},理论报块数{}",actualBlocks,throreticalBlocks); if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } redisService.deleteObject("NEXALuck"); @@ -493,7 +493,7 @@ public class DataTask { } return avgPowerForPool.getValue().multiply(BigDecimal.valueOf(hRate)).divide(avgPowerForNet.getValue(),8, RoundingMode.HALF_UP) - .multiply(BigDecimal.valueOf(blockData.getHeight())).setScale(8, RoundingMode.HALF_UP); + .multiply(BigDecimal.valueOf(blockData.getHeight())).setScale(4, RoundingMode.HALF_UP); } @@ -871,7 +871,7 @@ public class DataTask { int actualBlocks = poolMapper.selectPoolBlock(3); //3天幸运值 if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } //7天幸运值 useAggregated = blockPerDays.size() >= 7; @@ -880,7 +880,7 @@ public class DataTask { throreticalBlocks= getTheoreticalBlocks("grs",PoolUnits.GRS.gethRate(),start7d, end, blockData); actualBlocks = poolMapper.selectPoolBlock(7); if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } //30天幸运值 useAggregated = blockPerDays.size() >= 30; @@ -889,7 +889,7 @@ public class DataTask { throreticalBlocks= getTheoreticalBlocks("grs",PoolUnits.GRS.gethRate(),start30d, end, blockData); actualBlocks = poolMapper.selectPoolBlock(30); if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } //90天幸运值 @@ -898,7 +898,7 @@ public class DataTask { throreticalBlocks= getTheoreticalBlocks("grs",PoolUnits.GRS.gethRate(),start90d, end, blockData); actualBlocks = poolMapper.selectPoolBlock(90); if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } @@ -1285,7 +1285,7 @@ public class DataTask { int actualBlocks = poolMapper.selectPoolBlock(3); //3天幸运值 if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } //7天幸运值 useAggregated = blockPerDays.size() >= 7; @@ -1294,7 +1294,7 @@ public class DataTask { throreticalBlocks= getTheoreticalBlocks("mona",PoolUnits.MONA.gethRate(),start7d, end, blockData); actualBlocks = poolMapper.selectPoolBlock(7); if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } //30天幸运值 useAggregated = blockPerDays.size() >= 30; @@ -1303,7 +1303,7 @@ public class DataTask { throreticalBlocks= getTheoreticalBlocks("nexa",PoolUnits.MONA.gethRate(),start30d, end, blockData); actualBlocks = poolMapper.selectPoolBlock(30); if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } //90天幸运值 @@ -1313,7 +1313,7 @@ public class DataTask { throreticalBlocks= getTheoreticalBlocks("mona",PoolUnits.MONA.gethRate(),start90d, end, blockData); actualBlocks = poolMapper.selectPoolBlock(90); if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } redisService.deleteObject("MONALuck"); redisService.setCacheObject("MONALuck",dto); @@ -3414,7 +3414,7 @@ public class DataTask { int actualBlocks = poolMapper.selectPoolBlock(3); //3天幸运值 if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } //7天幸运值 useAggregated = blockPerDays.size() >= 7; @@ -3423,7 +3423,7 @@ public class DataTask { throreticalBlocks= getTheoreticalBlocks("rxd",PoolUnits.RXD.gethRate(),start7d, end, blockData); actualBlocks = poolMapper.selectPoolBlock(7); if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } //30天幸运值 useAggregated = blockPerDays.size() >= 30; @@ -3432,7 +3432,7 @@ public class DataTask { throreticalBlocks= getTheoreticalBlocks("rxd",PoolUnits.RXD.gethRate(),start30d, end, blockData); actualBlocks = poolMapper.selectPoolBlock(30); if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } //90天幸运值 @@ -3442,7 +3442,7 @@ public class DataTask { throreticalBlocks= getTheoreticalBlocks("rxd",PoolUnits.RXD.gethRate(),start90d, end, blockData); actualBlocks = poolMapper.selectPoolBlock(90); if(!BigDecimal.ZERO.equals(throreticalBlocks)){ - dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue()); + dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,4, RoundingMode.HALF_UP).doubleValue()); } redisService.deleteObject("RXDLuck"); redisService.setCacheObject("RXDLuck",dto); diff --git a/m2pool-modules/m2pool-pool/src/main/resources/mapper/pool/PoolMapper.xml b/m2pool-modules/m2pool-pool/src/main/resources/mapper/pool/PoolMapper.xml index 1d99780..ac557e3 100644 --- a/m2pool-modules/m2pool-pool/src/main/resources/mapper/pool/PoolMapper.xml +++ b/m2pool-modules/m2pool-pool/src/main/resources/mapper/pool/PoolMapper.xml @@ -889,7 +889,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT `date`,height FROM ${tableName} WHERE `date` >= DATE_SUB(CURDATE(),INTERVAL 90 DAY) ORDER BY `date` DESC