package com.tuoheng.admin.vo;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @User qiujinyang
 * @Description
 * @Date Created by 2022/7/28 13:31
 */
@NoArgsConstructor
@Data
public class AirWeatherVO implements Serializable {

    private static final long serialVersionUID = 1L;


    private ACDDTO acd;
    private WTHDTO wth;
    private TAHDTO tah;

    @NoArgsConstructor
    @Data
    public static class ACDDTO {
        private ParmDTO parm;
        private Double mid;
        private String deviceid;
        private Double timestamp;

        @NoArgsConstructor
        @Data
        public static class ParmDTO {
            private Integer tmp;
        }
    }

    @NoArgsConstructor
    @Data
    public static class WTHDTO {
        private ParmDTO parm;
        private ParmNewDTO parmNew;
        private Double mid;
        private String deviceid;
        private Double timestamp;

        @NoArgsConstructor
        @Data
        public static class ParmDTO {
            private Integer hum;
            private Integer rainfull;
            private Integer noise;
            private Integer co2;
            private Integer lux;
            private Integer rainType;
            private Integer tmp;
            private Integer _$Pm25111;// FIXME check this code
            private Integer dew;
            private Integer hpa;
            private Integer wspd;
            private Integer pm10;
            private Integer wdir;
        }

        @NoArgsConstructor
        @Data
        public static class ParmNewDTO {
            private Double hum;
            private Double noise;
            private Double rainfull;
            private Double tmp;
            private String wdirname;
            private Double dew;
            private Double wspd;
            private Double hpa;
            private Double wdir;
            private Double lux;
        }
    }

    @NoArgsConstructor
    @Data
    public static class TAHDTO {
        private ParmDTO parm;
        private Double mid;
        private String deviceid;
        private Double timestamp;

        @NoArgsConstructor
        @Data
        public static class ParmDTO {
            /**
             * 湿度
             */
            private Integer hum;
            /**
             * 温度
             */
            private Integer tmp;
        }
    }
}
