package com.zswl.dataservice.domain.mqtt; import cn.hutool.json.JSONObject; import com.github.microservice.models.type.DeviceType; import com.zswl.dataservice.domain.base.SuperEntity; import com.zswl.dataservice.domain.iot.IotTemplate; import com.zswl.dataservice.type.DataState; import com.zswl.dataservice.utils.mqtt.type.OnLineState; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.data.mongodb.core.mapping.DBRef; import org.springframework.data.mongodb.core.mapping.Document; /** * 物联网设备信息 * * @author TRX * @date 2024/5/14 */ @Data @Document @NoArgsConstructor @AllArgsConstructor public class DeviceInfo extends SuperEntity { @Schema(description = "设备ID") private String deviceId; @Schema(description = "设备名称") private String deviceName; @Schema(description = "设备类型:消费机 闸机") private DeviceType deviceType; @Schema(description = "在线状态") private OnLineState onLineState; @Schema(description = "数据状态") private DataState state = DataState.Enable; @Schema(description = "ip地址") private String ip; @Schema(description = "激活时间") private Long activityTime; @Schema(description = "最后上线时间") private Long lastOnlineTime; @Schema(description = "所属项目") @DBRef(lazy = true) private ProjectInfo projectInfo; @Schema(description = "项目code") private String projectInfoCode; @Schema(description = "固件版本") private String firmwareVersion; @Schema(description = "连接参数") private JSONObject connectParam; @Schema(description = "最后离线时间") private Long lastOffLineTime; @Schema(description = "设备本地日志上报") private Boolean isReportLogs = Boolean.TRUE; @Schema(description = "物联网模版信息") @DBRef(lazy = true) private IotTemplate iotTemplate; }