mirror of
https://gitee.com/san-bing/JChargePointProtocol
synced 2026-05-07 03:19:55 +08:00
40 lines
1.7 KiB
Java
40 lines
1.7 KiB
Java
/**
|
||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||
* 微信:mohan_88888
|
||
* 抖音:程序员三丙
|
||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||
*/
|
||
package sanbing.jcpp.protocol.lvneng;
|
||
|
||
import com.google.protobuf.ByteString;
|
||
import lombok.extern.slf4j.Slf4j;
|
||
import sanbing.jcpp.infrastructure.util.jackson.JacksonUtil;
|
||
import sanbing.jcpp.infrastructure.util.trace.TracerContextUtil;
|
||
import sanbing.jcpp.proto.gen.UplinkProto.UplinkQueueMessage;
|
||
import sanbing.jcpp.protocol.ProtocolContext;
|
||
import sanbing.jcpp.protocol.listener.tcp.TcpSession;
|
||
|
||
/**
|
||
* @author 九筒
|
||
*/
|
||
@Slf4j
|
||
public abstract class LvnengUplinkCmdExe extends AbstractLvnengCmdExe {
|
||
|
||
public abstract void execute(TcpSession tcpSession, LvnengUplinkMessage lvnengUplinkMessage, ProtocolContext ctx);
|
||
|
||
protected UplinkQueueMessage.Builder uplinkMessageBuilder(String messageKey, TcpSession tcpSession, LvnengUplinkMessage lvnengUplinkMessage) {
|
||
// 从Tracer总获取当前时间
|
||
long ts = TracerContextUtil.getCurrentTracer().getTracerTs();
|
||
|
||
return UplinkQueueMessage.newBuilder()
|
||
.setMessageIdMSB(lvnengUplinkMessage.getId().getMostSignificantBits())
|
||
.setMessageIdLSB(lvnengUplinkMessage.getId().getLeastSignificantBits())
|
||
.setSessionIdMSB(tcpSession.getId().getMostSignificantBits())
|
||
.setSessionIdLSB(tcpSession.getId().getLeastSignificantBits())
|
||
.setTs(ts)
|
||
.setRequestData(ByteString.copyFrom(JacksonUtil.writeValueAsBytes(lvnengUplinkMessage)))
|
||
.setMessageKey(messageKey)
|
||
.setProtocolName(tcpSession.getProtocolName());
|
||
}
|
||
|
||
} |