From 80b15dcf5bb3c3e5729a6186418a1fc413063001 Mon Sep 17 00:00:00 2001 From: yyb <1416014977@qq.com> Date: Wed, 20 Aug 2025 11:16:58 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=81=8A=E5=A4=A9=E5=AE=A4=E8=AF=AF?= =?UTF-8?q?=E5=88=A0=E5=AE=A2=E6=9C=8Dbug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/redis/service/RedisService.java | 26 +++++++++++++++++++ .../chat/listener/WebSocketEventListener.java | 6 +++-- .../m2pool/chat/mapper/ChatRoomMapper.java | 8 ++++-- .../service/impl/ChatRoomServiceImpl.java | 11 +------- .../resources/mapper/chat/ChatRoomMapper.xml | 8 ++++++ .../m2pool/manage/utils/TranslateUtils.java | 9 ++++++- 6 files changed, 53 insertions(+), 15 deletions(-) diff --git a/m2pool-common/common-redis/src/main/java/com/m2pool/common/redis/service/RedisService.java b/m2pool-common/common-redis/src/main/java/com/m2pool/common/redis/service/RedisService.java index 8223447..1bdbd85 100644 --- a/m2pool-common/common-redis/src/main/java/com/m2pool/common/redis/service/RedisService.java +++ b/m2pool-common/common-redis/src/main/java/com/m2pool/common/redis/service/RedisService.java @@ -7,6 +7,7 @@ import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Component; +import java.math.BigDecimal; import java.util.*; import java.util.concurrent.TimeUnit; @@ -117,6 +118,31 @@ public class RedisService { return operation.get(key); } + /** + * 所有数字类型转换为BigDecimal + * @param key 缓存键值 + * @return 缓存键值对应数据 + */ + public BigDecimal getCacheBigDecimal(final String key) { + ValueOperations operation = redisTemplate.opsForValue(); + Object value = operation.get(key); + if (value != null) { + if (value instanceof BigDecimal) { + return (BigDecimal) value; + } else if (value instanceof String) { + try { + return new BigDecimal((String) value); + } catch (NumberFormatException e) { + // 处理字符串无法转换为 BigDecimal 的情况 + return null; + } + } else if (value instanceof Number) { + return new BigDecimal(value.toString()); + } + } + return null; + } + /** * 删除单个对象 * diff --git a/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/listener/WebSocketEventListener.java b/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/listener/WebSocketEventListener.java index cba6736..5a7ff67 100644 --- a/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/listener/WebSocketEventListener.java +++ b/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/listener/WebSocketEventListener.java @@ -48,8 +48,10 @@ public class WebSocketEventListener implements ApplicationListener().eq(ChatRoom::getUserOneEmail, user.getName())); - int delete1 = chatMessageMapper.delete(new LambdaUpdateWrapper().eq(ChatMessage::getSendEmail, user.getName())); + int delete = chatRoomMapper.delete(new LambdaUpdateWrapper() + .eq(ChatRoom::getUserOneEmail, user.getName()).like(ChatRoom::getUserOneEmail, "guest_")); + int delete1 = chatMessageMapper.delete(new LambdaUpdateWrapper() + .eq(ChatMessage::getSendEmail, user.getName()).like(ChatMessage::getSendEmail, "guest_")); LOGGER.info("删除游客聊天室个数:{},消息个数{}", delete,delete1); } diff --git a/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/mapper/ChatRoomMapper.java b/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/mapper/ChatRoomMapper.java index b87a78b..253b29b 100644 --- a/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/mapper/ChatRoomMapper.java +++ b/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/mapper/ChatRoomMapper.java @@ -30,6 +30,10 @@ public interface ChatRoomMapper extends BaseMapper { */ ChatRoomDto findRoomByUserEmail(@Param("userEmail") String userEmail); - - + /** + * 新增或修改聊天室 + * @param room + * @return + */ + int insetOrUpdateRoom(@Param("room") ChatRoom room); } diff --git a/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/service/impl/ChatRoomServiceImpl.java b/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/service/impl/ChatRoomServiceImpl.java index 7f2b57a..63664d5 100644 --- a/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/service/impl/ChatRoomServiceImpl.java +++ b/m2pool-modules/m2pool-chat/src/main/java/com/m2pool/chat/service/impl/ChatRoomServiceImpl.java @@ -152,16 +152,7 @@ public class ChatRoomServiceImpl extends ServiceImpl i .userTwoEmail(email) .build(); try{ - ChatRoom chatRoom = chatRoomMapper.selectOne(new LambdaQueryWrapper() - .eq(ChatRoom::getUserOneEmail, userEmail).eq(ChatRoom::getUserTwoEmail, email)); - if (chatRoom != null){ - return R.success(ChatRoomDto.builder() - .id(chatRoom.getId()) - .selfEmail(userEmail) - .customerIsOnline(customerIsOnline) - .userEmail(chatRoom.getUserTwoEmail()).build()); - } - int insert = chatRoomMapper.insert(build); + int insert = chatRoomMapper.insetOrUpdateRoom(build); if (insert > 0){ return R.success(ChatRoomDto.builder() .id(build.getId()) diff --git a/m2pool-modules/m2pool-chat/src/main/resources/mapper/chat/ChatRoomMapper.xml b/m2pool-modules/m2pool-chat/src/main/resources/mapper/chat/ChatRoomMapper.xml index eaaee2b..4686e1a 100644 --- a/m2pool-modules/m2pool-chat/src/main/resources/mapper/chat/ChatRoomMapper.xml +++ b/m2pool-modules/m2pool-chat/src/main/resources/mapper/chat/ChatRoomMapper.xml @@ -43,4 +43,12 @@ WHERE user_one_email = #{userEmail} + + INSERT INTO chat_room(user_one_email,user_two_email) + VALUES (#{room.userOneEmail},#{room.userTwoEmail}) + ON DUPLICATE KEY UPDATE + user_one_email = #{room.userOneEmail}, + user_two_email = #{room.userTwoEmail} + + diff --git a/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/utils/TranslateUtils.java b/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/utils/TranslateUtils.java index 8a2e1af..c79d1c5 100644 --- a/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/utils/TranslateUtils.java +++ b/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/utils/TranslateUtils.java @@ -198,7 +198,14 @@ public class TranslateUtils { public static void main(String[] args) { - translateHtml("

\"\" Nexa 挖矿教程 


选择挖矿地址

  币种  最小起付额TCP 端口SSL 端口
\"\" Nexa10000stratum+tcp://nexa.m2pool.com:33333
stratum+ssl://nexa.m2pool.com:33335


适配性

币种GPU挖矿软件ASIC矿机型号
\"\" Nexabzminer、lolminer、Rigel、WildRig龍珠A21

注意:如果您的GPU挖矿软件或ASIC矿机与m2pool无法适配,请通过邮件:support@m2pool.com 与我们取得联系。

步骤1 - 注册m2pool账号


1. m2pool 矿池挖矿方式为用户名挖矿,需注册m2pool账号

2.注册账号成功后,请前往个人中心-挖矿账户页面,添加币种挖矿账户,此处创建的挖矿账户即为您需要在矿机上配置的用户名。


步骤2 - 获得并绑定钱包地址


1. 获取钱包,您可以通过以下方式获得币种的的钱包地址,用于接收挖矿收益。

  (1) 官方全节点钱包:https://nexa.org/, 该类型钱包需要实时同步币种区块链节点。

  (2) 交易所钱包:前往支持该币种现货交易的交易所,MEXCCoinEx 等,找到充值即可获得钱包。

  (3) 硬件钱包:取决于您的硬件钱包是否支持该币种区块链,该类型钱包安全性高,但不是所有硬件钱包都支持,请您仔细了解您的硬件钱包。  

2. 获得钱包地址后,在个人中心-挖矿账户页面,点击右上方添加按钮,在钱包地址一栏填入您的钱包即可。


步骤3 - 矿工接入参数示例


1. Pool/Url: 见上方挖矿地址表格

2. Wallet/User/Worker: 挖矿账户名.矿工号(英文句号.分隔挖矿账户名和矿工号),(用户名为您在 步骤1的第2步生成的挖矿账号(非m2pool的登陆邮箱号),矿工号为您自行定义(长度不超过36个字符),如果您有多个矿工,请勿设置相同的矿工号,设置相同矿工号会将多个矿工的算力合并,虽然不会影响您的收益,但这会导致无法区分不同的矿工,不便于您对矿工的管理。)

3.Password:任意输入,不同的挖矿软件或矿机可能会有不同的配置方式,但只需保证上述3个参数配置正确,即可接入m2pool矿池,如果您需要帮助,请通过 邮件 联系我们。


步骤4 - 坐等挖矿收益


1.在您添加完挖矿钱包后,即可在您的矿机上配置相关参数,开启挖矿。

2. 您在m2pool上的所有挖矿收益均为自动结算(不同币种有不同的收益结算方式,请仔细查看您选择币种的收益结算方式)。


\n", "zh", "en"); + //translateHtml("

\"\" Nexa 挖矿教程 


选择挖矿地址

  币种  最小起付额TCP 端口SSL 端口
\"\" Nexa10000stratum+tcp://nexa.m2pool.com:33333
stratum+ssl://nexa.m2pool.com:33335


适配性

币种GPU挖矿软件ASIC矿机型号
\"\" Nexabzminer、lolminer、Rigel、WildRig龍珠A21

注意:如果您的GPU挖矿软件或ASIC矿机与m2pool无法适配,请通过邮件:support@m2pool.com 与我们取得联系。

步骤1 - 注册m2pool账号


1. m2pool 矿池挖矿方式为用户名挖矿,需注册m2pool账号

2.注册账号成功后,请前往个人中心-挖矿账户页面,添加币种挖矿账户,此处创建的挖矿账户即为您需要在矿机上配置的用户名。


步骤2 - 获得并绑定钱包地址


1. 获取钱包,您可以通过以下方式获得币种的的钱包地址,用于接收挖矿收益。

  (1) 官方全节点钱包:https://nexa.org/, 该类型钱包需要实时同步币种区块链节点。

  (2) 交易所钱包:前往支持该币种现货交易的交易所,MEXCCoinEx 等,找到充值即可获得钱包。

  (3) 硬件钱包:取决于您的硬件钱包是否支持该币种区块链,该类型钱包安全性高,但不是所有硬件钱包都支持,请您仔细了解您的硬件钱包。  

2. 获得钱包地址后,在个人中心-挖矿账户页面,点击右上方添加按钮,在钱包地址一栏填入您的钱包即可。


步骤3 - 矿工接入参数示例


1. Pool/Url: 见上方挖矿地址表格

2. Wallet/User/Worker: 挖矿账户名.矿工号(英文句号.分隔挖矿账户名和矿工号),(用户名为您在 步骤1的第2步生成的挖矿账号(非m2pool的登陆邮箱号),矿工号为您自行定义(长度不超过36个字符),如果您有多个矿工,请勿设置相同的矿工号,设置相同矿工号会将多个矿工的算力合并,虽然不会影响您的收益,但这会导致无法区分不同的矿工,不便于您对矿工的管理。)

3.Password:任意输入,不同的挖矿软件或矿机可能会有不同的配置方式,但只需保证上述3个参数配置正确,即可接入m2pool矿池,如果您需要帮助,请通过 邮件 联系我们。


步骤4 - 坐等挖矿收益


1.在您添加完挖矿钱包后,即可在您的矿机上配置相关参数,开启挖矿。

2. 您在m2pool上的所有挖矿收益均为自动结算(不同币种有不同的收益结算方式,请仔细查看您选择币种的收益结算方式)。


\n", "zh", "en"); + translateHtml("
{\n" +
+                "\n" +
+                "\"code\": {ERR_CODE},\n" +
+                "\n" +
+                "\"msg\": \"错误描述\"\n" +
+                "\n" +
+                "}
\n","zh","en"); //translate("牛逼", "zh", "en"); }