package com.casic.common.general; import com.alibaba.fastjson.JSONObject; import com.casic.common.CasicFrame; import lombok.Data; import java.time.LocalDateTime; import java.time.ZoneId; @Data public class IMEIFrame extends CasicFrame { final String MESSAGE_TYPE_IDENTIFY = "05"; final String MESSAGE_TYPE_STRING = "StartupRequest"; final String MESSAGE_TYPE_DESCRIPTION = "开机上报消息"; String imei; String iccid; @Override public String getDevTypeName() { return "Methane"; } @Override public String toString() { return "{" + MESSAGE_TYPE_DESCRIPTION + ":" + MESSAGE_TYPE_STRING + ";" + "设备编号:" + getDeviceCode() + ";" + "上报时间:" + getUptime() + ";" + "IMEI:" + imei + ";" + "ICCID:" + iccid + "}"; } @Override public JSONObject toJSON() { JSONObject obj = new JSONObject(); obj.put("mType", MESSAGE_TYPE_STRING); obj.put("devType", getDevTypeName()); obj.put("devCode", getDeviceCode()); JSONObject body = new JSONObject(); body.put("bType", getDevTypeName() + "Data"); body.put("imei", imei); body.put("iccid", iccid); obj.put("mBody", body); obj.put("ts", LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()); return obj; } @Override public void parseMessageBody() { imei = getMessageBody().getString("IMEI"); iccid = getMessageBody().getString("ICCID"); } }