package com.fuyuanshen.global.mqtt.rule.hby100j.domin;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

/**
 * 设备电源状态上报DTO
 * 对应MQTT消息中设备上报的电源相关状态数据
 */
@Data
public class FunctionType4PowerStatusReport {

    /**
     * 设备IMEI号（国际移动设备识别码）
     */
    private String imei;

    /**
     * 功能类型编码（如"4"表示电源状态上报）
     */
    private String funcType;

    /**
     * 响应状态码（如"200"表示成功）
     */
    private String status;

    /**
     * 时间戳（毫秒级Unix时间戳）
     */
    private Long timestamp;

    /**
     * 电源详细状态数据
     */
    private Data data;

    /**
     * 电源详细状态数据内部类
     */
    @lombok.Data
    public static class Data {
        
        /**
         * 电池容量（如"5000mAh"）
         */
        @JsonProperty("capacity")
        private String capacity;

        /**
         * 电压值（单位：V，0表示未检测或无电）
         */
        @JsonProperty("voltage")
        private Integer voltage;

        /**
         * 电量百分比（0-100，0表示低电量或未检测）
         */
        @JsonProperty("level")
        private Integer level;

        /**
         * 充电状态：0-未充电，1-正在充电
         */
        @JsonProperty("charge")
        private Integer charge;

        /**
         * 12V电源状态：0-关闭/无输出，1-开启/有输出
         */
        @JsonProperty("12v_power")
        private Integer twelveVPower;

        @JsonProperty("battery_remaining_time")
        private Integer batteryRemainingTime;
    }
}
