From c7102d5dc368ed889c2ceb516e2b615b0e7b78ac Mon Sep 17 00:00:00 2001 From: heavyrian2012 Date: Fri, 5 Jun 2026 15:29:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3serverapi=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E9=A2=91=E9=81=93=E5=88=97=E8=A1=A8=E7=BC=BA=E5=B0=91=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../moquette/persistence/DatabaseStore.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/broker/src/main/java/io/moquette/persistence/DatabaseStore.java b/broker/src/main/java/io/moquette/persistence/DatabaseStore.java index 8f4fbee7..f07cb72f 100644 --- a/broker/src/main/java/io/moquette/persistence/DatabaseStore.java +++ b/broker/src/main/java/io/moquette/persistence/DatabaseStore.java @@ -4297,9 +4297,13 @@ public class DatabaseStore { String sql = "select _cid, _name" + ", _portrait" + ", _owner" + + ", _secret" + ", _status" + ", _desc" + ", _extra" + + ", _callback" + + ", _automatic" + + ", _menu" + ", _dt from t_channel"; if(!withDeleted) { sql += " where _status <> 64 "; @@ -4334,6 +4338,10 @@ public class DatabaseStore { value = (value == null ? "" : value); builder.setOwner(value); + value = rs.getString(index++); + value = (value == null ? "" : value); + builder.setSecret(value); + int status = rs.getInt(index++); builder.setStatus(status); @@ -4345,6 +4353,32 @@ public class DatabaseStore { value = (value == null ? "" : value); builder.setExtra(value); + value = rs.getString(index++); + value = (value == null ? "" : value); + builder.setCallback(value); + + int intValue = rs.getInt(index++); + builder.setAutomatic(intValue); + + try { + byte[] bytes = null; + Blob blob = rs.getBlob(index++); + if (blob != null) { + bytes = toByteArray(blob.getBinaryStream()); + } + + if (bytes != null) { + WFCMessage.ChannelMenuList menuButtonList = WFCMessage.ChannelMenuList.parseFrom(bytes); + if (menuButtonList.getMenuCount() > 0) { + for (int i = 0; i < menuButtonList.getMenuCount(); i++) { + builder.addMenu(menuButtonList.getMenu(i)); + } + } + } + } catch (IOException e) { + e.printStackTrace(); + } + long longValue = rs.getLong(index++); builder.setUpdateDt(longValue);