package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntityPlus;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 设备对象 as_device
 *
 * @author 邱贞招
 * @date 2024-04-05
 */
@Data
@TableName(value = "et_device")
public class AsDevice extends BaseEntityPlus implements Serializable {
    private static final long serialVersionUID = 1L;

    /** id */
    @TableId(value = "device_id", type = IdType.AUTO)
    private Long deviceId;

    /** 图片 */
    @Excel(name = "图片")
    private String picture;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 设备Mac号 */
    @Excel(name = "设备Mac号")
    private String mac;

    /** 设备SN号 */
    @Excel(name = "设备SN号")
    private String sn;

    /** 二维码文本 */
    @Excel(name = "二维码文本")
    @TableField(exist = false)
    private String qrText;

    /** 运营商 */
    @Excel(name = "运营商")
    @TableField(exist = false)
    private String deptName;

    /** 分区 */
    @Excel(name = "分区id")
    private Long areaId;

    /** 分区名称 */
    @Excel(name = "分区名称")
    @TableField(exist = false)
    private String areaName;

    /** 激活时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "激活时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date activationTime;

    /** 在线状态 */
    @Excel(name = "在线状态")
    private String onlineStatus;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 状态 */
    @Excel(name = "状态")
    @TableField(exist = false)
    private String statusStr;

    /** 定位地址 */
    @Excel(name = "定位地址")
    private String location;

    /** 最后定位时间 */
    @Excel(name = "最后定位时间")
    private Date lastTime;

    /** 剩余电量 */
    @Excel(name = "剩余电量")
    private String remainingPower;

    /** 电压 */
    @Excel(name = "电压")
    private String voltage;

    /** 剩余里程  change power  replacement electricity electricity   换电  replacement*/
    @Excel(name = "剩余里程")
    @TableField(exist = false)
    private Integer remainingMileage;

    /** 二维码 */
    @Excel(name = "二维码")
    private String qrcode;

    /** 经度 */
    @Excel(name = "经度")
    private String longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private String latitude;

    /** 锁状态 */
    @Excel(name = "锁状态")
    private String lockStatus;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 备注 */
    private String remark;

    /** 车辆型号 */
    @Excel(name = "车辆型号")
    private Long modelId;

    /** 型号 */
    @Excel(name = "型号")
    @TableField(exist = false)
    private String model;

    /** 车牌号 */
    private String vehicleNum;

    /** 是否发送过断电指令 */
    private String isAreaOutOutage;

    /** 是否是管理员开锁:0-否;1-是(用于控制运营区外是否断电判断) */
    private String isAdminUnlocking;

    /** 正在进行中的订单 */
    @TableField(exist = false)
    private List<EtOrder> etOrders;

}