package cn.iocoder.yudao.module.system.dal.dataobject.biz;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.time.LocalDateTime;

/**
 * @Author: jinyd
 * @CreateTime: 2024/10/28  10:45
 * @Description:
 * @Version: 4.0
 */


@TableName("device_product")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DeviceProductDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    /**
     * 模型id
     */
    private Long modelId;
    /**
     * 设备模型名称
     */
    private String deviceModelName;
    /**
     * 型号
     */
    private String modelName;
    /**
     * 设备厂商id
     */
    private String deviceManufacturerId;
    /**
     * 设备厂商名称
     */
    private String deviceManufacturerName;
    /**
     * 设备编码
     */
    private String deviceCode;
    /**
     * 设备mac
     */
    private String deviceMac;
    /**
     * sn码
     */
    private String snCode;
    /**
     * 设备名称
     */
    private String deviceName;
    /**
     * 序列号
     */
    private String serialCode;
    /**
     * 验证码
     */
    private String validateCode;
    /**
     * 类型，0-健康，1-监控，2-睡眠，3-跌倒，4-安防，5-腕表，6-环境
     */
    private Integer deviceType;
    /**
     * 模型类型名称
     */
    private String deviceTypeName;
    /**
     * 设备日期
     */
    private LocalDateTime produceDate;
    /**
     * 产品编码
     */
    private String productCode;
    /**
     * 渠道id
     */
    private Long channelId;
    /**
     * 最后使用时间
     */
    private LocalDateTime lastUseTime;
    /**
     * 销售状态：0-未售出  1-已售出(启用) 2-已售出(禁用)
     */
    private Integer saleStatus;
    /**
     * 销售时间
     */
    private LocalDateTime saleDate;
    /**
     * 绑定类型，1-长者，2-房间/楼层/楼栋，3-绑定床位
     */
    private Integer bindingType;
    /**
     * 绑定状态，0-未绑定，1-已绑定
     */
    private Integer bindingStatus;
    /**
     * 绑定时间
     */
    private LocalDateTime bindingDate;
    /**
     * 绑定用户id
     */
    private Long bindingUserId;
    /**
     * 绑定用户名称
     */
    private String bindingUserName;
    /**
     * 绑定id
     */
    private String bindingId;
    /**
     * 绑定名称，楼栋/楼层/房间
     */
    private String bindingName;
    /**
     * 关联用户id
     */
    private Long associationUserid;
    /**
     * 关联用户名称
     */
    private String associationUsername;
    /**
     * 备注
     */
    private String remark;
    /**
     * 设备手机号
     */
    private String devicePhone;
    /**
     * 设备位置
     */
    private String devicePosition;

    /**
     * 安装位置
     */
    private String installPosition;
    /**
     * 是否是新设备，1：新设备 0：旧设备
     */
    private Integer isNew;

    /**
     * 在线状态，1-在线，2-离线
     */
    private Integer onlineStatus;

    private Long tenantId;

}
