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

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

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

public class DataFrame extends CasicFrame {

    public final String MESSAGE_TYPE_IDENTIFY = "02";
    public final String MESSAGE_TYPE_STRING = "Data";
    public final String MESSAGE_TYPE_DESCRIPTION = "数据消息";

    public List<DataItem> dataItemList;

    public List<Serializable> toDataModelList() {
        return null;
    }

    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("{");
        builder.append("设备编号:").append(getDeviceCode()).append(";");
        builder.append("上报时间:").append(getUptime()).append(";");
        for (DataItem dataItem : dataItemList) {
            builder.append("[");
            builder.append(dataItem);
            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;
    }
}