package org.dromara.app.domain.bo;

import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.app.domain.AppDevice;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;

import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = AppDevice.class, reverseConvertGenerate = false)
public class AppDeviceBo extends BaseEntity {

    @NotBlank(message = "设备编号不能为空", groups = { EditGroup.class })
    private String deviceNo;


    private Long userId;

    /**
     * 设备名称
     */
    private String deviceName;
    private String deviceInitName;

    /**
     * 设备图片
     */
    private String deviceImg;

    /**
     * 二维码
     */
    private String qrcode;

    /**
     * 状态 1-在线 0-离线 2-到期 3-故障
     */
    private String status;

    /**
     * 工作状态 0-休息 1-工作
     */
    private String workStatus;

    /**
     * 电量
     */
    private String powerLevel;

    /**
     * 电量更新时间
     */
    private Date powerLevelUpdatatime;

    /**
     * WiFi名称
     */
    private String wifiName;

    /**
     * WiFi密码
     */
    private String wifiPassword;

    /**
     * 设备型号
     */
    private String deviceEm;

    /**
     * 设备序列号
     */
    private String deviceSn;

    /**
     * 固件版本
     */
    private String fwVer;

    /**
     * mac地址
     */
    @NotBlank(message = "MAC地址不能为空", groups = { AddGroup.class })
    private String macAddress;

    /**
     * 到期时间
     */
    private Date expirationTime;
}
