package com.sandu.ximon.admin.manager.iot.frame.inner.request; import cn.hutool.core.util.HexUtil; import com.sandu.ximon.admin.manager.iot.frame.inner.IRequestInnerFrame; import com.sandu.ximon.admin.manager.iot.rrpc.enums.FunctionCodeEnum; import com.sandu.ximon.admin.manager.iot.rrpc.enums.MQTTConnectTypeEnum; import com.sandu.ximon.admin.manager.iot.rrpc.enums.RemoteUpdateEnum; import com.sandu.ximon.admin.manager.iot.rrpc.util.CRC32Utils; import com.sandu.ximon.admin.manager.iot.rrpc.util.SupplementUtils; import com.sandu.ximon.admin.utils.HexUtils; /** * 主板透传指令 * * @author ZZQ * @date 2022/10/20 10:00 */ public class MainBoardDataTransparentReqInnerFrame implements IRequestInnerFrame { private static final String REPLACE_CHAR = "\\r\\n"; private static final String REPLACE_HEX_CHAR = "0D0A"; private static final boolean CHECK_REPLACE = true; private String payload; public MainBoardDataTransparentReqInnerFrame(String payload, boolean isAscii) { if (CHECK_REPLACE) { String subStr = payload.substring(payload.length() - 4); if (subStr.equals(REPLACE_CHAR)) { payload = payload.substring(0, payload.length() - 4); } } System.out.println(payload); if (isAscii) { this.payload = SupplementUtils.stringToHexString(payload); } if (CHECK_REPLACE) { this.payload = this.payload + REPLACE_HEX_CHAR; } if (this.payload.length() % 2 != 0) { this.payload = "0" + this.payload; } } @Override public String getEncodeFrame() { return payload; } }