mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-20 23:29:48 +08:00
心跳包内逻辑改为异步处理
This commit is contained in:
@@ -6,13 +6,17 @@ import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
|
|||||||
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
|
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
|
||||||
import com.jsowell.common.util.BytesUtil;
|
import com.jsowell.common.util.BytesUtil;
|
||||||
import com.jsowell.common.util.YKCUtils;
|
import com.jsowell.common.util.YKCUtils;
|
||||||
|
import com.jsowell.common.util.spring.SpringUtils;
|
||||||
import com.jsowell.netty.factory.YKCOperateFactory;
|
import com.jsowell.netty.factory.YKCOperateFactory;
|
||||||
import com.jsowell.pile.service.PileBasicInfoService;
|
import com.jsowell.pile.service.PileBasicInfoService;
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 充电桩心跳包
|
* 充电桩心跳包
|
||||||
*/
|
*/
|
||||||
@@ -25,6 +29,9 @@ public class HeartbeatRequestHandler extends AbstractYkcHandler {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private PileBasicInfoService pileBasicInfoService;
|
private PileBasicInfoService pileBasicInfoService;
|
||||||
|
|
||||||
|
// 引入线程池
|
||||||
|
private ThreadPoolTaskExecutor executor = SpringUtils.getBean("threadPoolTaskExecutor");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception {
|
public void afterPropertiesSet() throws Exception {
|
||||||
YKCOperateFactory.register(type, this);
|
YKCOperateFactory.register(type, this);
|
||||||
@@ -65,11 +72,20 @@ public class HeartbeatRequestHandler extends AbstractYkcHandler {
|
|||||||
// updateStatus(pileSn, pileConnectorNum, connectorStatus);
|
// updateStatus(pileSn, pileConnectorNum, connectorStatus);
|
||||||
|
|
||||||
// 公共方法修改状态
|
// 公共方法修改状态
|
||||||
|
// try {
|
||||||
|
// pileBasicInfoService.updateStatus(BytesUtil.bcd2Str(ykcDataProtocol.getFrameType()), pileSn, pileConnectorNum, connectorStatus, null);
|
||||||
|
// } catch (Exception e) {
|
||||||
|
// log.error("公共方法修改状态error", e);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// 异步修改状态
|
||||||
|
CompletableFuture.runAsync(() -> {
|
||||||
try {
|
try {
|
||||||
pileBasicInfoService.updateStatus(BytesUtil.bcd2Str(ykcDataProtocol.getFrameType()), pileSn, pileConnectorNum, connectorStatus, null);
|
pileBasicInfoService.updateStatus(BytesUtil.bcd2Str(ykcDataProtocol.getFrameType()), pileSn, pileConnectorNum, connectorStatus, null);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("公共方法修改状态error", e);
|
log.error("公共方法修改状态error", e);
|
||||||
}
|
}
|
||||||
|
}, executor);
|
||||||
|
|
||||||
// 心跳应答(置0)
|
// 心跳应答(置0)
|
||||||
byte[] flag = Constants.zeroByteArray;
|
byte[] flag = Constants.zeroByteArray;
|
||||||
|
|||||||
Reference in New Issue
Block a user