package cn.iocoder.yudao.module.system.controller.admin.biz.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

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


@Schema(description = "管理后台 - 设备产品 Response VO")
@Data
@ExcelIgnoreUnannotated
public class DeviceProductRespVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10514")
    @ExcelProperty("主键ID")
    private Long id;

    @Schema(description = "模型id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30838")
    @ExcelProperty("模型id")
    private Long modelId;

    @Schema(description = "设备模型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @ExcelProperty("设备模型名称")
    private String deviceModelName;

    @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @ExcelProperty("型号")
    private String modelName;

    @Schema(description = "设备厂商id", example = "15898")
    @ExcelProperty("设备厂商id")
    private String deviceManufacturerId;

    @Schema(description = "设备厂商名称", example = "芋艿")
    @ExcelProperty("设备厂商名称")
    private String deviceManufacturerName;

    @Schema(description = "设备编码")
    @ExcelProperty("设备编码")
    private String deviceCode;


    /**
     * sn码
     */
    @Schema(description = "sn码")
    @ExcelProperty("sn码")
    private String snCode;

    @Schema(description = "设备mac")
    @ExcelProperty("设备mac")
    private String deviceMac;

    @Schema(description = "设备名称", example = "李四")
    @ExcelProperty("设备名称")
    private String deviceName;

    @Schema(description = "序列号")
    @ExcelProperty("序列号")
    private String serialCode;

    @Schema(description = "验证码")
    @ExcelProperty("验证码")
    private String validateCode;

    @Schema(description = "类型，0-健康，1-监控，2-睡眠，3-跌倒，4-安防，5-腕表，6-环境", example = "2")
    @ExcelProperty("类型，0-健康，1-监控，2-睡眠，3-跌倒，4-安防，5-腕表，6-环境")
    private Integer deviceType;

    @Schema(description = "分类名称", example = "张三")
    @ExcelProperty("分类名称")
    private String deviceTypeName;

    @Schema(description = "设备模型名称")
    @ExcelProperty("设备模型名称")
    private LocalDateTime produceDate;

    @Schema(description = "产品编码")
    @ExcelProperty("产品编码")
    private String productCode;

    @Schema(description = "渠道id", example = "5924")
    @ExcelProperty("渠道id")
    private Long channelId;

    @Schema(description = "最后使用时间")
    @ExcelProperty("最后使用时间")
    private LocalDateTime lastUseTime;

    @Schema(description = "销售状态：0-未售出  1-已售出(启用) 2-已售出(禁用)", example = "1")
    @ExcelProperty("销售状态：0-未售出  1-已售出(启用) 2-已售出(禁用)")
    private Integer saleStatus;

    @Schema(description = "销售时间")
    @ExcelProperty("销售时间")
    private LocalDateTime saleDate;

    @Schema(description = "绑定类型，1-长者，2-房间/楼层/楼栋，3-绑定床位", example = "1")
    @ExcelProperty("绑定类型，1-长者，2-房间/楼层/楼栋，3-绑定床位")
    private Integer bindingType;

    @Schema(description = "绑定状态，0-未绑定，1-已绑定", example = "2")
    @ExcelProperty("绑定状态，0-未绑定，1-已绑定")
    private Integer bindingStatus;

    @Schema(description = "绑定时间")
    @ExcelProperty("绑定时间")
    private LocalDateTime bindingDate;

    @Schema(description = "绑定用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "6741")
    @ExcelProperty("绑定用户id")
    private Long bindingUserId;

    @Schema(description = "绑定用户名称", example = "芋艿")
    @ExcelProperty("绑定用户名称")
    private String bindingUserName;

    @Schema(description = "绑定名称，楼栋/楼层/房间", example = "李四")
    @ExcelProperty("绑定名称，楼栋/楼层/房间")
    private String bindingName;

    @Schema(description = "关联用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30057")
    @ExcelProperty("关联用户id")
    private Long associationUserid;

    @Schema(description = "关联用户名称", example = "芋艿")
    @ExcelProperty("关联用户名称")
    private String associationUsername;

    @Schema(description = "备注", example = "你猜")
    @ExcelProperty("备注")
    private String remark;

    @Schema(description = "设备手机号")
    @ExcelProperty("设备手机号")
    private String devicePhone;

    @Schema(description = "床位ID", example = "18608")
    @ExcelProperty("床位ID")
    private Long bedId;

    @Schema(description = "床位名称", example = "张三")
    @ExcelProperty("床位名称")
    private String bedName;

    @Schema(description = "安装位置")
    @ExcelProperty("安装位置")
    private String position;

    @Schema(description = "是否是新设备，1：新设备 0：旧设备")
    @ExcelProperty("是否是新设备，1：新设备 0：旧设备")
    private Integer isNew;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    private String tenantName;

    @Schema(description = "电量")
    private String electricity;


    @Schema(description = "在线状态，1-在线，2-离线")
    private Integer onlineStatus;

    @Schema(description = "租户主键，0-未绑定，不等于0-绑定")
    private Integer tenantId;

}
