update 电单车协议

This commit is contained in:
Guoqs
2024-08-26 14:45:19 +08:00
parent f27773ba05
commit c091b6dea7
10 changed files with 144 additions and 83 deletions

View File

@@ -1,13 +1,13 @@
package com.jsowell.netty.service.electricbicycles.impl;
import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
import com.jsowell.common.core.domain.ebike.EBikeDataProtocol;
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
import com.jsowell.common.enums.ykc.PileChannelEntity;
import com.jsowell.common.enums.ykc.PileConnectorDataBaseStatusEnum;
import com.jsowell.common.util.BytesUtil;
import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.YKCUtils;
import com.jsowell.netty.factory.YKCOperateFactory;
import com.jsowell.netty.handler.yunkuaichong.AbstractYkcHandler;
import com.jsowell.netty.factory.EBikeOperateFactory;
import com.jsowell.netty.handler.electricbicycles.AbstractEBikeHandler;
import com.jsowell.netty.service.electricbicycles.EBikeBusinessService;
import com.jsowell.pile.service.OrderBasicInfoService;
import com.jsowell.pile.service.PileConnectorInfoService;
@@ -33,16 +33,15 @@ public class EBikeBusinessServiceImpl implements EBikeBusinessService {
@Override
public byte[] process(byte[] msg, ChannelHandlerContext ctx) {
if (!YKCUtils.checkMsg(msg)) {
// 校验不通过,丢弃消息
return null;
}
YKCDataProtocol ykcDataProtocol = new YKCDataProtocol(msg);
EBikeDataProtocol ykcDataProtocol = new EBikeDataProtocol(msg);
// 获取帧类型
String frameType = YKCUtils.frameType2Str(ykcDataProtocol.getFrameType());
String command = BytesUtil.bin2HexStr(ykcDataProtocol.getCommand());
// 获取业务处理handler
AbstractYkcHandler invokeStrategy = YKCOperateFactory.getInvokeStrategy(frameType);
return invokeStrategy.supplyProcess(ykcDataProtocol, ctx);
AbstractEBikeHandler invokeStrategy = EBikeOperateFactory.getInvokeStrategy(command);
if (invokeStrategy != null) {
return invokeStrategy.supplyProcess(ykcDataProtocol, ctx);
}
return null;
}
@Override