package com.mvc.iot.onenet.model;

import com.alibaba.fastjson.JSONObject;
import java.io.Serializable;

/**
 * NB设备缓存命令下发响应对象
 */
public class OneNetNBcommandCacheReplyModel implements Serializable {
    private String productId;//产品id
    private String deviceName;//设备名称
    private String deviceId;//设备id
    private String imei;//设备imei
    private String cmdId;//缓存命令ID
    private String cmdType;//缓存命令类型，0：READ，1:WRITE：2：EXECUTE
    private String sendTime;//缓存命令发送时间

    /*1. 命令等待（wait）;
    2. 命令取消（cancle）;
    3. 命令已发往设备（send）;
    4. 命令过期（expired）;
    5. 命令下发成功（success）;
    6. 命令下发失败（failed）;
    7.命令下发超时 ;
    8. 其他未知错误*/
    private String sendStatus;
    private String confirmTime;//设备响应时间

    /*0. SUCCESS(命令执行成功);
    1. METHOD_NOT_ALLOWED（对象或资源不允许该操作） ;
    2. FORBIDDEN（终端未注册）;
    3. NOT_FOUND（未发现该对象或资源）;
    4. INTERNAL_SERVER_ERROR（设备响应码错误等）;
    5. TIME_OUT（设备响应超时）;
    6. REQ_PARAM_ERROR（请求参数错误）;
    7. RESP_ERROR（设备响应报文错误）；
                8. UNAUTHORIZED（访问权限不允许）;
    9. BAD_REQUEST（请求格式错误，如少参数或编码等）;
    10. NOT_ACCEPTABLE（无任何首选的报文格式可以返回）;
    11. UNSUPPORTED_CONTENT_FORMAT（指定的报文格式不支持）;
    12. OFFLINE（设备未注册）;
    13. ADDR_OCCUPIED（设备的地址被其他设备占用）*/
    private String confirmStatus;
    private JSONObject confirmBody;//设备响应信息

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getImei() {
        return imei;
    }

    public void setImei(String imei) {
        this.imei = imei;
    }

    public String getCmdId() {
        return cmdId;
    }

    public void setCmdId(String cmdId) {
        this.cmdId = cmdId;
    }

    public String getCmdType() {
        return cmdType;
    }

    public void setCmdType(String cmdType) {
        this.cmdType = cmdType;
    }

    public String getSendTime() {
        return sendTime;
    }

    public void setSendTime(String sendTime) {
        this.sendTime = sendTime;
    }

    public String getSendStatus() {
        return sendStatus;
    }

    public void setSendStatus(String sendStatus) {
        this.sendStatus = sendStatus;
    }

    public String getConfirmTime() {
        return confirmTime;
    }

    public void setConfirmTime(String confirmTime) {
        this.confirmTime = confirmTime;
    }

    public String getConfirmStatus() {
        return confirmStatus;
    }

    public void setConfirmStatus(String confirmStatus) {
        this.confirmStatus = confirmStatus;
    }

    public JSONObject getConfirmBody() {
        return confirmBody;
    }

    public void setConfirmBody(JSONObject confirmBody) {
        this.confirmBody = confirmBody;
    }
}
