package com.ard.work.component.netty.command.settings; import com.ard.work.domain.dto.settings.ReturnPointSettingDTO; import com.ard.work.component.netty.command.BaseCmd; import io.netty.buffer.ByteBuf; /** * 修改返航点指令 * * @author liusuyi * @date 2024年10月30日16:20 **/ public class ReturnPointSettingCmd extends BaseCmd { private final Double longitude; private final Double latitude; public ReturnPointSettingCmd(ReturnPointSettingDTO returnPointSettingDTO) { setDataHeader((short) 0x7479); setDataLength((short) 34); setBoxSn(returnPointSettingDTO.getBoxSn().getBytes()); setCmdCode((byte) 0xD1); this.longitude= returnPointSettingDTO.getLongitude(); this.latitude= returnPointSettingDTO.getLatitude(); } public void encode(ByteBuf out) { out.writeShort(getDataHeader()); // 写入数据头 out.writeShort(getDataLength()); // 写入数据长度 out.writeBytes(getBoxSn()); // 写入盒子SN out.writeByte(getCmdCode()); // 写入命令码 out.writeByte(0x00); // 写入加密标志 out.writeByte(0x31); // 写入动作编号 out.writeDouble(longitude); // 写入经度 out.writeDouble(latitude); // 写入纬度 } }