package com.ruoyi.system.model;
|
|
|
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.baomidou.mybatisplus.extension.activerecord.Model;
|
import com.ruoyi.system.enums.DeviceType;
|
import lombok.Data;
|
import lombok.EqualsAndHashCode;
|
import lombok.experimental.Accessors;
|
import lombok.extern.slf4j.Slf4j;
|
|
import java.io.Serializable;
|
import java.util.Date;
|
|
/**
|
* <p>
|
* 设备实体类
|
* </p>
|
*
|
* @author administrator
|
* @since 2026-01-22
|
*/
|
@Data
|
@EqualsAndHashCode(callSuper = false)
|
@Accessors(chain = true)
|
@TableName("device")
|
@Slf4j
|
public class Device extends Model<Device> {
|
|
private static final long serialVersionUID = 1L;
|
|
@TableId(value = "id", type = IdType.AUTO)
|
private Integer id;
|
|
@TableField("create_time")
|
private Date createTime;
|
|
private Boolean deleted;
|
|
/**
|
* 设备编号
|
*/
|
private String name;
|
|
@TableField("update_time")
|
private Date updateTime;
|
|
/**
|
* 设备是否正在使用中
|
*/
|
private Boolean busy;
|
|
/**
|
* 出厂编号
|
*/
|
@TableField("manufacturer_number")
|
private String manufacturerNumber;
|
|
/**
|
* 设备详细信息(JSON格式)
|
*/
|
private String properties;
|
|
/**
|
* 设备类型(数据库存储值:1-10)
|
* 1-塔式起重机 2-施工升降机 3-物料提升机 4-桥式起重机
|
* 5-附着式升降脚手架 6-流动式起重机 7-高处作业吊篮
|
* 8-门式起重机 9-架桥机 10-其他
|
*
|
* 需要通过 getDeviceType() 方法转换为 DeviceType 枚举
|
*/
|
private Integer type;
|
|
@TableField("creator_id")
|
private Integer creatorId;
|
|
/**
|
* 获取设备类型枚举
|
* <p>
|
* 数据库 type 值范围:1-10
|
* DeviceType 枚举序号:0-9
|
* 转换公式:DeviceType.values()[type - 1]
|
* </p>
|
*
|
* @return DeviceType 枚举,如果 type 无效则返回 OTHER
|
*/
|
public DeviceType getDeviceType() {
|
if (type == null || type < 1 || type > 10) {
|
log.warn("设备类型值无效,deviceId: {}, type: {}", id, type);
|
return DeviceType.OTHER;
|
}
|
// 数据库值减1得到枚举序号
|
return DeviceType.values()[type - 1];
|
}
|
}
|