update 幸运值计算bug修改
This commit is contained in:
parent
88ea456424
commit
86bb162b16
|
@ -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();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
</select>
|
||||
<select id="selectPoolBlock" resultType="java.lang.Integer">
|
||||
SELECT count(*) FROM nexa_blkreportprofitv2 WHERE `date` >= DATE_SUB(CURDATE(),INTERVAL #{reduce} DAY)
|
||||
SELECT count(*) FROM nexa_blkreportprofitv2 WHERE `date` >= DATE_SUB(CURDATE(),INTERVAL #{reduce}-1 DAY)
|
||||
</select>
|
||||
<select id="getAvgPowerForPool" resultType="com.m2pool.pool.dto.DateBigDecimalDto">
|
||||
select avg(mhs) `value` from ${coin}_pool_30m
|
||||
|
|
Loading…
Reference in New Issue