update 幸运值计算bug修改

This commit is contained in:
yyb 2025-05-19 15:12:39 +08:00
parent e3e7993134
commit 88ea456424
22 changed files with 112 additions and 106 deletions

View File

@ -48,12 +48,12 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
namespace: m2_prod namespace: m2_prod
group: m2_prod_group group: m2_prod_group
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -74,12 +74,12 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
namespace: m2_test namespace: m2_test
group: m2_test_group group: m2_test_group
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -48,7 +48,7 @@ public class IpUtils
ip = request.getRemoteAddr(); ip = request.getRemoteAddr();
} }
return "0:0:0:0:0:0:0:1".equals(ip) ? "10.168.2.150" : getMultistageReverseProxyIp(ip); return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : getMultistageReverseProxyIp(ip);
} }
/** /**
@ -60,7 +60,7 @@ public class IpUtils
public static boolean internalIp(String ip) public static boolean internalIp(String ip)
{ {
byte[] addr = textToNumericFormatV4(ip); byte[] addr = textToNumericFormatV4(ip);
return internalIp(addr) || "10.168.2.150".equals(ip); return internalIp(addr) || "127.0.0.1".equals(ip);
} }
/** /**
@ -209,7 +209,7 @@ public class IpUtils
catch (UnknownHostException e) catch (UnknownHostException e)
{ {
} }
return "10.168.2.150"; return "127.0.0.1";
} }
/** /**

View File

@ -180,7 +180,7 @@ public class ApiKeyFilter implements GlobalFilter,Ordered
private final static String UNKNOWN = "unknown"; private final static String UNKNOWN = "unknown";
// 本地 IP // 本地 IP
private final static String LOCALHOST_IP = "0:0:0:0:0:0:0:1"; private final static String LOCALHOST_IP = "0:0:0:0:0:0:0:1";
private final static String LOCALHOST_IP1 = "10.168.2.150"; private final static String LOCALHOST_IP1 = "127.0.0.1";
private static String getIP(ServerHttpRequest request){ private static String getIP(ServerHttpRequest request){
// 根据 HttpHeaders 获取 请求 IP地址 // 根据 HttpHeaders 获取 请求 IP地址

View File

@ -13,12 +13,12 @@ spring:
cloud: cloud:
nacos: nacos:
discovery: discovery:
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
namespace: m2_prod namespace: m2_prod
group: m2_prod_group group: m2_prod_group
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置
@ -31,12 +31,12 @@ spring:
eager: true eager: true
transport: transport:
# 控制台地址 # 控制台地址
dashboard: 10.168.2.150:8718 dashboard: 127.0.0.1:8718
# nacos配置持久化 # nacos配置持久化
datasource: datasource:
ds1: ds1:
nacos: nacos:
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
dataId: sentinel-m2pool-gateway dataId: sentinel-m2pool-gateway
groupId: m2_prod_group groupId: m2_prod_group
data-type: json data-type: json

View File

@ -13,12 +13,12 @@ spring:
cloud: cloud:
nacos: nacos:
discovery: discovery:
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
namespace: m2_test namespace: m2_test
group: m2_test_group group: m2_test_group
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置
@ -31,12 +31,12 @@ spring:
eager: true eager: true
transport: transport:
# 控制台地址 # 控制台地址
dashboard: 10.168.2.150:8718 dashboard: 127.0.0.1:8718
# nacos配置持久化 # nacos配置持久化
datasource: datasource:
ds1: ds1:
nacos: nacos:
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
dataId: sentinel-m2pool-gateway dataId: sentinel-m2pool-gateway
groupId: m2_test_group groupId: m2_test_group
data-type: json data-type: json

View File

@ -169,7 +169,7 @@
<id>dev</id> <id>dev</id>
<properties> <properties>
<spring.profile>dev</spring.profile> <spring.profile>dev</spring.profile>
<nacos.server.address>10.168.2.150:8808</nacos.server.address> <nacos.server.address>127.0.0.1:8808</nacos.server.address>
</properties> </properties>
<activation> <activation>
<!-- 是否默认激活 --> <!-- 是否默认激活 -->
@ -181,7 +181,7 @@
<id>test</id> <id>test</id>
<properties> <properties>
<spring.profile>test</spring.profile> <spring.profile>test</spring.profile>
<nacos.server.address>10.168.2.150:8808</nacos.server.address> <nacos.server.address>127.0.0.1:8808</nacos.server.address>
</properties> </properties>
<activation> <activation>
<activeByDefault>false</activeByDefault> <activeByDefault>false</activeByDefault>
@ -192,7 +192,7 @@
<id>prod</id> <id>prod</id>
<properties> <properties>
<spring.profile>prod</spring.profile> <spring.profile>prod</spring.profile>
<nacos.server.address>10.168.2.150:8808</nacos.server.address> <nacos.server.address>127.0.0.1:8808</nacos.server.address>
</properties> </properties>
<activation> <activation>
<activeByDefault>false</activeByDefault> <activeByDefault>false</activeByDefault>

View File

@ -50,14 +50,14 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
namespace: m2_prod namespace: m2_prod
group: m2_prod_group group: m2_prod_group
# server-addr: 10.168.2.150:8808 # server-addr: 127.0.0.1:8808
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
# server-addr: 10.168.2.150:8808 # server-addr: 127.0.0.1:8808
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -19,14 +19,14 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
namespace: m2_test namespace: m2_test
group: m2_test_group group: m2_test_group
# server-addr: 10.168.2.150:8808 # server-addr: 127.0.0.1:8808
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
# server-addr: 10.168.2.150:8808 # server-addr: 127.0.0.1:8808
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -11,12 +11,12 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
namespace: m2_test namespace: m2_test
group: m2_test_group group: m2_test_group
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -107,7 +107,7 @@
<id>dev</id> <id>dev</id>
<properties> <properties>
<spring.profile>dev</spring.profile> <spring.profile>dev</spring.profile>
<nacos.server.address>10.168.2.150:8808</nacos.server.address> <nacos.server.address>127.0.0.1:8808</nacos.server.address>
</properties> </properties>
<activation> <activation>
<!-- 是否默认激活 --> <!-- 是否默认激活 -->
@ -119,7 +119,7 @@
<id>test</id> <id>test</id>
<properties> <properties>
<spring.profile>test</spring.profile> <spring.profile>test</spring.profile>
<nacos.server.address>10.168.2.150:8808</nacos.server.address> <nacos.server.address>127.0.0.1:8808</nacos.server.address>
</properties> </properties>
<activation> <activation>
<activeByDefault>false</activeByDefault> <activeByDefault>false</activeByDefault>
@ -130,7 +130,7 @@
<id>prod</id> <id>prod</id>
<properties> <properties>
<spring.profile>prod</spring.profile> <spring.profile>prod</spring.profile>
<nacos.server.address>10.168.2.150:8808</nacos.server.address> <nacos.server.address>127.0.0.1:8808</nacos.server.address>
</properties> </properties>
<activation> <activation>
<activeByDefault>false</activeByDefault> <activeByDefault>false</activeByDefault>

View File

@ -50,14 +50,14 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
namespace: m2_prod namespace: m2_prod
group: m2_prod_group group: m2_prod_group
# server-addr: 10.168.2.150:8808 # server-addr: 127.0.0.1:8808
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
# server-addr: 10.168.2.150:8808 # server-addr: 127.0.0.1:8808
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置
@ -129,14 +129,14 @@ myenv:
# nacos: # nacos:
# discovery: # discovery:
# # 服务注册地址 # # 服务注册地址
# server-addr: 10.168.2.150:8808 # server-addr: 127.0.0.1:8808
# namespace: m2_test # namespace: m2_test
# group: m2_test_group # group: m2_test_group
# # server-addr: 10.168.2.150:8808 # # server-addr: 127.0.0.1:8808
# config: # config:
# # 配置中心地址 # # 配置中心地址
# server-addr: 10.168.2.150:8808 # server-addr: 127.0.0.1:8808
# # server-addr: 10.168.2.150:8808 # # server-addr: 127.0.0.1:8808
# # 配置文件格式 # # 配置文件格式
# file-extension: yml # file-extension: yml
# # 共享配置 # # 共享配置

View File

@ -164,7 +164,7 @@
<id>dev</id> <id>dev</id>
<properties> <properties>
<spring.profile>dev</spring.profile> <spring.profile>dev</spring.profile>
<nacos.server.address>10.168.2.150:8808</nacos.server.address> <nacos.server.address>127.0.0.1:8808</nacos.server.address>
</properties> </properties>
<activation> <activation>
<!-- 是否默认激活 --> <!-- 是否默认激活 -->
@ -176,7 +176,7 @@
<id>test</id> <id>test</id>
<properties> <properties>
<spring.profile>test</spring.profile> <spring.profile>test</spring.profile>
<nacos.server.address>10.168.2.150:8808</nacos.server.address> <nacos.server.address>127.0.0.1:8808</nacos.server.address>
</properties> </properties>
<activation> <activation>
<activeByDefault>false</activeByDefault> <activeByDefault>false</activeByDefault>
@ -187,7 +187,7 @@
<id>prod</id> <id>prod</id>
<properties> <properties>
<spring.profile>prod</spring.profile> <spring.profile>prod</spring.profile>
<nacos.server.address>10.168.2.150:8808</nacos.server.address> <nacos.server.address>127.0.0.1:8808</nacos.server.address>
</properties> </properties>
<activation> <activation>
<activeByDefault>false</activeByDefault> <activeByDefault>false</activeByDefault>

View File

@ -12,9 +12,9 @@ public enum NodeConfig {
DGBS("dgbs", "13.214.176.64", "14022", "test", "test"), DGBS("dgbs", "13.214.176.64", "14022", "test", "test"),
DGBQ("dgbq", "13.214.176.64", "14022", "test", "test"), DGBQ("dgbq", "13.214.176.64", "14022", "test", "test"),
DGBO("dgbo", "13.214.176.64", "14022", "test", "test"), DGBO("dgbo", "13.214.176.64", "14022", "test", "test"),
DGB_QUBIT_A10("dgb_qubit_a10", "10.168.2.150", "3306", "user", "pwd"), DGB_QUBIT_A10("dgb_qubit_a10", "127.0.0.1", "3306", "user", "pwd"),
DGB_SKEIN_A10("dgb_skein_a10", "10.168.2.150", "3306", "user", "pwd"), DGB_SKEIN_A10("dgb_skein_a10", "127.0.0.1", "3306", "user", "pwd"),
DGB_ODO_B20("dgb_odo_b20", "10.168.2.150", "3306", "user", "pwd"), DGB_ODO_B20("dgb_odo_b20", "127.0.0.1", "3306", "user", "pwd"),
NEXA("nexa", "18.139.85.190", "7227", "test", "test"), NEXA("nexa", "18.139.85.190", "7227", "test", "test"),
RXD("rxd", "13.214.176.64", "7332", "test", "test"), RXD("rxd", "13.214.176.64", "7332", "test", "test"),
ALPH("alph", "18.141.161.129", "12973", "test", "test"), ALPH("alph", "18.141.161.129", "12973", "test", "test"),

View File

@ -35,16 +35,16 @@ public class DetailedBlockDataV1Strategy implements PoolBlockDataStrategy {
BigDecimal nexaCount = getCoinCount(coin); BigDecimal nexaCount = getCoinCount(coin);
long diffInMillis = end.getTime() - start.getTime(); long diffInMillis = end.getTime() - start.getTime();
BigDecimal dateLength2 = BigDecimal.valueOf(diffInMillis).divide(BigDecimal.valueOf(86400000), 0, RoundingMode.HALF_UP); BigDecimal dateLength2 = BigDecimal.valueOf(diffInMillis).divide(BigDecimal.valueOf(86400000), 0, RoundingMode.HALF_UP);
Date poolStart = blockPerDays.get(blockPerDays.size() - 1).getDate();
//获取时间段内全网的实际报块数 //获取时间段内全网的实际报块数
int height = dateLength2.multiply(nexaCount).intValue(); int height = dateLength2.multiply(nexaCount).intValue();
//天数不足时以实际天数计算 //天数不足时以实际天数计算
if(poolStart.after(start)){ //Date poolStart = blockPerDays.get(blockPerDays.size() - 1).getDate();
dateLength2 = dateLength2 //if(poolStart.after(start)){
.subtract(BigDecimal.valueOf(poolStart.getTime() - start.getTime()) // dateLength2 = dateLength2
.divide(BigDecimal.valueOf(86400000), 2, RoundingMode.HALF_UP)); // .subtract(BigDecimal.valueOf(poolStart.getTime() - start.getTime())
height = dateLength2.multiply(nexaCount).intValue(); // .divide(BigDecimal.valueOf(86400000), 2, RoundingMode.HALF_UP));
} // height = dateLength2.multiply(nexaCount).intValue();
//}
return BlockTimeAndNumberDto.builder().dateLength(dateLength2).height(height).build(); return BlockTimeAndNumberDto.builder().dateLength(dateLength2).height(height).build();
} }
} }

View File

@ -25,7 +25,7 @@ public class DetailedBlockDataV2Strategy implements PoolBlockDataStrategy {
@Override @Override
public BlockTimeAndNumberDto getTotalBlocks(String coin,Date start, Date end, List<BlockInfoDto> blockPerDays) { public BlockTimeAndNumberDto getTotalBlocks(String coin,Date start, Date end, List<BlockInfoDto> blockPerDays) {
List<BlockInfoDto> collect = blockPerDays.stream() List<BlockInfoDto> collect = blockPerDays.stream()
.filter(e -> (e.getDate().before(end))) .filter(e -> (e.getDate().before(end)) || e.getDate().equals(end))
.filter(e -> (e.getDate().after(start) || e.getDate().equals(start))) .filter(e -> (e.getDate().after(start) || e.getDate().equals(start)))
.collect(Collectors.toList()); .collect(Collectors.toList());

View File

@ -404,7 +404,8 @@ public class DataTask {
} }
@Scheduled(cron = "30 2,5 0/12 * * ?") //@Scheduled(cron = "30 2,5 0 * * ?")
@Scheduled(cron = "0 0/2 * * * ?")
public void NEXALuckyDataToDB(){ public void NEXALuckyDataToDB(){
log.info("nexa幸运值---定时任务开始"); log.info("nexa幸运值---定时任务开始");
LuckDto dto = new LuckDto(); LuckDto dto = new LuckDto();
@ -427,42 +428,47 @@ public class DataTask {
BigDecimal throreticalBlocks = getTheoreticalBlocks("nexa",PoolUnits.NEXA.gethRate(),start3d, end, blockData); BigDecimal throreticalBlocks = getTheoreticalBlocks("nexa",PoolUnits.NEXA.gethRate(),start3d, end, blockData);
//3天矿池实际报块数 //3天矿池实际报块数
int actualBlocks = poolMapper.selectPoolBlock(3); int actualBlocks = poolMapper.selectPoolBlock(3);
log.info("nexa 3天实际报块数{},理论报块数{}",actualBlocks,throreticalBlocks);
//3天幸运值 //3天幸运值
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
//7天幸运值 //7天幸运值
useAggregated = blockPerDays.size() >= 7; useAggregated = blockPerDays.size() >= 7;
blockData = blockDataContext.getBlockData("nexa",start7d, end,blockPerDays, useAggregated); blockData = blockDataContext.getBlockData("nexa",start7d, end,blockPerDays, useAggregated);
throreticalBlocks= getTheoreticalBlocks("nexa",PoolUnits.NEXA.gethRate(),start7d, end, blockData); throreticalBlocks= getTheoreticalBlocks("nexa",PoolUnits.NEXA.gethRate(),start7d, end, blockData);
actualBlocks = poolMapper.selectPoolBlock(7); actualBlocks = poolMapper.selectPoolBlock(7);
log.info("nexa 7天实际报块数{},理论报块数{}",actualBlocks,throreticalBlocks);
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
//30天幸运值 //30天幸运值
useAggregated = blockPerDays.size() >= 30; useAggregated = blockPerDays.size() >= 30;
blockData = blockDataContext.getBlockData("nexa",start30d, end,blockPerDays, useAggregated); blockData = blockDataContext.getBlockData("nexa",start30d, end,blockPerDays, useAggregated);
throreticalBlocks= getTheoreticalBlocks("nexa",PoolUnits.NEXA.gethRate(),start30d, end, blockData); throreticalBlocks= getTheoreticalBlocks("nexa",PoolUnits.NEXA.gethRate(),start30d, end, blockData);
actualBlocks = poolMapper.selectPoolBlock(30); actualBlocks = poolMapper.selectPoolBlock(30);
log.info("nexa 30天实际报块数{},理论报块数{}",actualBlocks,throreticalBlocks);
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
//90天幸运值 //90天幸运值
useAggregated = blockPerDays.size() >= 90; useAggregated = blockPerDays.size() >= 90;
blockData = blockDataContext.getBlockData("nexa",start90d, end,blockPerDays, useAggregated); blockData = blockDataContext.getBlockData("nexa",start90d, end,blockPerDays, useAggregated);
throreticalBlocks= getTheoreticalBlocks("nexa",PoolUnits.NEXA.gethRate(),start90d, end, blockData); throreticalBlocks= getTheoreticalBlocks("nexa",PoolUnits.NEXA.gethRate(),start90d, end, blockData);
actualBlocks = poolMapper.selectPoolBlock(90); actualBlocks = poolMapper.selectPoolBlock(90);
log.info("nexa 90天实际报块数{},理论报块数{}",actualBlocks,throreticalBlocks);
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
redisService.deleteObject("NEXALuck"); redisService.deleteObject("NEXALuck");
redisService.setCacheObject("NEXALuck",dto); redisService.setCacheObject("NEXALuck",dto);
log.info("nexa幸运值入库完成---幸运值3天{},幸运值7天{},幸运值30天{},幸运值90天{},", log.info("nexa幸运值入库完成---幸运值3天{},幸运值7天{},幸运值30天{},幸运值90天{},",
dto.getLuck3d(),dto.getLuck7d(),dto.getLuck30d(),dto.getLuck90d()); dto.getLuck3d(),dto.getLuck7d(),dto.getLuck30d(),dto.getLuck90d());
} }
@ -840,7 +846,7 @@ public class DataTask {
} }
//@Scheduled(cron = "30 2,7 0,12 * * ?") //@Scheduled(cron = "30 2,7 0,12 * * ?")
@Scheduled(cron = "31 2,5 0/12 * * ?") @Scheduled(cron = "31 2,5 0 * * ?")
public void GRSLuckyDataToDB(){ public void GRSLuckyDataToDB(){
log.info("GRS幸运值---定时任务开始"); log.info("GRS幸运值---定时任务开始");
LuckDto dto = new LuckDto(); LuckDto dto = new LuckDto();
@ -865,25 +871,25 @@ public class DataTask {
int actualBlocks = poolMapper.selectPoolBlock(3); int actualBlocks = poolMapper.selectPoolBlock(3);
//3天幸运值 //3天幸运值
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
//7天幸运值 //7天幸运值
useAggregated = blockPerDays.size() >= 7; useAggregated = blockPerDays.size() >= 7;
blockData = blockDataContext.getBlockData("grs",start7d, end,blockPerDays, useAggregated); blockData = blockDataContext.getBlockData("grs",start7d, end,blockPerDays, useAggregated);
throreticalBlocks= getTheoreticalBlocks("grs",PoolUnits.GRS.gethRate(),start7d, end, blockData); throreticalBlocks= getTheoreticalBlocks("grs",PoolUnits.GRS.gethRate(),start7d, end, blockData);
actualBlocks = poolMapper.selectPoolBlock(7); actualBlocks = poolMapper.selectPoolBlock(7);
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
//30天幸运值 //30天幸运值
useAggregated = blockPerDays.size() >= 30; useAggregated = blockPerDays.size() >= 30;
blockData = blockDataContext.getBlockData("grs",start30d, end,blockPerDays, useAggregated); blockData = blockDataContext.getBlockData("grs",start30d, end,blockPerDays, useAggregated);
throreticalBlocks= getTheoreticalBlocks("grs",PoolUnits.GRS.gethRate(),start30d, end, blockData); throreticalBlocks= getTheoreticalBlocks("grs",PoolUnits.GRS.gethRate(),start30d, end, blockData);
actualBlocks = poolMapper.selectPoolBlock(30); actualBlocks = poolMapper.selectPoolBlock(30);
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
//90天幸运值 //90天幸运值
@ -892,13 +898,13 @@ public class DataTask {
throreticalBlocks= getTheoreticalBlocks("grs",PoolUnits.GRS.gethRate(),start90d, end, blockData); throreticalBlocks= getTheoreticalBlocks("grs",PoolUnits.GRS.gethRate(),start90d, end, blockData);
actualBlocks = poolMapper.selectPoolBlock(90); actualBlocks = poolMapper.selectPoolBlock(90);
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
redisService.deleteObject("GRSLuck"); redisService.deleteObject("GRSLuck");
redisService.setCacheObject("GRSLuck",dto); redisService.setCacheObject("GRSLuck",dto);
log.info("grs幸运值入库完成---幸运值3天{},幸运值7天{},幸运值30天{},幸运值90天{},", log.info("grs幸运值入库完成---幸运值3天{},幸运值7天{},幸运值30天{},幸运值90天{},",
dto.getLuck3d(),dto.getLuck7d(),dto.getLuck30d(),dto.getLuck90d());; dto.getLuck3d(),dto.getLuck7d(),dto.getLuck30d(),dto.getLuck90d());;
} }
@ -1250,7 +1256,7 @@ public class DataTask {
} }
//@Scheduled(cron = "30 2,7 0,12 * * ?") //@Scheduled(cron = "30 2,7 0,12 * * ?")
@Scheduled(cron = "32 2,5 0/12 * * ?") @Scheduled(cron = "32 2,5 0 * * ?")
public void MONALuckyDataToDB(){ public void MONALuckyDataToDB(){
log.info("MONA幸运值---定时任务开始"); log.info("MONA幸运值---定时任务开始");
LuckDto dto = new LuckDto(); LuckDto dto = new LuckDto();
@ -1266,11 +1272,11 @@ public class DataTask {
//获取全网实际90天内的报块数(v2) //获取全网实际90天内的报块数(v2)
List<BlockInfoDto> blockPerDays = poolMapper.selectNetBlock("mona_net_block"); List<BlockInfoDto> blockPerDays = poolMapper.selectNetBlock("mona_net_block");
boolean useAggregated = blockPerDays.size() >= 3; boolean useAggregated = blockPerDays.size() >= 3;
//获取3天内全网的实际报块数 //获取3天内全网的实际报块数
BlockTimeAndNumberDto blockData = blockDataContext.getBlockData("mona",start3d, end,blockPerDays, useAggregated); BlockTimeAndNumberDto blockData = blockDataContext.getBlockData("mona",start3d, end,blockPerDays, useAggregated);
//3天矿池理论报块数 //3天矿池理论报块数
BigDecimal throreticalBlocks= getTheoreticalBlocks("mona",PoolUnits.MONA.gethRate(),start3d, end, blockData); BigDecimal throreticalBlocks= getTheoreticalBlocks("mona",PoolUnits.MONA.gethRate(),start3d, end, blockData);
@ -1279,35 +1285,35 @@ public class DataTask {
int actualBlocks = poolMapper.selectPoolBlock(3); int actualBlocks = poolMapper.selectPoolBlock(3);
//3天幸运值 //3天幸运值
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
//7天幸运值 //7天幸运值
useAggregated = blockPerDays.size() >= 7; useAggregated = blockPerDays.size() >= 7;
blockData = blockDataContext.getBlockData("mona",start7d, end,blockPerDays, useAggregated); blockData = blockDataContext.getBlockData("mona",start7d, end,blockPerDays, useAggregated);
throreticalBlocks= getTheoreticalBlocks("mona",PoolUnits.MONA.gethRate(),start7d, end, blockData); throreticalBlocks= getTheoreticalBlocks("mona",PoolUnits.MONA.gethRate(),start7d, end, blockData);
actualBlocks = poolMapper.selectPoolBlock(7); actualBlocks = poolMapper.selectPoolBlock(7);
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
//30天幸运值 //30天幸运值
useAggregated = blockPerDays.size() >= 30; useAggregated = blockPerDays.size() >= 30;
blockData = blockDataContext.getBlockData("mona",start30d, end,blockPerDays, useAggregated); blockData = blockDataContext.getBlockData("mona",start30d, end,blockPerDays, useAggregated);
throreticalBlocks= getTheoreticalBlocks("nexa",PoolUnits.MONA.gethRate(),start30d, end, blockData); throreticalBlocks= getTheoreticalBlocks("nexa",PoolUnits.MONA.gethRate(),start30d, end, blockData);
actualBlocks = poolMapper.selectPoolBlock(30); actualBlocks = poolMapper.selectPoolBlock(30);
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
//90天幸运值 //90天幸运值
useAggregated = blockPerDays.size() >= 90; useAggregated = blockPerDays.size() >= 90;
blockData = blockDataContext.getBlockData("mona",start90d, end,blockPerDays, useAggregated); blockData = blockDataContext.getBlockData("mona",start90d, end,blockPerDays, useAggregated);
throreticalBlocks= getTheoreticalBlocks("mona",PoolUnits.MONA.gethRate(),start90d, end, blockData); throreticalBlocks= getTheoreticalBlocks("mona",PoolUnits.MONA.gethRate(),start90d, end, blockData);
actualBlocks = poolMapper.selectPoolBlock(90); actualBlocks = poolMapper.selectPoolBlock(90);
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
redisService.deleteObject("MONALuck"); redisService.deleteObject("MONALuck");
redisService.setCacheObject("MONALuck",dto); redisService.setCacheObject("MONALuck",dto);
@ -3379,7 +3385,7 @@ public class DataTask {
} }
//@Scheduled(cron = "30 2,7 0,12 * * ?") //@Scheduled(cron = "30 2,7 0,12 * * ?")
@Scheduled(cron = "39 2,5 0/12 * * ?") @Scheduled(cron = "39 2,5 0 * * ?")
public void RXDLuckyDataToDB(){ public void RXDLuckyDataToDB(){
log.info("rxd幸运值---定时任务开始"); log.info("rxd幸运值---定时任务开始");
LuckDto dto = new LuckDto(); LuckDto dto = new LuckDto();
@ -3395,11 +3401,11 @@ public class DataTask {
//获取全网实际90天内的报块数(v2) //获取全网实际90天内的报块数(v2)
List<BlockInfoDto> blockPerDays = poolMapper.selectNetBlock("rxd_net_block"); List<BlockInfoDto> blockPerDays = poolMapper.selectNetBlock("rxd_net_block");
boolean useAggregated = blockPerDays.size() >= 3; boolean useAggregated = blockPerDays.size() >= 3;
//获取3天内全网的实际报块数 //获取3天内全网的实际报块数
BlockTimeAndNumberDto blockData = blockDataContext.getBlockData("rxd",start3d, end,blockPerDays, useAggregated); BlockTimeAndNumberDto blockData = blockDataContext.getBlockData("rxd",start3d, end,blockPerDays, useAggregated);
//3天矿池理论报块数 //3天矿池理论报块数
BigDecimal throreticalBlocks= getTheoreticalBlocks("rxd",PoolUnits.RXD.gethRate(),start3d, end, blockData); BigDecimal throreticalBlocks= getTheoreticalBlocks("rxd",PoolUnits.RXD.gethRate(),start3d, end, blockData);
@ -3408,39 +3414,39 @@ public class DataTask {
int actualBlocks = poolMapper.selectPoolBlock(3); int actualBlocks = poolMapper.selectPoolBlock(3);
//3天幸运值 //3天幸运值
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck3d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
//7天幸运值 //7天幸运值
useAggregated = blockPerDays.size() >= 7; useAggregated = blockPerDays.size() >= 7;
blockData = blockDataContext.getBlockData("rxd",start7d, end,blockPerDays, useAggregated); blockData = blockDataContext.getBlockData("rxd",start7d, end,blockPerDays, useAggregated);
throreticalBlocks= getTheoreticalBlocks("rxd",PoolUnits.RXD.gethRate(),start7d, end, blockData); throreticalBlocks= getTheoreticalBlocks("rxd",PoolUnits.RXD.gethRate(),start7d, end, blockData);
actualBlocks = poolMapper.selectPoolBlock(7); actualBlocks = poolMapper.selectPoolBlock(7);
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck7d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
//30天幸运值 //30天幸运值
useAggregated = blockPerDays.size() >= 30; useAggregated = blockPerDays.size() >= 30;
blockData = blockDataContext.getBlockData("rxd",start30d, end,blockPerDays, useAggregated); blockData = blockDataContext.getBlockData("rxd",start30d, end,blockPerDays, useAggregated);
throreticalBlocks= getTheoreticalBlocks("rxd",PoolUnits.RXD.gethRate(),start30d, end, blockData); throreticalBlocks= getTheoreticalBlocks("rxd",PoolUnits.RXD.gethRate(),start30d, end, blockData);
actualBlocks = poolMapper.selectPoolBlock(30); actualBlocks = poolMapper.selectPoolBlock(30);
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck30d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
//90天幸运值 //90天幸运值
useAggregated = blockPerDays.size() >= 90; useAggregated = blockPerDays.size() >= 90;
blockData = blockDataContext.getBlockData("rxd",start90d, end,blockPerDays, useAggregated); blockData = blockDataContext.getBlockData("rxd",start90d, end,blockPerDays, useAggregated);
throreticalBlocks= getTheoreticalBlocks("rxd",PoolUnits.RXD.gethRate(),start90d, end, blockData); throreticalBlocks= getTheoreticalBlocks("rxd",PoolUnits.RXD.gethRate(),start90d, end, blockData);
actualBlocks = poolMapper.selectPoolBlock(90); actualBlocks = poolMapper.selectPoolBlock(90);
if(!BigDecimal.ZERO.equals(throreticalBlocks)){ if(!BigDecimal.ZERO.equals(throreticalBlocks)){
dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,8, RoundingMode.HALF_UP).doubleValue()); dto.setLuck90d(BigDecimal.valueOf(actualBlocks).divide(throreticalBlocks,2, RoundingMode.HALF_UP).doubleValue());
} }
redisService.deleteObject("RXDLuck"); redisService.deleteObject("RXDLuck");
redisService.setCacheObject("RXDLuck",dto); redisService.setCacheObject("RXDLuck",dto);
log.info("rxd幸运值入库完成---幸运值3天{},幸运值7天{},幸运值30天{},幸运值90天{},", log.info("rxd幸运值入库完成---幸运值3天{},幸运值7天{},幸运值30天{},幸运值90天{},",
dto.getLuck3d(),dto.getLuck7d(),dto.getLuck30d(),dto.getLuck90d()); dto.getLuck3d(),dto.getLuck7d(),dto.getLuck30d(),dto.getLuck90d());
} }

View File

@ -47,14 +47,14 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 172.16.2.5 # 服务注册地址 172.16.2.5
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
namespace: m2_prod namespace: m2_prod
group: m2_prod_group group: m2_prod_group
# server-addr: 10.168.2.150:8808 # server-addr: 127.0.0.1:8808
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
# server-addr: 10.168.2.150:8808 # server-addr: 127.0.0.1:8808
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -47,14 +47,14 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 172.16.2.5 # 服务注册地址 172.16.2.5
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
namespace: m2_test namespace: m2_test
group: m2_test_group group: m2_test_group
# server-addr: 10.168.2.150:8808 # server-addr: 127.0.0.1:8808
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
# server-addr: 10.168.2.150:8808 # server-addr: 127.0.0.1:8808
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -11,12 +11,12 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
namespace: m2_prod namespace: m2_prod
group: m2_prod_group group: m2_prod_group
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -9,12 +9,12 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
namespace: m2_test namespace: m2_test
group: m2_test_group group: m2_test_group
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 10.168.2.150:8808 server-addr: 127.0.0.1:8808
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置