diff --git a/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/service/impl/ChatMessageServiceImpl.java b/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/service/impl/ChatMessageServiceImpl.java
index 9deb1ab..5575e47 100644
--- a/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/service/impl/ChatMessageServiceImpl.java
+++ b/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/service/impl/ChatMessageServiceImpl.java
@@ -1,5 +1,6 @@
 package com.m2pool.chat.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.m2pool.chat.dto.ChatMessageDto;
 import com.m2pool.chat.entity.ChatMessage;
 import com.m2pool.chat.entity.ChatRoom;
@@ -42,7 +43,13 @@ public class ChatMessageServiceImpl implements ChatMessageService {
 
     @Override
     public R<List<ChatMessageDto>> findRecentlyMessage(String email,Long id,Integer pageNum,Long roomId) {
-        ChatMessage chatMessage = chatMessageMapper.selectById(id);
+        ChatMessage chatMessage;
+        if(id != null && id != 0){
+            chatMessage = chatMessageMapper.selectById(id);
+        }else{
+            chatMessage = chatMessageMapper.selectOne(new LambdaQueryWrapper<ChatMessage>()
+                    .eq(ChatMessage::getRoomId, roomId).last("LIMIT 1"));
+        }
         List<ChatMessageDto> recentlyMessage;
         if(chatMessage != null){
             recentlyMessage  = chatMessageMapper.findRecentlyMessage(email,id, pageNum, roomId);
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 9328a70..227c12f 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
@@ -406,7 +406,7 @@ public class DataTask {
         LuckDto dto = new LuckDto();
         Date end =  DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD));
         //幸运值 = 矿池实际报块/矿池理论报块
-        //矿池实际报块 = 数据库查询表名为币名_pool_blkstats
+        //矿池实际报块 = distribution数据库查询表名为 币名_blkreportprofitv2
         //矿池理论报块 =  (矿池过去N段时间的平均算力 / 全网过去N段时间平均算力) * 全网过去N段时间实际报块
         Date start3d = DateUtils.addDays(end,-3);
         Date start7d = DateUtils.addDays(end,-7);
diff --git a/m2pool-modules/m2pool-pool/src/main/java/com/m2pool/pool/task/NodeTask.java b/m2pool-modules/m2pool-pool/src/main/java/com/m2pool/pool/task/NodeTask.java
index eb44a0a..f383829 100644
--- a/m2pool-modules/m2pool-pool/src/main/java/com/m2pool/pool/task/NodeTask.java
+++ b/m2pool-modules/m2pool-pool/src/main/java/com/m2pool/pool/task/NodeTask.java
@@ -514,12 +514,13 @@ public class NodeTask {
                 retryCount++;
                 if (retryCount >= maxRetries) {
                     log.error("插入区块 {} 数据失败,重试 {} 次后仍失败", blockName, maxRetries, e);
-                    throw e;
+                    break;
                 }
                 try {
                     Thread.sleep(500);
                 } catch (InterruptedException ie) {
                     Thread.currentThread().interrupt();
+                    break;
                 }
             }
         }
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 0cc6a06..0df0682 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
@@ -883,10 +883,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 
     <insert id="insertNetBlock">
-        insert into #{tableName} (`date`,`height`) values(#{date},#{height}) ON DUPLICATE KEY UPDATE `height` = VALUES(`height`)
+        insert into ${tableName} (`date`,`height`) values(#{date},#{height}) ON DUPLICATE KEY UPDATE `height` = VALUES(`height`)
     </insert>
     <select id="selectNetBlock" resultType="com.m2pool.pool.dto.BlockInfoDto">
-        SELECT `date`,height FROM #{tableName} WHERE `date` >= DATE_SUB(CURDATE(),INTERVAL 90 DAY) ORDER BY `date` DESC
+        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)