Newer
Older
br-data-forwarding / src / main / java / com / casic / common / general / EventFrame.java
package com.casic.common.general;

import com.alibaba.fastjson.JSONObject;
import com.casic.common.CasicFrame;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.List;

public class EventFrame extends CasicFrame {

    public final String MESSAGE_TYPE_IDENTIFY = "01";
    public final String MESSAGE_TYPE_STRING = "Event";
    public final String MESSAGE_TYPE_DESCRIPTION = "事件消息";

    public List<EventItem> eventItemList;

    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("{");
        builder.append("设备编号:").append(getDeviceCode()).append("; ");
        builder.append("上报时间:").append(getUptime()).append("; ");
        for (EventItem eventItem : eventItemList) {
            builder.append("[");
            builder.append(eventItem);
            builder.append("],");
        }
        builder.deleteCharAt(builder.length() - 1);
        builder.append("}");
        return builder.toString();
    }

    @Override
    public JSONObject toJSON() {
        JSONObject obj = new JSONObject();

        obj.put("mType", MESSAGE_TYPE_STRING);
        obj.put("ts", LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());

        return obj;
    }
}