From 19c6bf810e2ed3034ccac3a1c9185e51281dcb67 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 13 Dec 2024 15:45:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=83=E8=B7=B3=E5=8C=85=E5=86=85=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E6=94=B9=E4=B8=BA=E5=BC=82=E6=AD=A5=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yunkuaichong/HeartbeatRequestHandler.java | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/HeartbeatRequestHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/HeartbeatRequestHandler.java index 0a810843c..9dcb75941 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/HeartbeatRequestHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/HeartbeatRequestHandler.java @@ -6,13 +6,17 @@ import com.jsowell.common.core.domain.ykc.YKCDataProtocol; import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode; import com.jsowell.common.util.BytesUtil; import com.jsowell.common.util.YKCUtils; +import com.jsowell.common.util.spring.SpringUtils; import com.jsowell.netty.factory.YKCOperateFactory; import com.jsowell.pile.service.PileBasicInfoService; import io.netty.channel.ChannelHandlerContext; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; +import java.util.concurrent.CompletableFuture; + /** * 充电桩心跳包 */ @@ -25,6 +29,9 @@ public class HeartbeatRequestHandler extends AbstractYkcHandler { @Autowired private PileBasicInfoService pileBasicInfoService; + // 引入线程池 + private ThreadPoolTaskExecutor executor = SpringUtils.getBean("threadPoolTaskExecutor"); + @Override public void afterPropertiesSet() throws Exception { YKCOperateFactory.register(type, this); @@ -65,11 +72,20 @@ public class HeartbeatRequestHandler extends AbstractYkcHandler { // updateStatus(pileSn, pileConnectorNum, connectorStatus); // 公共方法修改状态 - try { - pileBasicInfoService.updateStatus(BytesUtil.bcd2Str(ykcDataProtocol.getFrameType()), pileSn, pileConnectorNum, connectorStatus, null); - } catch (Exception e) { - log.error("公共方法修改状态error", e); - } + // try { + // pileBasicInfoService.updateStatus(BytesUtil.bcd2Str(ykcDataProtocol.getFrameType()), pileSn, pileConnectorNum, connectorStatus, null); + // } catch (Exception e) { + // log.error("公共方法修改状态error", e); + // } + + // 异步修改状态 + CompletableFuture.runAsync(() -> { + try { + pileBasicInfoService.updateStatus(BytesUtil.bcd2Str(ykcDataProtocol.getFrameType()), pileSn, pileConnectorNum, connectorStatus, null); + } catch (Exception e) { + log.error("公共方法修改状态error", e); + } + }, executor); // 心跳应答(置0) byte[] flag = Constants.zeroByteArray;