DeviceInfo.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package com.zswl.dataservice.domain.mqtt;
  2. import cn.hutool.json.JSONObject;
  3. import com.zswl.dataservice.domain.base.SuperEntity;
  4. import com.zswl.dataservice.domain.iot.IotTemplate;
  5. import com.zswl.dataservice.type.DataState;
  6. import com.zswl.dataservice.utils.mqtt.type.OnLineState;
  7. import io.swagger.v3.oas.annotations.media.Schema;
  8. import lombok.AllArgsConstructor;
  9. import lombok.Data;
  10. import lombok.NoArgsConstructor;
  11. import org.springframework.data.mongodb.core.mapping.DBRef;
  12. import org.springframework.data.mongodb.core.mapping.Document;
  13. /**
  14. * 物联网设备信息
  15. *
  16. * @author TRX
  17. * @date 2024/5/14
  18. */
  19. @Data
  20. @Document
  21. @NoArgsConstructor
  22. @AllArgsConstructor
  23. public class DeviceInfo extends SuperEntity {
  24. @Schema(description = "设备ID")
  25. private String deviceId;
  26. @Schema(description = "设备名称")
  27. private String deviceName;
  28. @Schema(description = "在线状态")
  29. private OnLineState onLineState;
  30. @Schema(description = "数据状态")
  31. private DataState state = DataState.Enable;
  32. @Schema(description = "ip地址")
  33. private String ip;
  34. @Schema(description = "激活时间")
  35. private Long activityTime;
  36. @Schema(description = "最后上线时间")
  37. private Long lastOnlineTime;
  38. @Schema(description = "所属项目")
  39. @DBRef(lazy = true)
  40. private ProjectInfo projectInfo;
  41. @Schema(description = "固件版本")
  42. private String firmwareVersion;
  43. @Schema(description = "连接参数")
  44. private JSONObject connectParam;
  45. @Schema(description = "最后离线时间")
  46. private Long lastOffLineTime;
  47. @Schema(description = "设备本地日志上报")
  48. private Boolean isReportLogs = Boolean.TRUE;
  49. @Schema(description = "物联网模版信息")
  50. @DBRef(lazy = true)
  51. private IotTemplate iotTemplate;
  52. }