From 16143a3fffa5df194fff23029bb1786ee5dfad1a Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Thu, 18 Apr 2024 20:11:13 +0800 Subject: [PATCH] =?UTF-8?q?1078-=E8=A7=A3=E6=9E=90104=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/vmp/jt1078/proc/request/J0104.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/proc/request/J0104.java b/src/main/java/com/genersoft/iot/vmp/jt1078/proc/request/J0104.java index b40e1a4a7..9f17a152f 100644 --- a/src/main/java/com/genersoft/iot/vmp/jt1078/proc/request/J0104.java +++ b/src/main/java/com/genersoft/iot/vmp/jt1078/proc/request/J0104.java @@ -2,6 +2,8 @@ package com.genersoft.iot.vmp.jt1078.proc.request; import com.genersoft.iot.vmp.jt1078.annotation.MsgId; import com.genersoft.iot.vmp.jt1078.bean.JTDevice; +import com.genersoft.iot.vmp.jt1078.bean.JTDeviceConfig; +import com.genersoft.iot.vmp.jt1078.bean.common.ConfigAttribute; import com.genersoft.iot.vmp.jt1078.proc.Header; import com.genersoft.iot.vmp.jt1078.proc.response.J8001; import com.genersoft.iot.vmp.jt1078.proc.response.Rs; @@ -10,7 +12,10 @@ import com.genersoft.iot.vmp.jt1078.session.Session; import io.netty.buffer.ByteBuf; import org.springframework.context.ApplicationEvent; +import java.lang.reflect.Field; import java.nio.charset.Charset; +import java.util.HashMap; +import java.util.Map; /** * 查询终端参数应答 @@ -26,6 +31,20 @@ public class J0104 extends Re { protected Rs decode0(ByteBuf buf, Header header, Session session) { respNo = buf.readUnsignedShort(); paramLength = (int)buf.readUnsignedByte(); + if (paramLength <= 0) { + return null; + } + JTDeviceConfig deviceConfig = new JTDeviceConfig(); + Field[] fields = deviceConfig.getClass().getFields(); + Map allFieldMap = new HashMap<>(); + for (Field field : fields) { + field.setAccessible(true); + ConfigAttribute configAttribute = field.getAnnotation(ConfigAttribute.class); + if (configAttribute != null) { + allFieldMap.put(configAttribute.id(), field); + } + } + System.out.println(respNo); System.out.println(paramLength);