Files
jsowell-charger-web/jsowell-netty/src/main/java/com/jsowell/netty/handler/RemoteControlGroundLockResponseHandler.java
2023-03-04 16:29:55 +08:00

58 lines
1.9 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package com.jsowell.netty.handler;
import com.alibaba.fastjson2.JSONObject;
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.netty.factory.YKCOperateFactory;
import io.netty.channel.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* 充电桩返回遥控地锁升锁与降锁数据(上行)
*
* @author JS-ZZA
* @date 2022/9/27 13:21
*/
@Slf4j
@Component
public class RemoteControlGroundLockResponseHandler extends AbstractHandler{
private final String type = YKCUtils.frameType2Str(YKCFrameTypeCode.CHARGING_PILE_RESPOND_GROUND_LOCK_LIFTING_CODE.getBytes());
@Override
public void afterPropertiesSet() throws Exception {
YKCOperateFactory.register(type, this);
}
@Override
public byte[] supplyProcess(YKCDataProtocol ykcDataProtocol, Channel channel) {
log.info("[===充电桩返回遥控地锁升锁与降锁数据(上行)===] param:{}, channel:{}", JSONObject.toJSONString(ykcDataProtocol), channel.toString());
// 消息体
byte[] msgBody = ykcDataProtocol.getMsgBody();
int startIndex = 0;
int length = 7;
// 桩编号
byte[] pileSnByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
// 枪号
startIndex += length;
length = 1;
byte[] connectorCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
// 地锁控制返回标志 布尔型( 1 鉴权成功; 0 鉴权失败)
startIndex += length;
byte[] controlResultByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
// 预留位
startIndex += length;
length = 4;
byte[] waitingUseByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
return null;
}
}