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