package com.rj.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 设备管理表
 * </p>
 *
 * @author 李中华 ,spllzh
 * @since 2025-08-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("device_management")
@Schema(description="设备管理表")
public class DeviceManagement implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "主键，UUID")
    @TableId("id")
    private String id;

    @Schema(description = "租户ID")
    @TableField("tenant_id")
    private String tenantId;

    @Schema(description = "租户编码")
    @TableField("tenant_code")
    private String tenantCode;

    @Schema(description = "设备编号")
    @TableField("device_code")
    private String deviceCode;

    @Schema(description = "所属门店ID")
    @TableField("dealership_id")
    private String dealershipId;

    @Schema(description = "所属门店名称")
    @TableField("dealership_name")
    private String dealershipName;

    @Schema(description = "最近联网时间")
    @TableField("last_online_time")
    private LocalDateTime lastOnlineTime;

    @Schema(description = "最近开机时间")
    @TableField("last_power_on_time")
    private LocalDateTime lastPowerOnTime;

    @Schema(description = "最近关机时间")
    @TableField("last_power_off_time")
    private LocalDateTime lastPowerOffTime;

    @Schema(description = "WIFI名称")
    @TableField("wifi_name")
    private String wifiName;

    @Schema(description = "未上传数量")
    @TableField("unuploaded_count")
    private Integer unuploadedCount;

    @Schema(description = "空间大小(M)")
    @TableField("storage_size")
    private String storageSize;

    @Schema(description = "已用空间(M)")
    @TableField("storage_used")
    private String storageUsed;

    @Schema(description = "剩余电量")
    @TableField("remaining_battery")
    private String remainingBattery;

    @Schema(description = "充电状态")
    @TableField("charging_status")
    private String chargingStatus;

    @Schema(description = "绑定用户ID")
    @TableField("bind_user_id")
    private String bindUserId;

    @Schema(description = "绑定用户名称")
    @TableField("bind_user_name")
    private String bindUserName;

    @Schema(description = "所属项目ID")
    @TableField("project_id")
    private String projectId;


    @Schema(description = "所属项目名称")
    @TableField("project_name")
    private String projectName;

    @Schema(description = "场景")
    @TableField("scenario")
    private String scenario;

    @Schema(description = "绑定状态(1已绑定 0未绑定)")
    @TableField("bind_status")
    private Boolean bindStatus;

    @Schema(description = "销售人员姓名")
    @TableField("sales_name")
    private String salesName;

    @Schema(description = "销售人员电话")
    @TableField("sales_phone")
    private String salesPhone;

    @Schema(description = "登录密码（不存储在数据库中）")
    @TableField(exist = false)
    private String password;


    @Schema(description = "创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    @TableField("update_time")
    private LocalDateTime updateTime;


}
