package com.ard.work.component.netty.command.camera; import com.ard.work.component.netty.command.BaseCmd; import com.ard.work.domain.dto.camera.FormatSdCardDTO; import io.netty.buffer.ByteBuf; import lombok.Data; import lombok.EqualsAndHashCode; /** * Description: 格式化存储卡指令 * Author: lsy * Date: 2025年11月24日9:31 **/ @Data @EqualsAndHashCode(callSuper = false) public class FormatSdCardCmd extends BaseCmd { private final byte encryptFlag = 0x00; // 加密标志 private final byte actionCode = 0x40; // 动作编号 public FormatSdCardCmd(FormatSdCardDTO formatSdCardDTO) { setDataHeader((short) 0x7479); setDataLength((short) 18); setBoxSn(formatSdCardDTO.getBoxSn().getBytes()); setCmdCode((byte) 0xD1); } @Override public void encode(ByteBuf out) { out.writeShort(getDataHeader()); // 写入数据头 out.writeShort(getDataLength()); // 写入数据长度 out.writeBytes(getBoxSn()); // 写入盒子SN out.writeByte(getCmdCode()); // 写入命令码 out.writeByte(encryptFlag); // 写入加密标志 out.writeByte(actionCode); // 写入动作编号 } }