diff --git a/src/main/java/com/m2pool/lease/dto/OrderInfoDto.java b/src/main/java/com/m2pool/lease/dto/OrderInfoDto.java index 705ac25..c1c500d 100644 --- a/src/main/java/com/m2pool/lease/dto/OrderInfoDto.java +++ b/src/main/java/com/m2pool/lease/dto/OrderInfoDto.java @@ -118,6 +118,9 @@ public class OrderInfoDto { private BigDecimal powerRatio; + @ApiModelProperty(value = "算力单位") + private String unit; + /** * 订单详情 */ diff --git a/src/main/java/com/m2pool/lease/dto/OrderItemDto.java b/src/main/java/com/m2pool/lease/dto/OrderItemDto.java index 349c3e1..7b44901 100644 --- a/src/main/java/com/m2pool/lease/dto/OrderItemDto.java +++ b/src/main/java/com/m2pool/lease/dto/OrderItemDto.java @@ -101,5 +101,7 @@ public class OrderItemDto { @ApiModelProperty(value = "实际算力/理论算力 比值") private BigDecimal powerRatio; + @ApiModelProperty(value = "算力单位") + private String unit; } diff --git a/src/main/java/com/m2pool/lease/mapper/LeaseOrderMiningMapper.java b/src/main/java/com/m2pool/lease/mapper/LeaseOrderMiningMapper.java index f4c5213..cf84930 100644 --- a/src/main/java/com/m2pool/lease/mapper/LeaseOrderMiningMapper.java +++ b/src/main/java/com/m2pool/lease/mapper/LeaseOrderMiningMapper.java @@ -105,4 +105,15 @@ public interface LeaseOrderMiningMapper extends BaseMapper { */ @MiningDB List getRealTimeHashrate(@Param("tableName") String tableName, @Param("datetime") String datetime, @Param("list") List list); + + /** + * 获取指定时间范围内的算力数据 + * @param tableName 表名(如:2miners) + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param list 查询条件列表 + * @return 实时算力信息列表 + */ + @MiningDB + List getHashrateInRange(@Param("tableName") String tableName, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("list") List list); } diff --git a/src/main/java/com/m2pool/lease/redis/service/RedisService.java b/src/main/java/com/m2pool/lease/redis/service/RedisService.java index 2b1656b..810fa2c 100644 --- a/src/main/java/com/m2pool/lease/redis/service/RedisService.java +++ b/src/main/java/com/m2pool/lease/redis/service/RedisService.java @@ -310,7 +310,26 @@ public class RedisService { */ public void deleteCacheMapValue7(final Map keyFieldMap) { keyFieldMap.forEach((key, hKey) -> { - redisTemplate7.opsForHash().delete(key, hKey); + try { + // 先判断 key 是否存在 + if (redisTemplate7.hasKey(key)) { + // 检查 key 的类型是否为 Hash + org.springframework.data.redis.core.DataType dataType = redisTemplate7.type(key); + if (dataType == org.springframework.data.redis.core.DataType.HASH) { + // 再判断 hKey 是否存在 + if (redisTemplate7.opsForHash().hasKey(key, hKey)) { + redisTemplate7.opsForHash().delete(key, hKey); + } + } else { + System.out.println(String.format("警告: key %s 存在但类型为 %s,不是 Hash 类型,跳过删除 hKey %s", + key, dataType, hKey)); + } + } + } catch (Exception e) { + System.err.println(String.format("删除 Redis Hash 数据时出错: key=%s, hKey=%s, error=%s", + key, hKey, e.getMessage())); + // 不抛出异常,继续处理下一个 + } }); } diff --git a/src/main/java/com/m2pool/lease/service/impl/LeaseOrderInfoServiceImpl.java b/src/main/java/com/m2pool/lease/service/impl/LeaseOrderInfoServiceImpl.java index ad6214b..5fa3494 100644 --- a/src/main/java/com/m2pool/lease/service/impl/LeaseOrderInfoServiceImpl.java +++ b/src/main/java/com/m2pool/lease/service/impl/LeaseOrderInfoServiceImpl.java @@ -527,6 +527,8 @@ public class LeaseOrderInfoServiceImpl extends ServiceImpl del = 0 diff --git a/src/main/resources/mapper/lease/LeaseOrderMiningMapper.xml b/src/main/resources/mapper/lease/LeaseOrderMiningMapper.xml index 68a684f..ef0fb61 100644 --- a/src/main/resources/mapper/lease/LeaseOrderMiningMapper.xml +++ b/src/main/resources/mapper/lease/LeaseOrderMiningMapper.xml @@ -155,6 +155,27 @@ ) +