From 459a8cd77a08391ce48a95b44a25197618245594 Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Mon, 18 May 2026 10:39:41 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E6=A0=87-=E4=BF=AE=E5=A4=8D0003?= =?UTF-8?q?=E6=B3=A8=E9=94=80=E6=B6=88=E6=81=AF=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vmp/jt1078/codec/decode/Jt808Decoder.java | 9 +++----- .../iot/vmp/jt1078/proc/request/J0003.java | 23 +++++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/codec/decode/Jt808Decoder.java b/src/main/java/com/genersoft/iot/vmp/jt1078/codec/decode/Jt808Decoder.java index 3bfcfcf5b..3be424e55 100644 --- a/src/main/java/com/genersoft/iot/vmp/jt1078/codec/decode/Jt808Decoder.java +++ b/src/main/java/com/genersoft/iot/vmp/jt1078/codec/decode/Jt808Decoder.java @@ -12,17 +12,12 @@ import io.netty.buffer.CompositeByteBuf; import io.netty.buffer.UnpooledByteBufAllocator; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.ByteToMessageDecoder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import lombok.extern.slf4j.Slf4j; import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationEventPublisher; -import lombok.extern.slf4j.Slf4j; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; /** * @author QingtaiJiang @@ -93,6 +88,8 @@ public class Jt808Decoder extends ByteToMessageDecoder { } + + /** * 转义与验证校验码 * diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/proc/request/J0003.java b/src/main/java/com/genersoft/iot/vmp/jt1078/proc/request/J0003.java index f32a4cb05..fa3221c5e 100644 --- a/src/main/java/com/genersoft/iot/vmp/jt1078/proc/request/J0003.java +++ b/src/main/java/com/genersoft/iot/vmp/jt1078/proc/request/J0003.java @@ -1,13 +1,13 @@ 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.event.DeviceUpdateEvent; import com.genersoft.iot.vmp.jt1078.proc.Header; import com.genersoft.iot.vmp.jt1078.proc.response.Rs; import com.genersoft.iot.vmp.jt1078.service.Ijt1078Service; import com.genersoft.iot.vmp.jt1078.session.Session; -import com.genersoft.iot.vmp.jt1078.session.SessionManager; import io.netty.buffer.ByteBuf; -import io.netty.buffer.ByteBufUtil; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.springframework.context.ApplicationEvent; @@ -20,27 +20,30 @@ import org.springframework.context.ApplicationEvent; @MsgId(id = "0003") public class J0003 extends Re { - int respNo; - String respId; - int result; + private JTDevice deviceForUpdate; @Override protected Rs decode0(ByteBuf buf, Header header, Session session) { - respNo = buf.readUnsignedShort(); - respId = ByteBufUtil.hexDump(buf.readSlice(2)); - result = buf.readUnsignedByte(); log.info("[JT-注销] 设备: {}", header.getPhoneNumber()); return null; } @Override protected Rs handler(Header header, Session session, Ijt1078Service service) { - SessionManager.INSTANCE.response(header.getPhoneNumber(), "0001", (long) respNo, result); +// SessionManager.INSTANCE.response(header.getPhoneNumber(), "0001", (long) respNo, result); + JTDevice device = service.getDevice(header.getPhoneNumber()); + if (device != null && device.isStatus()) { + deviceForUpdate = device; + deviceForUpdate.setStatus(false); + service.updateDevice(device); + } return null; } @Override public ApplicationEvent getEvent() { - return null; + DeviceUpdateEvent registerEvent = new DeviceUpdateEvent(this); + registerEvent.setDevice(deviceForUpdate); + return registerEvent; } }