package com.qiuguo.iot.data.entity.device;
import org.hswebframework.ezorm.rdb.mapping.annotation.Comment;
import org.hswebframework.web.crud.annotation.EnableEntityEvent;
import org.hswebframework.web.api.crud.entity.GenericEntity;
import javax.persistence.Column;
import javax.persistence.Table;import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* </p>*设备批次表
* @author wulin
* @since 2023-09-05
*/

@Data
@Comment("设备批次表")
@Table(name = "device_batch")
@EnableEntityEvent
public class DeviceBatchEntity extends GenericEntity<Long> {
    @Comment("id")
    @Column(name = "id", length = 11, nullable = false, unique = true)
    private Long id;

    @Comment("是否删除：0 否 1 删除")
    @Column(name = "is_delete", nullable = false)
    private Integer isDelete;

    @Comment("创建时间")
    @Column(name = "create_time")
    private Date createTime;

    @Comment("修改时间")
    @Column(name = "modify_time")
    private Date modifyTime;

    @Comment("生产批次号")
    @Column(name = "batch_number", length = 100, nullable = false)
    private String batchNumber;

    @Comment("设备类型：0 果Box 1智能插座 2智能大灯 3智能窗帘驱动 4智能窗户关闭 5智能台灯 6智能桌子 7智能椅子 8智能风扇 9智能空调（遥控器） 10智能冰箱 11智能洗碗机 12智能电热水器 13温度传感器 14空气质量传感器 15光线传感器 16雨量传感器 17闭门器")
    @Column(name = "device_type", nullable = false)
    private Integer deviceType;

    @Comment("出厂固件信息")
    @Column(name = "firmware_version", length = 100)
    private String firmwareVersion;

    @Comment("硬件版本")
    @Column(name = "hardware_version", length = 100)
    private String hardwareVersion;

    @Comment("主芯片型号")
    @Column(name = "chip", length = 50)
    private String chip;

    @Comment("内存大小(MB)")
    @Column(name = "ram")
    private Integer ram;

    @Comment("ROM大小(MB)")
    @Column(name = "rom")
    private Integer rom;

    @Comment("屏幕类型：0：DLP投影 1：TFT液晶屏 2：OLED")
    @Column(name = "screen_type")
    private Integer screenType;

    @Comment("屏幕像素宽")
    @Column(name = "screen_w")
    private Integer screenW;

    @Comment("屏幕像素高")
    @Column(name = "screen_h")
    private Integer screenH;

    @Comment("喇叭数量")
    @Column(name = "horn_num")
    private Integer hornNum;

    @Comment("喇叭功率（W）")
    @Column(name = "horn_power")
    private Integer hornPower;

    @Comment("麦克风数量")
    @Column(name = "microphone_num")
    private Integer microphoneNum;

    @Comment("摄像头像素（百万）")
    @Column(name = "camera")
    private Integer camera;

    @Comment("直流供电电压（变压器后）")
    @Column(name = "dc_voltage", length = 10, precision = 0)
    private BigDecimal dcVoltage;

    @Comment("直流供电电流")
    @Column(name = "dc_current", length = 10, precision = 0)
    private BigDecimal dcCurrent;

    @Comment("市电供电电压（交流电）")
    @Column(name = "ac_voltage")
    private Integer acVoltage;

    @Comment("交流供电电流")
    @Column(name = "ac_current", length = 10, precision = 0)
    private BigDecimal acCurrent;

    @Comment("设备峰值功率（W）")
    @Column(name = "power")
    private Integer power;

    @Comment("是否支持wifi 0 不支持 1 支持")
    @Column(name = "suppert_wifi")
    private Integer suppertWifi;

    @Comment("wifi特性")
    @Column(name = "wifi_version", length = 100)
    private String wifiVersion;

    @Comment("是否支持蓝牙 0 不支持 1 支持")
    @Column(name = "suppert_bt")
    private Integer suppertBt;

    @Comment("蓝牙版本、特性")
    @Column(name = "bt_version", length = 100)
    private String btVersion;

    @Comment("电池容量（Wh）")
    @Column(name = "battery")
    private Integer battery;

    @Comment("是否内置电池 0：无 1 支持")
    @Column(name = "inner_batty")
    private Integer innerBatty;

    @Comment("设备详细说明")
    @Column(name = "describe", length = 255)
    private String describe;

    @Comment("备注说明")
    @Column(name = "remark", length = 255)
    private String remark;

    @Comment("生产厂家id")
    @Column(name = "factory_id")
    private Long factoryId;

    @Comment("开始生产时间")
    @Column(name = "start_produce_time")
    private Date startProduceTime;

    @Comment("生产标识（固件初始化时携带过来并获取信息）")
    @Column(name = "produce_mark", length = 100)
    private String produceMark;

    @Comment("设备操作系统信息")
    @Column(name = "operating_system", length = 100)
    private String operatingSystem;

}