DeviceInfo.java 2.0 KB

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