From 47c093ad6f89ca1ac3507eb296fa113524129ab2 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 2 May 2026 20:12:32 +0800 Subject: [PATCH] 【修复】IoT 设备消息日志:device_message 表 params / data 列宽 NCHAR(2048) → VARCHAR(8192) 对齐 MQTT 8KB 上限;@Async 写入加 try/catch 避免静默失败 --- yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/message/IotDeviceMessageServiceImpl.java | 10 +++++++++- yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/IotDeviceMessageMapper.xml | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/message/IotDeviceMessageServiceImpl.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/message/IotDeviceMessageServiceImpl.java index 24a5bb9..44d5a0f 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/message/IotDeviceMessageServiceImpl.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/message/IotDeviceMessageServiceImpl.java @@ -95,7 +95,15 @@ public class IotDeviceMessageServiceImpl implements IotDeviceMessageService { if (messageDO.getData() != null) { messageDO.setData(JsonUtils.toJsonString(messageDO.getData())); } - deviceMessageMapper.insert(messageDO); + try { + deviceMessageMapper.insert(messageDO); + } catch (Exception ex) { + // 特殊:@Async 方法的异常默认会被 handler 吞掉,这里显式记录便于排查 + log.error("[createDeviceLogAsync][消息日志写入失败 deviceId({}) messageId({}) paramsLen({}) dataLen({})]", + messageDO.getDeviceId(), messageDO.getId(), + StrUtil.length((String) messageDO.getParams()), + StrUtil.length((String) messageDO.getData()), ex); + } } @Override diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/IotDeviceMessageMapper.xml b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/IotDeviceMessageMapper.xml index deef23b..34d7c63 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/IotDeviceMessageMapper.xml +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/device/IotDeviceMessageMapper.xml @@ -16,8 +16,8 @@ identifier NCHAR(100), request_id NCHAR(50), method NCHAR(100), - params NCHAR(2048), - data NCHAR(2048), + params VARCHAR(8192), + data VARCHAR(8192), code INT, msg NCHAR(256) ) TAGS ( -- libgit2 0.21.4